Serac
0.1
Serac is an implicit thermal strucural mechanics simulation code.
|
a generalization of mfem::ElementRestriction that works with multiple kinds of element geometries. Instead of doing the "E->L" (gather) and "L->E" (scatter) operations for only one element geometry, this class does them with block "E-vectors", where each element geometry is a separate block. More...
#include <element_restriction.hpp>
Public Member Functions | |
BlockElementRestriction () | |
default ctor leaves this object uninitialized | |
BlockElementRestriction (const mfem::FiniteElementSpace *fes) | |
create a BlockElementRestriction for all domain-elements (geom dim == spatial dim) | |
BlockElementRestriction (const mfem::FiniteElementSpace *fes, FaceType type) | |
create a BlockElementRestriction for all face-elements (geom dim + 1 == spatial dim) | |
uint64_t | ESize () const |
the size of the "E-vector" associated with this restriction operator | |
uint64_t | LSize () const |
the size of the "L-vector" associated with this restriction operator | |
mfem::Array< int > | bOffsets () const |
block offsets used when constructing mfem::HypreParVectors | |
void | Gather (const mfem::Vector &L_vector, mfem::BlockVector &E_block_vector) const |
"L->E" in mfem parlance, each element gathers the values that belong to it, and stores them in the "E-vector" | |
void | ScatterAdd (const mfem::BlockVector &E_block_vector, mfem::Vector &L_vector) const |
"E->L" in mfem parlance, each element scatter-adds its local vector into the appropriate place in the "L-vector" | |
Public Attributes | |
std::map< mfem::Geometry::Type, ElementRestriction > | restrictions |
the individual ElementRestriction operators for each element geometry | |
a generalization of mfem::ElementRestriction that works with multiple kinds of element geometries. Instead of doing the "E->L" (gather) and "L->E" (scatter) operations for only one element geometry, this class does them with block "E-vectors", where each element geometry is a separate block.
Definition at line 209 of file element_restriction.hpp.