21 #ifndef __mast_fe_base_h__ 22 #define __mast_fe_base_h__ 28 #include "libmesh/elem.h" 29 #include "libmesh/fe_base.h" 30 #include "libmesh/quadrature.h" 36 class SystemInitialization;
73 const std::vector<libMesh::Point>* pts =
nullptr);
85 bool if_calculate_dphi);
91 virtual const std::vector<Real>&
98 virtual const std::vector<libMesh::Point>&
104 virtual const std::vector<std::vector<Real> >&
107 virtual const std::vector<std::vector<libMesh::RealVectorValue> >&
110 virtual const std::vector<std::vector<libMesh::RealTensorValue>>&
113 virtual const std::vector<Real>&
116 virtual const std::vector<Real>&
119 virtual const std::vector<Real>&
122 virtual const std::vector<Real>&
125 virtual const std::vector<Real>&
128 virtual const std::vector<Real>&
131 virtual const std::vector<Real>&
134 virtual const std::vector<Real>&
137 virtual const std::vector<Real>&
140 virtual const std::vector<libMesh::RealVectorValue>&
143 virtual const std::vector<libMesh::RealVectorValue>&
146 virtual const std::vector<libMesh::RealVectorValue>&
149 virtual const std::vector<std::vector<Real> >&
152 virtual const std::vector<std::vector<Real> >&
155 virtual const std::vector<std::vector<Real> >&
162 virtual const std::vector<libMesh::Point>&
169 virtual const std::vector<libMesh::Point>&
173 virtual const std::vector<libMesh::Point>&
176 virtual const libMesh::QBase&
196 #endif // __mast_fe_base_h__
virtual const std::vector< Real > & get_dxidy() const
std::vector< libMesh::Point > _global_normals
virtual const std::vector< Real > & get_dzetadz() const
virtual const std::vector< Real > & get_dxidz() const
virtual const std::vector< libMesh::Point > & get_qpoints() const
virtual const std::vector< Real > & get_detadz() const
FEBase(const MAST::SystemInitialization &sys)
virtual const std::vector< Real > & get_dzetady() const
bool _init_second_order_derivatives
virtual const std::vector< libMesh::Point > & get_xyz() const
physical location of the quadrature point in the global coordinate system for the reference element ...
virtual const std::vector< std::vector< libMesh::RealTensorValue > > & get_d2phi() const
virtual unsigned int n_shape_functions() const
std::vector< libMesh::Point > _local_normals
virtual const std::vector< std::vector< libMesh::RealVectorValue > > & get_dphi() const
std::vector< libMesh::Point > _qpoints
virtual const std::vector< std::vector< Real > > & get_dphidxi() const
virtual const std::vector< libMesh::RealVectorValue > & get_dxyzdeta() const
virtual const std::vector< std::vector< Real > > & get_phi() const
virtual const std::vector< libMesh::Point > & get_normals_for_reference_coordinate() const
normals defined in the global coordinate system for the reference element
virtual void init_for_side(const MAST::GeomElem &elem, unsigned int s, bool if_calculate_dphi)
Initializes the quadrature and finite element for element side integration.
virtual const std::vector< std::vector< Real > > & get_dphideta() const
const MAST::SystemInitialization & _sys
void set_evaluate_second_order_derivatives(bool f)
sets the flag for evaluation of second order derivative
void set_extra_quadrature_order(int n)
this is used, in addition to libMesh::System::extra_quadrature_order to set the quadrature rule...
virtual const std::vector< libMesh::RealVectorValue > & get_dxyzdzeta() const
std::vector< libMesh::Point > _global_xyz
virtual const std::vector< libMesh::Point > & get_normals_for_local_coordinate() const
normals defined in the coordinate system for the local reference element.
This class acts as a wrapper around libMesh::Elem for the purpose of providing a uniform interface fo...
virtual void init(const MAST::GeomElem &elem, bool init_grads, const std::vector< libMesh::Point > *pts=nullptr)
Initializes the quadrature and finite element for element volume integration.
virtual const std::vector< Real > & get_dzetadx() const
libMesh::FEType get_fe_type() const
virtual const std::vector< Real > & get_JxW() const
virtual const std::vector< Real > & get_detady() const
virtual const std::vector< Real > & get_detadx() const
virtual const std::vector< libMesh::RealVectorValue > & get_dxyzdxi() const
virtual const std::vector< Real > & get_dxidx() const
virtual const std::vector< std::vector< Real > > & get_dphidzeta() const
const MAST::GeomElem * _elem
virtual const libMesh::QBase & get_qrule() const
unsigned int _extra_quadrature_order