Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Public Member Functions | Public Attributes | List of all members
serac::BlockElementRestriction Struct Reference

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, ElementRestrictionrestrictions
 the individual ElementRestriction operators for each element geometry
 

Detailed Description

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.


The documentation for this struct was generated from the following files: