libMesh
Public Member Functions | Static Public Member Functions | List of all members
libMesh::HCurlFETransformation< OutputShape > Class Template Reference

This class handles the computation of the shape functions in the physical domain for HCurl conforming elements. More...

#include <fe_transformation_base.h>

Inheritance diagram for libMesh::HCurlFETransformation< OutputShape >:
[legend]

Public Member Functions

 HCurlFETransformation ()
 
virtual ~HCurlFETransformation ()
 
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) 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...
 

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...
 

Detailed Description

template<typename OutputShape>
class libMesh::HCurlFETransformation< OutputShape >

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).

Author
Paul T. Bauman
Date
2012

Definition at line 29 of file fe_transformation_base.h.

Constructor & Destructor Documentation

◆ HCurlFETransformation()

template<typename OutputShape >
libMesh::HCurlFETransformation< OutputShape >::HCurlFETransformation ( )

Definition at line 40 of file hcurl_fe_transformation.h.

41  : FETransformationBase<OutputShape>(){}

◆ ~HCurlFETransformation()

template<typename OutputShape >
virtual libMesh::HCurlFETransformation< OutputShape >::~HCurlFETransformation ( )
virtual

Definition at line 43 of file hcurl_fe_transformation.h.

43 {}

Member Function Documentation

◆ build()

template<typename OutputShape >
static std::unique_ptr<FETransformationBase<OutputShape> > libMesh::FETransformationBase< OutputShape >::build ( const FEType type)
staticinherited

Builds an FETransformation object based on the finite element type.

◆ init_map_d2phi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::init_map_d2phi ( const FEGenericBase< OutputShape > &  fe) const
overridevirtual

Pre-requests any necessary data from FEMap.

Implements libMesh::FETransformationBase< OutputShape >.

◆ init_map_dphi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::init_map_dphi ( const FEGenericBase< OutputShape > &  fe) const
overridevirtual

Pre-requests any necessary data from FEMap.

Implements libMesh::FETransformationBase< OutputShape >.

◆ init_map_phi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::init_map_phi ( const FEGenericBase< OutputShape > &  fe) const
overridevirtual

Pre-requests any necessary data from FEMap.

Implements libMesh::FETransformationBase< OutputShape >.

◆ map_curl()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::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
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 >.

◆ map_d2phi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::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
overridevirtual

Evaluates shape function Hessians in physical coordinates based on $ H(curl) $ conforming finite element transformation.

Implements libMesh::FETransformationBase< OutputShape >.

Definition at line 95 of file hcurl_fe_transformation.h.

105  {
106  libmesh_warning("WARNING: Shape function Hessians for HCurl elements are not currently being computed!");
107  }

◆ map_div()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::map_div ( const unsigned int  ,
const Elem const,
const std::vector< Point > &  ,
const FEGenericBase< OutputShape > &  ,
std::vector< std::vector< typename FEGenericBase< OutputShape >::OutputDivergence >> &   
) const
overridevirtual

Evaluates the shape function divergence in physical coordinates based on $ H(curl) $ conforming finite element transformation.

Implements libMesh::FETransformationBase< OutputShape >.

Definition at line 127 of file hcurl_fe_transformation.h.

132  {
133  libmesh_warning("WARNING: Shape function divergences for HCurl elements are not currently being computed!");
134  }

◆ map_dphi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::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
overridevirtual

Evaluates shape function gradients in physical coordinates for $ H(curl) $ conforming elements.

Implements libMesh::FETransformationBase< OutputShape >.

Definition at line 78 of file hcurl_fe_transformation.h.

86  {
87  libmesh_warning("WARNING: Shape function gradients for HCurl elements are not currently being computed!");
88  }

◆ map_phi()

template<typename OutputShape >
virtual void libMesh::HCurlFETransformation< OutputShape >::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 
) const
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.

Note
Here $ x, \xi $ are vectors.

Implements libMesh::FETransformationBase< OutputShape >.


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