|
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 fes_t *fes, const Domain &domain) | |
| create a BlockElementRestriction for the elements in a given domain | |
| 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 220 of file element_restriction.hpp.