#include <createLibmeshElements.h>
Public Member Functions | |
| createLibmeshElements () | |
| Empty constructor. | |
| const libMesh::Elem * | getElement (const AMP::Mesh::MeshElementID &id) const |
| const libMesh::FEBase * | getFEBase (const AMP::Mesh::MeshElementID &id) const |
| const libMesh::FEType * | getFEType () const |
| const libMesh::QBase * | getQBase (const AMP::Mesh::MeshElementID &id) const |
| void | reinit (const AMP::Mesh::MeshIterator &iterator) |
| void | reinit (const AMP::Mesh::MeshIterator &iterator, libMeshEnums::QuadratureType qtype, libMeshEnums::Order qorder, std::shared_ptr< const libMesh::FEType > type, bool cache_fe=false) |
| virtual | ~createLibmeshElements () |
| De-constructor. | |
Static Public Member Functions | |
| static libMesh::Elem * | createElement (const AMP::Mesh::MeshElement &elem) |
Private Attributes | |
| std::shared_ptr< libMesh::FEBase > | d_base |
| std::vector< libMesh::FEBase * > | d_base_element |
| std::vector< libMesh::Elem * > | d_elements |
| std::vector< AMP::Mesh::MeshElementID > | d_ids |
| std::vector< size_t > | d_index |
| AMP::Mesh::MeshElementID | d_last_id |
| libMeshEnums::Order | d_qorder |
| libMeshEnums::QuadratureType | d_qtype |
| std::shared_ptr< libMesh::QBase > | d_rule |
| std::vector< libMesh::QBase * > | d_rule_element |
| std::shared_ptr< const libMesh::FEType > | d_type |
This is a helper class to create libmesh elements given a MeshIterator. It will cache the elements and allow for fast O(log(n)) access to the libmesh element given the MeshElementID.
Definition at line 31 of file createLibmeshElements.h.
| AMP::Discretization::createLibmeshElements::createLibmeshElements | ( | ) |
Empty constructor.
|
virtual |
De-constructor.
|
static |
Create a libmesh element from an AMP element (user must deallocate)
| const libMesh::Elem * AMP::Discretization::createLibmeshElements::getElement | ( | const AMP::Mesh::MeshElementID & | id | ) | const |
This function returns the libmesh element given a MeshElementID
| [in] | id | MeshElementID for the element of interest |
| const libMesh::FEBase * AMP::Discretization::createLibmeshElements::getFEBase | ( | const AMP::Mesh::MeshElementID & | id | ) | const |
This function returns the FE base given a MeshElementID
| [in] | id | MeshElementID for the element of interest |
|
inline |
This function returns the FE type used to build the elements
Definition at line 90 of file createLibmeshElements.h.
References d_type.
| const libMesh::QBase * AMP::Discretization::createLibmeshElements::getQBase | ( | const AMP::Mesh::MeshElementID & | id | ) | const |
This function returns the quadrature rule used to build the elements
| [in] | id | MeshElementID for the element of interest |
| void AMP::Discretization::createLibmeshElements::reinit | ( | const AMP::Mesh::MeshIterator & | iterator | ) |
This function initializes / re-intializes the class to create the libmesh elements for all of the MeshElements in the given iterator. Note: This version only caches the libmesh elements
| [in] | iterator | MeshElementIterator containing the elements of interest |
| void AMP::Discretization::createLibmeshElements::reinit | ( | const AMP::Mesh::MeshIterator & | iterator, |
| libMeshEnums::QuadratureType | qtype, | ||
| libMeshEnums::Order | qorder, | ||
| std::shared_ptr< const libMesh::FEType > | type, | ||
| bool | cache_fe = false |
||
| ) |
This function initializes / re-intializes the class to create the libmesh elements and the FE base for all of the MeshElements in the given iterator. Note: This version caches the libmesh elements and the rule and base, reinitializing with the element. This requires more memory.
| [in] | iterator | MeshElementIterator containing the elements of interest |
| [in] | qtype | Type of the quadrature rule to use for the elements |
| [in] | qorder | Order of the quadrature rule to use for the elements |
| [in] | type | FE type to use for the elements |
| [in] | cache_fe | Do we want to cahce fe operators (true) or reinitialize the the libmesh object (false). If we cache the operators it will increase performance but significantly increase memory requirements. Note: these functions are not thread safe. |
|
private |
Definition at line 104 of file createLibmeshElements.h.
|
private |
Definition at line 107 of file createLibmeshElements.h.
|
private |
Definition at line 106 of file createLibmeshElements.h.
|
private |
Definition at line 98 of file createLibmeshElements.h.
|
private |
Definition at line 99 of file createLibmeshElements.h.
|
mutableprivate |
Definition at line 103 of file createLibmeshElements.h.
|
private |
Definition at line 101 of file createLibmeshElements.h.
|
private |
Definition at line 100 of file createLibmeshElements.h.
|
private |
Definition at line 105 of file createLibmeshElements.h.
|
private |
Definition at line 108 of file createLibmeshElements.h.
|
private |
Definition at line 102 of file createLibmeshElements.h.
Referenced by getFEType().
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:42. Comments on this page |