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

#include <element_restriction.hpp>

Public Member Functions

 ElementRestriction ()
 default ctor leaves this object uninitialized
 
 ElementRestriction (const mfem::FiniteElementSpace *fes, mfem::Geometry::Type elem_geom)
 create an ElementRestriction for all domain-type (geom dim == spatial dim) elements of the specified geometry
 
 ElementRestriction (const mfem::FiniteElementSpace *fes, mfem::Geometry::Type face_geom, FaceType type)
 create an ElementRestriction for all face-type (geom dim == spatial dim) elements of the specified geometry
 
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
 
void GetElementVDofs (int i, std::vector< DoF > &dofs) const
 Get a list of DoFs for element i More...
 
DoF GetVDof (DoF node, uint64_t component) const
 get the dof information for a given node / component
 
void Gather (const mfem::Vector &L_vector, mfem::Vector &E_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::Vector &E_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

uint64_t esize
 the size of the "E-vector"
 
uint64_t lsize
 the size of the "L-vector"
 
uint64_t components
 the number of components at each node
 
uint64_t num_nodes
 the total number of nodes in the mesh
 
uint64_t num_elements
 the number of elements of the given geometry
 
uint64_t nodes_per_elem
 the number of nodes in each element
 
axom::Array< DoF, 2, axom::MemorySpace::Host > dof_info
 a 2D array (num_elements-by-nodes_per_elem) holding the dof info extracted from the finite element space
 
mfem::Ordering::Type ordering
 whether the underlying dofs are arranged "byNodes" or "byVDim"
 

Detailed Description

a more complete version of mfem::ElementRestriction that works with {H1, Hcurl, L2} spaces (including on the boundary)

Definition at line 146 of file element_restriction.hpp.

Member Function Documentation

◆ GetElementVDofs()

void serac::ElementRestriction::GetElementVDofs ( int  i,
std::vector< DoF > &  dofs 
) const

Get a list of DoFs for element i

Parameters
ithe index of the element
dofs(output) the DoFs associated with element i

Definition at line 434 of file element_restriction.cpp.


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