libMesh
|
This class handles the computation of the shape functions in the physical domain for HCurl conforming elements. More...
#include <fe_transformation_base.h>
Public Member Functions | |
HCurlFETransformation () | |
virtual | ~HCurlFETransformation ()=default |
virtual void | init_map_phi (const FEGenericBase< OutputShape > &fe) const override |
Pre-requests any necessary data from FEMap. More... | |
virtual void | init_map_dphi (const FEGenericBase< OutputShape > &fe) const override |
Pre-requests any necessary data from FEMap. More... | |
virtual void | init_map_d2phi (const FEGenericBase< OutputShape > &fe) const override |
Pre-requests any necessary data from FEMap. More... | |
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 override |
Evaluates shape functions in physical coordinates for \( H(curl) \) conforming elements. More... | |
virtual void | map_dphi (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< OutputShape > &, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputGradient >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &) const override |
Evaluates shape function gradients in physical coordinates for \( H(curl) \) conforming elements. More... | |
virtual void | map_d2phi (const unsigned int, const std::vector< Point > &, const FEGenericBase< OutputShape > &, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputTensor >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &, std::vector< std::vector< OutputShape >> &) const override |
Evaluates shape function Hessians in physical coordinates based on \( H(curl) \) conforming finite element transformation. More... | |
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 override |
Evaluates the shape function curl in physical coordinates based on \( H(curl) \) conforming finite element transformation. More... | |
virtual void | map_div (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< OutputShape > &, std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputDivergence >> &) const override |
Evaluates the shape function divergence in physical coordinates based on \( H(curl) \) conforming finite element transformation. More... | |
template<> | |
void | init_map_phi (const FEGenericBase< Real > &) const |
template<> | |
void | init_map_dphi (const FEGenericBase< Real > &) const |
template<> | |
void | init_map_d2phi (const FEGenericBase< Real > &) const |
template<> | |
void | map_phi (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< Real > &, std::vector< std::vector< Real >> &, bool) const |
template<> | |
void | map_curl (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< Real > &, std::vector< std::vector< Real >> &) const |
Static Public Member Functions | |
static std::unique_ptr< FETransformationBase< OutputShape > > | build (const FEType &type) |
Builds an FETransformation object based on the finite element type. More... | |
This class handles the computation of the shape functions in the physical domain for HCurl conforming elements.
This class assumes the FEGenericBase
object has been initialized in the reference domain (i.e. init_shape_functions
has been called).
Definition at line 29 of file fe_transformation_base.h.
|
inline |
Definition at line 40 of file hcurl_fe_transformation.h.
|
virtualdefault |
|
staticinherited |
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.
|
overridevirtual |
Pre-requests any necessary data from FEMap.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 42 of file hcurl_fe_transformation.C.
References libMesh::FEMap::get_d2xidxyz2(), libMesh::FEMap::get_dxidx(), and libMesh::FEAbstract::get_fe_map().
void libMesh::HCurlFETransformation< Real >::init_map_d2phi | ( | const FEGenericBase< Real > & | ) | const |
Definition at line 285 of file hcurl_fe_transformation.C.
|
overridevirtual |
Pre-requests any necessary data from FEMap.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 34 of file hcurl_fe_transformation.C.
References libMesh::FEMap::get_dxidx(), and libMesh::FEAbstract::get_fe_map().
void libMesh::HCurlFETransformation< Real >::init_map_dphi | ( | const FEGenericBase< Real > & | ) | const |
Definition at line 279 of file hcurl_fe_transformation.C.
|
overridevirtual |
Pre-requests any necessary data from FEMap.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 26 of file hcurl_fe_transformation.C.
References libMesh::FEMap::get_dxidx(), and libMesh::FEAbstract::get_fe_map().
void libMesh::HCurlFETransformation< Real >::init_map_phi | ( | const FEGenericBase< Real > & | ) | const |
Definition at line 273 of file hcurl_fe_transformation.C.
|
overridevirtual |
Evaluates the shape function curl in physical coordinates based on \( H(curl) \) conforming finite element transformation.
In 2-D, the transformation is \( \nabla \times \phi = J^{-1} * \nabla \times \hat{\phi} \) where \( J = \det( dx/d\xi ) \) In 3-D, the transformation is \( \nabla \times \phi = J^{-1} dx/d\xi \nabla \times \hat{\phi} \)
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 161 of file hcurl_fe_transformation.C.
References dim, libMesh::FEMap::get_detadx(), libMesh::FEMap::get_detady(), libMesh::FEMap::get_detadz(), libMesh::FEGenericBase< OutputType >::get_dphideta(), libMesh::FEGenericBase< OutputType >::get_dphidxi(), libMesh::FEGenericBase< OutputType >::get_dphidzeta(), libMesh::FEMap::get_dxidx(), libMesh::FEMap::get_dxidy(), libMesh::FEMap::get_dxidz(), libMesh::FEMap::get_dxyzdeta(), libMesh::FEMap::get_dxyzdxi(), libMesh::FEMap::get_dxyzdzeta(), libMesh::FEAbstract::get_fe_map(), libMesh::FEMap::get_jacobian(), libMesh::index_range(), and libMesh::Real.
void libMesh::HCurlFETransformation< Real >::map_curl | ( | const unsigned int | , |
const Elem * | const, | ||
const std::vector< Point > & | , | ||
const FEGenericBase< Real > & | , | ||
std::vector< std::vector< Real >> & | |||
) | const |
Definition at line 302 of file hcurl_fe_transformation.C.
|
inlineoverridevirtual |
Evaluates shape function Hessians in physical coordinates based on \( H(curl) \) conforming finite element transformation.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 96 of file hcurl_fe_transformation.h.
|
inlineoverridevirtual |
Evaluates the shape function divergence in physical coordinates based on \( H(curl) \) conforming finite element transformation.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 128 of file hcurl_fe_transformation.h.
|
inlineoverridevirtual |
Evaluates shape function gradients in physical coordinates for \( H(curl) \) conforming elements.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 79 of file hcurl_fe_transformation.h.
|
overridevirtual |
Evaluates shape functions in physical coordinates for \( H(curl) \) conforming elements.
In this case \( \phi = (dx/d\xi)^{-T} \hat{\phi} \), where \( (dx/d\xi)^{-T} \) is the inverse-transpose of the Jacobian matrix of the element map.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 53 of file hcurl_fe_transformation.C.
References dim, libMesh::FEMap::get_detadx(), libMesh::FEMap::get_detady(), libMesh::FEMap::get_detadz(), libMesh::FEMap::get_dxidx(), libMesh::FEMap::get_dxidy(), libMesh::FEMap::get_dxidz(), libMesh::FEMap::get_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), libMesh::FEAbstract::get_fe_type(), libMesh::index_range(), and libMesh::FEInterface::shape().
void libMesh::HCurlFETransformation< Real >::map_phi | ( | const unsigned int | , |
const Elem * | const, | ||
const std::vector< Point > & | , | ||
const FEGenericBase< Real > & | , | ||
std::vector< std::vector< Real >> & | , | ||
bool | |||
) | const |
Definition at line 291 of file hcurl_fe_transformation.C.