IBAMR  IBAMR version 0.19.
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
IBTK::Quad9Mapping Class Referenceabstract

#include <ibtk/FEMapping.h>

Inheritance diagram for IBTK::Quad9Mapping:
Inheritance graph
[legend]

Public Types

using key_type = quadrature_key_type
 

Public Member Functions

 Quad9Mapping (const key_type quad_key, const FEUpdateFlags update_flags)
 
virtual void reinit (const libMesh::Elem *elem) override
 
virtual const std::vector< double > & getJxW () const override
 
virtual const std::vector< double > & getJxW () const =0
 
virtual const std::vector< libMesh::Point > & getQuadraturePoints () const override
 
virtual const std::vector< libMesh::Point > & getQuadraturePoints () const =0
 
virtual const std::vector< Eigen::Matrix< double, spacedim, dim > > & getContravariants () const override
 
virtual const std::vector< Eigen::Matrix< double, spacedim, dim > > & getContravariants () const =0
 
virtual const std::vector< Eigen::Matrix< double, spacedim, dim > > & getCovariants () const override
 
virtual const std::vector< Eigen::Matrix< double, spacedim, dim > > & getCovariants () const =0
 
std::unique_ptr< FEMapping< 2, 2 > > build (const key_type key, const FEUpdateFlags update_flags)
 
std::unique_ptr< FEMapping< 3, 3 > > build (const key_type key, const FEUpdateFlags update_flags)
 

Static Public Member Functions

static std::unique_ptr< FEMapping< dim, spacedim > > build (const key_type key, const FEUpdateFlags update_flags)
 

Protected Member Functions

virtual void fillTransforms (const libMesh::Elem *elem) override
 
virtual bool isAffine () const
 
virtual void fillJacobians () override
 
virtual void fillJxW () override
 
virtual void fillQuadraturePoints (const libMesh::Elem *elem) override
 

Protected Attributes

std::size_t d_n_oned_q_points
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > d_phi
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > d_dphi
 
const QuadratureData d_quadrature_data
 
FEUpdateFlags d_update_flags
 
std::vector< Eigen::Matrix< double, spacedim, dim > > d_contravariants
 
std::vector< Eigen::Matrix< double, spacedim, dim > > d_covariants
 
std::vector< doubled_Jacobians
 
std::vector< doubled_JxW
 
std::vector< libMesh::Point > d_quadrature_points
 
PointMap< dim, spacedim, n_nodes > d_point_map
 

Detailed Description

Specialization for QUAD9 elements with codimension zero.

Member Typedef Documentation

◆ key_type

Key type. Completely describes (excepting p-refinement) a libMesh quadrature rule.

Constructor & Destructor Documentation

◆ Quad9Mapping()

IBTK::Quad9Mapping::Quad9Mapping ( const key_type  quad_key,
const FEUpdateFlags  update_flags 
)

Constructor.

Member Function Documentation

◆ fillTransforms()

virtual void IBTK::Quad9Mapping::fillTransforms ( const libMesh::Elem *  elem)
overrideprotectedvirtual

Compute the contravariants and covariants. In general each mapping will have to overload this function.

Implements IBTK::FEMapping< dim, spacedim >.

◆ reinit()

virtual void IBTK::FENodalMapping< dim, spacedim, n_nodes >::reinit ( const libMesh::Elem *  elem)
overridevirtualinherited

Recalculate relevant quantities for the provided element.

Implements IBTK::FEMapping< dim, spacedim >.

◆ getJxW() [1/2]

virtual const std::vector<double>& IBTK::FENodalMapping< dim, spacedim, n_nodes >::getJxW
inlineoverridevirtualinherited

◆ getJxW() [2/2]

template<int dim, int spacedim = dim>
virtual const std::vector<double>& IBTK::FEMapping< dim, spacedim >::getJxW ( ) const
pure virtualinherited

Get the current jacobian times quadrature weight (JxW) values.

◆ getQuadraturePoints() [1/2]

virtual const std::vector<libMesh::Point>& IBTK::FENodalMapping< dim, spacedim, n_nodes >::getQuadraturePoints
inlineoverridevirtualinherited

◆ getQuadraturePoints() [2/2]

template<int dim, int spacedim = dim>
virtual const std::vector<libMesh::Point>& IBTK::FEMapping< dim, spacedim >::getQuadraturePoints ( ) const
pure virtualinherited

Get the positions of the quadrature points on the current element.

◆ getContravariants() [1/2]

virtual const std::vector<Eigen::Matrix<double, spacedim, dim> >& IBTK::FENodalMapping< dim, spacedim, n_nodes >::getContravariants
inlineoverridevirtualinherited

