|
libMesh
|
This class handles the computation of the shape functions in the physical domain. More...
#include <fe_transformation_base.h>
Public Member Functions | |
| FETransformationBase ()=default | |
| virtual | ~FETransformationBase ()=default |
| virtual void | init_map_phi (const FEGenericBase< OutputShape > &fe) const =0 |
| Pre-requests any necessary data from FEMap. | |
| virtual void | init_map_dphi (const FEGenericBase< OutputShape > &fe) const =0 |
| Pre-requests any necessary data from FEMap. | |
| virtual void | init_map_d2phi (const FEGenericBase< OutputShape > &fe) const =0 |
| Pre-requests any necessary data from FEMap. | |
| virtual void | map_phi (const unsigned int dim, const Elem *const elem, const std::vector< Point > &qp, const FEGenericBase< OutputShape > &fe, std::vector< std::vector< OutputShape > > &phi, bool add_p_level=true) const =0 |
| Evaluates shape functions in physical coordinates based on proper finite element transformation. | |
| virtual void | map_dphi (const unsigned int dim, const Elem *const elem, const std::vector< Point > &qp, const FEGenericBase< OutputShape > &fe, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputGradient > > &dphi, std::vector< std::vector< OutputShape > > &dphidx, std::vector< std::vector< OutputShape > > &dphidy, std::vector< std::vector< OutputShape > > &dphidz) const =0 |
| Evaluates shape function gradients in physical coordinates based on proper finite element transformation. | |
| virtual void | map_d2phi (const unsigned int dim, const std::vector< Point > &qp, const FEGenericBase< OutputShape > &fe, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputTensor > > &d2phi, std::vector< std::vector< OutputShape > > &d2phidx2, std::vector< std::vector< OutputShape > > &d2phidxdy, std::vector< std::vector< OutputShape > > &d2phidxdz, std::vector< std::vector< OutputShape > > &d2phidy2, std::vector< std::vector< OutputShape > > &d2phidydz, std::vector< std::vector< OutputShape > > &d2phidz2) const =0 |
| Evaluates shape function Hessians in physical coordinates based on proper finite element transformation. | |
| virtual void | map_curl (const unsigned int dim, const Elem *const elem, const std::vector< Point > &qp, const FEGenericBase< OutputShape > &fe, std::vector< std::vector< OutputShape > > &curl_phi) const =0 |
| Evaluates the shape function curl in physical coordinates based on proper finite element transformation. | |
| virtual void | map_div (const unsigned int dim, const Elem *const elem, const std::vector< Point > &qp, const FEGenericBase< OutputShape > &fe, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputDivergence > > &div_phi) const =0 |
| Evaluates the shape function divergence in physical coordinates based on proper finite element transformation. | |
Static Public Member Functions | |
| static std::unique_ptr< FETransformationBase< OutputShape > > | build (const FEType &type) |
| Builds an FETransformation object based on the finite element type. | |
This class handles the computation of the shape functions in the physical domain.
Derived classes implement the particular mapping: H1, HCurl, HDiv, or L2. This class assumes the FEGenericBase object has been initialized in the reference domain (i.e. init_shape_functions has been called).
Definition at line 43 of file fe_transformation_base.h.
|
default |
|
virtualdefault |
|
static |
Builds an FETransformation object based on the finite element type.
Definition at line 32 of file fe_transformation_base.C.
References libMesh::BERNSTEIN, libMesh::CLOUGH, libMesh::Utility::enum_to_string(), libMesh::FEType::family, libMesh::HERMITE, libMesh::HIERARCHIC, libMesh::HIERARCHIC_VEC, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::L2_HIERARCHIC, libMesh::L2_HIERARCHIC_VEC, libMesh::L2_LAGRANGE, libMesh::L2_LAGRANGE_VEC, libMesh::L2_RAVIART_THOMAS, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::MONOMIAL, libMesh::MONOMIAL_VEC, libMesh::NEDELEC_ONE, libMesh::RATIONAL_BERNSTEIN, libMesh::RAVIART_THOMAS, libMesh::SCALAR, libMesh::SIDE_HIERARCHIC, libMesh::SUBDIVISION, libMesh::SZABAB, and libMesh::XYZ.
|
pure virtual |
Pre-requests any necessary data from FEMap.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Pre-requests any necessary data from FEMap.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Pre-requests any necessary data from FEMap.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Evaluates the shape function curl in physical coordinates based on proper finite element transformation.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Evaluates shape function Hessians in physical coordinates based on proper finite element transformation.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Evaluates the shape function divergence in physical coordinates based on proper finite element transformation.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HDivFETransformation< OutputShape >, and libMesh::HCurlFETransformation< OutputShape >.
|
pure virtual |
Evaluates shape function gradients in physical coordinates based on proper finite element transformation.
Implemented in libMesh::H1FETransformation< OutputShape >, libMesh::HCurlFETransformation< OutputShape >, and libMesh::HDivFETransformation< OutputShape >.
|
pure virtual |
Evaluates shape functions in physical coordinates based on proper finite element transformation.
Implemented in libMesh::HCurlFETransformation< OutputShape >, libMesh::HDivFETransformation< OutputShape >, and libMesh::H1FETransformation< OutputShape >.