#include <fe_transformation_base.h>
Public Member Functions | |
H1FETransformation () | |
virtual | ~H1FETransformation () |
virtual void | init_map_phi (const FEGenericBase< OutputShape > &fe) const override |
virtual void | init_map_dphi (const FEGenericBase< OutputShape > &fe) const override |
virtual void | init_map_d2phi (const FEGenericBase< OutputShape > &fe) const override |
virtual void | map_phi (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< OutputShape > &, std::vector< std::vector< OutputShape >> &) const override |
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 override |
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 override |
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 |
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 override |
template<> | |
void | map_curl (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< Real > &, std::vector< std::vector< Real >> &) const |
template<> | |
void | map_curl (const unsigned int dim, const Elem *const, const std::vector< Point > &, const FEGenericBase< RealGradient > &fe, std::vector< std::vector< RealGradient >> &curl_phi) const |
template<> | |
void | map_div (const unsigned int, const Elem *const, const std::vector< Point > &, const FEGenericBase< Real > &, std::vector< std::vector< FEGenericBase< Real >::OutputDivergence >> &) const |
template<> | |
void | map_div (const unsigned int dim, const Elem *const, const std::vector< Point > &, const FEGenericBase< RealGradient > &fe, std::vector< std::vector< FEGenericBase< RealGradient >::OutputDivergence >> &div_phi) const |
Static Public Member Functions | |
static std::unique_ptr< FETransformationBase< OutputShape > > | build (const FEType &type) |
This class handles the computation of the shape functions in the physical domain for H1 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 28 of file fe_transformation_base.h.
|
inline |
Definition at line 44 of file h1_fe_transformation.h.
|
inlinevirtual |
Definition at line 47 of file h1_fe_transformation.h.
|
staticinherited |
Builds an FETransformation object based on the finite element type
Definition at line 28 of file fe_transformation_base.C.
References libMesh::BERNSTEIN, libMesh::CLOUGH, libMesh::FEType::family, libMesh::HERMITE, libMesh::HIERARCHIC, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::L2_HIERARCHIC, libMesh::L2_LAGRANGE, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::MONOMIAL, libMesh::NEDELEC_ONE, libMesh::SCALAR, libMesh::SUBDIVISION, libMesh::SZABAB, and libMesh::XYZ.
|
overridevirtual |
Pre-requests any necessary data from FEMap
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 43 of file h1_fe_transformation.C.
References libMesh::FEMap::get_d2xidxyz2(), libMesh::FEMap::get_dxidx(), and libMesh::FEAbstract::get_fe_map().
|
overridevirtual |
Pre-requests any necessary data from FEMap
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 35 of file h1_fe_transformation.C.
References libMesh::FEMap::get_dxidx(), and libMesh::FEAbstract::get_fe_map().
|
overridevirtual |
Pre-requests any necessary data from FEMap
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 27 of file h1_fe_transformation.C.
|
overridevirtual |
Evaluates the shape function curl in physical coordinates based on H1 conforming finite element transformation.
Implements libMesh::FETransformationBase< OutputShape >.
void libMesh::H1FETransformation< 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 527 of file h1_fe_transformation.C.
void libMesh::H1FETransformation< RealGradient >::map_curl | ( | const unsigned int | dim, |
const Elem * | const, | ||
const std::vector< Point > & | , | ||
const FEGenericBase< RealGradient > & | fe, | ||
std::vector< std::vector< RealGradient >> & | curl_phi | ||
) | const |
Definition at line 537 of file h1_fe_transformation.C.
References 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_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), libMesh::index_range(), and libMesh::Real.
|
overridevirtual |
Evaluates shape function Hessians in physical coordinates based on H1 conforming finite element transformation.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 240 of file h1_fe_transformation.C.
References libMesh::FEMap::get_d2etadxyz2(), libMesh::FEGenericBase< OutputType >::get_d2phideta2(), libMesh::FEGenericBase< OutputType >::get_d2phidetadzeta(), libMesh::FEGenericBase< OutputType >::get_d2phidxi2(), libMesh::FEGenericBase< OutputType >::get_d2phidxideta(), libMesh::FEGenericBase< OutputType >::get_d2phidxidzeta(), libMesh::FEGenericBase< OutputType >::get_d2phidzeta2(), libMesh::FEMap::get_d2xidxyz2(), libMesh::FEMap::get_d2zetadxyz2(), 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_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), and libMesh::index_range().
|
overridevirtual |
Evaluates the shape function divergence in physical coordinates based on H1 conforming finite element transformation.
Implements libMesh::FETransformationBase< OutputShape >.
void libMesh::H1FETransformation< Real >::map_div | ( | const unsigned int | , |
const Elem * | const, | ||
const std::vector< Point > & | , | ||
const FEGenericBase< Real > & | , | ||
std::vector< std::vector< FEGenericBase< Real >::OutputDivergence >> & | |||
) | const |
Definition at line 656 of file h1_fe_transformation.C.
void libMesh::H1FETransformation< RealGradient >::map_div | ( | const unsigned int | dim, |
const Elem * | const, | ||
const std::vector< Point > & | , | ||
const FEGenericBase< RealGradient > & | fe, | ||
std::vector< std::vector< FEGenericBase< RealGradient >::OutputDivergence >> & | div_phi | ||
) | const |
Definition at line 667 of file h1_fe_transformation.C.
References 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_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), libMesh::index_range(), and libMesh::Real.
|
overridevirtual |
Evaluates shape function gradients in physical coordinates for H1 conforming elements. dphi/dx = dphi/dxi * dxi/dx, etc.
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 108 of file h1_fe_transformation.C.
References 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_dzetadx(), libMesh::FEMap::get_dzetady(), libMesh::FEMap::get_dzetadz(), libMesh::FEAbstract::get_fe_map(), and libMesh::index_range().
|
overridevirtual |
Evaluates shape functions in physical coordinates for H1 conforming elements. In this case
Implements libMesh::FETransformationBase< OutputShape >.
Definition at line 52 of file h1_fe_transformation.C.
References libMesh::FEAbstract::get_fe_type(), and libMesh::index_range().