MAST
|
This class inherits from MAST::GeomElem and provides an interface to initialize FE objects on sub-elements obtained from intersection of level-set function with a reference element. More...
#include <level_set_intersected_elem.h>
Public Member Functions | |
LevelSetIntersectedElem () | |
virtual | ~LevelSetIntersectedElem () |
virtual const libMesh::Elem & | get_quadrature_elem () const |
virtual const libMesh::Elem & | get_quadrature_local_elem () const |
bool | if_elem_has_level_set_boundary () const |
bool | if_subelem_has_side_on_level_set_boundary () const |
int | get_subelem_side_on_level_set_boundary () const |
virtual void | init (const libMesh::Elem &elem, const MAST::SystemInitialization &sys_init) |
This method should not get called for this class. More... | |
virtual void | init (const libMesh::Elem &elem, const MAST::SystemInitialization &sys_init, MAST::LevelSetIntersection &intersection) |
Initializes the object for a sub element obtained from the level-set intersection of a reference element. More... | |
virtual std::unique_ptr< MAST::FEBase > | init_fe (bool init_grads, bool init_second_order_derivative, int extra_quadrature_order=0) const |
initializes the finite element shape function and quadrature object with the order of quadrature rule changed based on the extra_quadrature_order . More... | |
virtual std::unique_ptr< MAST::FEBase > | init_side_fe (unsigned int s, bool init_grads, int extra_quadrature_order=0) const |
initializes the finite element shape function and quadrature object for the side with the order of quadrature rule changed based on the extra_quadrature_order More... | |
Public Member Functions inherited from MAST::GeomElem | |
GeomElem () | |
virtual | ~GeomElem () |
virtual const libMesh::Elem & | get_reference_elem () const |
virtual const libMesh::Elem & | get_reference_local_elem () const |
unsigned int | dim () const |
unsigned int | n_sides_quadrature_elem () const |
number of sides on quadrature element. More... | |
libMesh::FEType | get_fe_type (unsigned int i) const |
void | set_local_y_vector (const RealVectorX &y_vec) |
for 1D elements the transformed coordinate system attached to the element defines the local x-axis along the length of the element. More... | |
virtual void | external_side_loads_for_quadrature_elem (std::multimap< libMesh::boundary_id_type, MAST::BoundaryConditionBase * > &bc, std::map< unsigned int, std::vector< MAST::BoundaryConditionBase * >> &loads) const |
From the given list of boundary loads, this identifies the sides of the quadrature element and the loads in bc that are to be applied on it. More... | |
virtual void | get_boundary_ids_on_quadrature_elem_side (unsigned int s, std::vector< libMesh::boundary_id_type > &bc_ids) const |
bool | use_local_elem () const |
Vector and matrix quantities defined on one- and two-dimensional elements that are oriented in two or three-dimensional spaces may need to be transformed to/from element coordinate system. More... | |
const RealVectorX & | domain_surface_normal () const |
void | transform_point_to_global_coordinate (const libMesh::Point &local_pt, libMesh::Point &global_pt) const |
void | transform_vector_to_global_coordinate (const libMesh::Point &local_vec, libMesh::Point &global_vec) const |
void | transform_vector_to_local_coordinate (const libMesh::Point &global_vec, libMesh::Point &local_vec) const |
void | transform_vector_to_global_coordinate (const RealVectorX &local_vec, RealVectorX &global_vec) const |
void | transform_vector_to_local_coordinate (const RealVectorX &global_vec, RealVectorX &local_vec) const |
const RealMatrixX & | T_matrix () const |
O. More... | |
Protected Attributes | |
const libMesh::Elem * | _sub_elem |
libMesh::Elem * | _local_sub_elem |
MAST::LevelSetIntersection * | _intersection |
std::vector< libMesh::Node * > | _local_subelem_nodes |
nodes for local element More... | |
Protected Attributes inherited from MAST::GeomElem | |
const MAST::SystemInitialization * | _sys_init |
system initialization object for this element More... | |
bool | _use_local_elem |
const libMesh::Elem * | _ref_elem |
reference element in the mesh for which the data structure is initialized More... | |
libMesh::Elem * | _local_elem |
a local element is created if More... | |
RealVectorX | _local_y |
the y-axis that is used to define the coordinate system for a 1-D element. More... | |
RealVectorX | _domain_surface_normal |
surface normal of the 1D/2D element. More... | |
std::vector< libMesh::Node * > | _local_nodes |
nodes for local element More... | |
RealMatrixX | _T_mat |
Transformation matrix defines T_ij = V_i^t . More... | |
Additional Inherited Members | |
Protected Member Functions inherited from MAST::GeomElem | |
void | _init_local_elem () |
initializes the local element More... | |
void | _init_local_elem_1d () |
initializes the local element More... | |
void | _init_local_elem_2d () |
initializes the local element More... | |
This class inherits from MAST::GeomElem and provides an interface to initialize FE objects on sub-elements obtained from intersection of level-set function with a reference element.
Definition at line 38 of file level_set_intersected_elem.h.
MAST::LevelSetIntersectedElem::LevelSetIntersectedElem | ( | ) |
Definition at line 26 of file level_set_intersected_elem.cpp.
|
virtual |
Definition at line 36 of file level_set_intersected_elem.cpp.
|
virtual |
Reimplemented from MAST::GeomElem.
Definition at line 48 of file level_set_intersected_elem.cpp.
|
virtual |
Reimplemented from MAST::GeomElem.
Definition at line 57 of file level_set_intersected_elem.cpp.
int MAST::LevelSetIntersectedElem::get_subelem_side_on_level_set_boundary | ( | ) | const |
Definition at line 86 of file level_set_intersected_elem.cpp.
bool MAST::LevelSetIntersectedElem::if_elem_has_level_set_boundary | ( | ) | const |
true
if the element has a zero level set boundary that passes through it. Definition at line 66 of file level_set_intersected_elem.cpp.
bool MAST::LevelSetIntersectedElem::if_subelem_has_side_on_level_set_boundary | ( | ) | const |
true
if the sub element has a side that is coincident with the zero level set boundary. Definition at line 76 of file level_set_intersected_elem.cpp.
|
inlinevirtual |
This method should not get called for this class.
Call the overloaded method that accepts the intersection object.
Reimplemented from MAST::GeomElem.
Definition at line 79 of file level_set_intersected_elem.h.
|
virtual |
Initializes the object for a sub element obtained from the level-set intersection of a reference element.
Definition at line 96 of file level_set_intersected_elem.cpp.
|
virtual |
initializes the finite element shape function and quadrature object with the order of quadrature rule changed based on the extra_quadrature_order
.
Reimplemented from MAST::GeomElem.
Definition at line 114 of file level_set_intersected_elem.cpp.
|
virtual |
initializes the finite element shape function and quadrature object for the side with the order of quadrature rule changed based on the extra_quadrature_order
Reimplemented from MAST::GeomElem.
Definition at line 129 of file level_set_intersected_elem.cpp.
|
protected |
Definition at line 121 of file level_set_intersected_elem.h.
|
protected |
Definition at line 119 of file level_set_intersected_elem.h.
|
protected |
nodes for local element
Definition at line 126 of file level_set_intersected_elem.h.
|
protected |
Definition at line 118 of file level_set_intersected_elem.h.