MAST
|
This class specializes the MAST::FEBase class for level-set applications where integration is to be performed on a sub-cell inside an element. More...
#include <sub_cell_fe.h>
Public Member Functions | |
SubCellFE (const MAST::SystemInitialization &sys, const MAST::LevelSetIntersection &intersection) | |
virtual | ~SubCellFE () |
virtual void | init (const MAST::GeomElem &elem, bool init_grads, const std::vector< libMesh::Point > *pts=nullptr) |
This assumes that elem is the sub-cell and that the original element will be available as the parent of this element. More... | |
virtual void | init_for_side (const MAST::GeomElem &elem, unsigned int s, bool if_calculate_dphi) |
This assumes that elem is the sub-cell and that the original element will be available as the parent of this element. More... | |
virtual const std::vector< Real > & | get_JxW () const |
virtual const std::vector< libMesh::Point > & | get_qpoints () const |
Public Member Functions inherited from MAST::FEBase | |
FEBase (const MAST::SystemInitialization &sys) | |
virtual | ~FEBase () |
void | set_extra_quadrature_order (int n) |
this is used, in addition to libMesh::System::extra_quadrature_order to set the quadrature rule. More... | |
void | set_evaluate_second_order_derivatives (bool f) |
sets the flag for evaluation of second order derivative More... | |
libMesh::FEType | get_fe_type () const |
virtual const std::vector< libMesh::Point > & | get_xyz () const |
physical location of the quadrature point in the global coordinate system for the reference element More... | |
virtual unsigned int | n_shape_functions () const |
virtual const std::vector< std::vector< Real > > & | get_phi () const |
virtual const std::vector< std::vector< libMesh::RealVectorValue > > & | get_dphi () const |
virtual const std::vector< std::vector< libMesh::RealTensorValue > > & | get_d2phi () const |
virtual const std::vector< Real > & | get_dxidx () const |
virtual const std::vector< Real > & | get_dxidy () const |
virtual const std::vector< Real > & | get_dxidz () const |
virtual const std::vector< Real > & | get_detadx () const |
virtual const std::vector< Real > & | get_detady () const |
virtual const std::vector< Real > & | get_detadz () const |
virtual const std::vector< Real > & | get_dzetadx () const |
virtual const std::vector< Real > & | get_dzetady () const |
virtual const std::vector< Real > & | get_dzetadz () const |
virtual const std::vector< libMesh::RealVectorValue > & | get_dxyzdxi () const |
virtual const std::vector< libMesh::RealVectorValue > & | get_dxyzdeta () const |
virtual const std::vector< libMesh::RealVectorValue > & | get_dxyzdzeta () const |
virtual const std::vector< std::vector< Real > > & | get_dphidxi () const |
virtual const std::vector< std::vector< Real > > & | get_dphideta () const |
virtual const std::vector< std::vector< Real > > & | get_dphidzeta () const |
virtual const std::vector< libMesh::Point > & | get_normals_for_reference_coordinate () const |
normals defined in the global coordinate system for the reference element More... | |
virtual const std::vector< libMesh::Point > & | get_normals_for_local_coordinate () const |
normals defined in the coordinate system for the local reference element. More... | |
virtual const libMesh::QBase & | get_qrule () const |
Protected Attributes | |
const MAST::LevelSetIntersection & | _intersection |
std::vector< Real > | _subcell_JxW |
Protected Attributes inherited from MAST::FEBase | |
const MAST::SystemInitialization & | _sys |
unsigned int | _extra_quadrature_order |
bool | _init_second_order_derivatives |
bool | _initialized |
const MAST::GeomElem * | _elem |
libMesh::FEBase * | _fe |
libMesh::QBase * | _qrule |
std::vector< libMesh::Point > | _qpoints |
std::vector< libMesh::Point > | _global_xyz |
std::vector< libMesh::Point > | _local_normals |
std::vector< libMesh::Point > | _global_normals |
This class specializes the MAST::FEBase class for level-set applications where integration is to be performed on a sub-cell inside an element.
This requires that the quadrature be initialized using the points in the sub-cell, but evaluated on the parent element. This way, the shape functions of the original element are used, and the quadrature weights (JxW) are provided by the sub-element.
Definition at line 40 of file sub_cell_fe.h.
MAST::SubCellFE::SubCellFE | ( | const MAST::SystemInitialization & | sys, |
const MAST::LevelSetIntersection & | intersection | ||
) |
Definition at line 33 of file sub_cell_fe.cpp.
|
virtual |
Definition at line 42 of file sub_cell_fe.cpp.
|
virtual |
Reimplemented from MAST::FEBase.
Definition at line 391 of file sub_cell_fe.cpp.
|
virtual |
Reimplemented from MAST::FEBase.
Definition at line 404 of file sub_cell_fe.cpp.
|
virtual |
This assumes that elem
is the sub-cell and that the original element will be available as the parent of this element.
Reimplemented from MAST::FEBase.
Definition at line 48 of file sub_cell_fe.cpp.
|
virtual |
This assumes that elem
is the sub-cell and that the original element will be available as the parent of this element.
Reimplemented from MAST::FEBase.
Definition at line 215 of file sub_cell_fe.cpp.
|
protected |
Definition at line 75 of file sub_cell_fe.h.
|
protected |
Definition at line 77 of file sub_cell_fe.h.