◆ getContravariants() [2/2]

template<int dim, int spacedim = dim>
virtual const std::vector<Eigen::Matrix<double, spacedim, dim> >& IBTK::FEMapping< dim, spacedim >::getContravariants ( ) const
pure virtualinherited

Get the contravariants.

◆ getCovariants() [1/2]

virtual const std::vector<Eigen::Matrix<double, spacedim, dim> >& IBTK::FENodalMapping< dim, spacedim, n_nodes >::getCovariants
inlineoverridevirtualinherited

◆ getCovariants() [2/2]

template<int dim, int spacedim = dim>
virtual const std::vector<Eigen::Matrix<double, spacedim, dim> >& IBTK::FEMapping< dim, spacedim >::getCovariants ( ) const
pure virtualinherited

Get the covariants.

◆ isAffine()

virtual bool IBTK::FENodalMapping< dim, spacedim, n_nodes >::isAffine
protectedvirtualinherited

Boolean indicating that the mapping is affine - if it is we can skip some computations. The default implementation returns false. Inheriting classes should overload this they represent affine mappings.

◆ fillJacobians()

virtual void IBTK::FENodalMapping< dim, spacedim, n_nodes >::fillJacobians
overrideprotectedvirtualinherited

Compute determinants of contravariants (the Jacobians). The default implementation given here is usually the correct one.

Implements IBTK::FEMapping< dim, spacedim >.

◆ fillJxW()

virtual void IBTK::FENodalMapping< dim, spacedim, n_nodes >::fillJxW
overrideprotectedvirtualinherited

Compute JxW values. The default implementation given here is usually the correct one.

Implements IBTK::FEMapping< dim, spacedim >.

◆ fillQuadraturePoints()

virtual void IBTK::FENodalMapping< dim, spacedim, n_nodes >::fillQuadraturePoints ( const libMesh::Elem *  elem)
overrideprotectedvirtualinherited

Compute the positions of quadrature points on the current element.

Implements IBTK::FEMapping< dim, spacedim >.

◆ build() [1/3]

template<int dim, int spacedim = dim>
static std::unique_ptr<FEMapping<dim, spacedim> > IBTK::FEMapping< dim, spacedim >::build ( const key_type  key,
const FEUpdateFlags  update_flags 
)
staticinherited

Return a pointer to the correct mapping for a given quadrature key and update flags object.

◆ build() [2/3]

std::unique_ptr< FEMapping< 2, 2 > > IBTK::FEMapping< 2, 2 >::build ( const key_type  key,
const FEUpdateFlags  update_flags 
)
inherited

◆ build() [3/3]

std::unique_ptr< FEMapping< 3, 3 > > IBTK::FEMapping< 3, 3 >::build ( const key_type  key,
const FEUpdateFlags  update_flags 
)
inherited

Member Data Documentation

◆ d_n_oned_q_points

std::size_t IBTK::Quad9Mapping::d_n_oned_q_points
protected

Number of 1D quadrature points in the rule used to generate the 2D tensor product rule.

◆ d_phi

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> IBTK::Quad9Mapping::d_phi
protected

Table containing the values of 1D shape functions (which, with a tensor product, define the mapping) at reference quadrature points.

◆ d_dphi

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> IBTK::Quad9Mapping::d_dphi
protected

Table containing the derivatives of 1D shape functions (which, with a tensor product, define the mapping) at reference quadrature points.

◆ d_quadrature_data

const QuadratureData IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_quadrature_data
protectedinherited

Information on the relevant quadrature rule.

◆ d_update_flags

FEUpdateFlags IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_update_flags
protectedinherited

Computed update flags for the mapping.

◆ d_contravariants

std::vector<Eigen::Matrix<double, spacedim, dim> > IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_contravariants
protectedinherited

Array of contravariants.

◆ d_covariants

std::vector<Eigen::Matrix<double, spacedim, dim> > IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_covariants
protectedinherited

Array of covariants (i.e., the transpose of the inverse of the covariants when dim == spacedim)

◆ d_Jacobians

std::vector<double> IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_Jacobians
protectedinherited

Array of Jacobians.

◆ d_JxW

std::vector<double> IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_JxW
protectedinherited

Array of JxW values.

◆ d_quadrature_points

std::vector<libMesh::Point> IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_quadrature_points
protectedinherited

Array of mapped quadrature points.

◆ d_point_map

PointMap<dim, spacedim, n_nodes> IBTK::FENodalMapping< dim, spacedim, n_nodes >::d_point_map
protectedinherited

Object that computes quadrature point locations. This is sufficiently different from the rest of the mapping code that it is implemented in another class.


The documentation for this class was generated from the following file: