|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Class for encapsulating the data associated with a vector derived from a MFEM finite element space. Specifically, it contains the information needed for both primal finite element state fields and dual finite element vectors. More...
#include <finite_element_vector.hpp>

Public Member Functions | |
| FiniteElementVector (const mfem::ParFiniteElementSpace &space, const std::string &name="") | |
| Minimal constructor for a FiniteElementVector given a finite element space. More... | |
| template<typename FunctionSpace > | |
| FiniteElementVector (mfem::ParMesh &mesh, [[maybe_unused]] FunctionSpace f, const std::string &name="") | |
| Construct a new Finite Element Vector object given a templated function space. More... | |
| FiniteElementVector (const FiniteElementVector &rhs) | |
| Copy constructor. More... | |
| FiniteElementVector (FiniteElementVector &&rhs) | |
| Move construct a new Finite Element Vector object. More... | |
| FiniteElementVector & | operator= (const FiniteElementVector &rhs) |
| Copy assignment. More... | |
| FiniteElementVector & | operator= (FiniteElementVector &&rhs) |
| Move assignment. More... | |
| FiniteElementVector & | operator= (const mfem::HypreParVector &rhs) |
| Copy assignment from a hypre par vector. More... | |
| FiniteElementVector & | operator= (const mfem::Vector &rhs) |
| Copy assignment from a hypre par vector. More... | |
| MPI_Comm | comm () const |
| Returns the MPI communicator for the state. More... | |
| mfem::ParMesh & | mesh () |
| Returns a non-owning reference to the internal mesh object. More... | |
| const mfem::ParMesh & | mesh () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| mfem::ParFiniteElementSpace & | space () |
| Returns a non-owning reference to the internal FESpace. More... | |
| const mfem::ParFiniteElementSpace & | space () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| std::string | name () const |
| Returns the name of the FEState (field) More... | |
| FiniteElementVector & | operator= (const double value) |
| Set a finite element state to a constant value. More... | |
| virtual | ~FiniteElementVector () |
| Destroy the Finite Element Vector object. | |
Protected Attributes | |
| std::reference_wrapper< mfem::ParMesh > | mesh_ |
| A reference to the mesh object on which the field is defined. | |
| std::unique_ptr< mfem::FiniteElementCollection > | coll_ |
| Handle to the FiniteElementCollection, which is owned by MFEMSidreDataCollection. More... | |
| std::unique_ptr< mfem::ParFiniteElementSpace > | space_ |
| Handle to the mfem::ParFiniteElementSpace, which is owned by MFEMSidreDataCollection. | |
| std::string | name_ = "" |
| The name of the finite element vector. | |
Class for encapsulating the data associated with a vector derived from a MFEM finite element space. Specifically, it contains the information needed for both primal finite element state fields and dual finite element vectors.
Namely: Mesh, FiniteElementCollection, FiniteElementSpace, name, and a HypreParVector containing the true degrees of freedom for the field.
Definition at line 54 of file finite_element_vector.hpp.
| smith::FiniteElementVector::FiniteElementVector | ( | const mfem::ParFiniteElementSpace & | space, |
| const std::string & | name = "" |
||
| ) |
Minimal constructor for a FiniteElementVector given a finite element space.
| [in] | space | The space to use for the finite element state. This space is deep copied into the new FE state |
| [in] | name | The name of the field |
Definition at line 34 of file finite_element_vector.cpp.
|
inline |
Construct a new Finite Element Vector object given a templated function space.
| FunctionSpace | what kind of interpolating functions to use |
| mesh | The mesh used to construct the finite element state |
| f | metadata describing the kind of function space to define |
| name | The name of the new finite element state field |
Definition at line 72 of file finite_element_vector.hpp.
|
inline |
Copy constructor.
| [in] | rhs | The input vector used for construction |
Definition at line 93 of file finite_element_vector.hpp.
| smith::FiniteElementVector::FiniteElementVector | ( | FiniteElementVector && | rhs | ) |
Move construct a new Finite Element Vector object.
| [in] | rhs | The input vector used for construction |
Definition at line 58 of file finite_element_vector.cpp.
|
inline |
Returns the MPI communicator for the state.
Definition at line 141 of file finite_element_vector.hpp.
|
inline |
Returns a non-owning reference to the internal mesh object.
Definition at line 147 of file finite_element_vector.hpp.
|
inline |
Returns the name of the FEState (field)
Definition at line 163 of file finite_element_vector.hpp.
| FiniteElementVector & smith::FiniteElementVector::operator= | ( | const double | value | ) |
Set a finite element state to a constant value.
| value | The constant to set the finite element state to |
Definition at line 111 of file finite_element_vector.cpp.
| FiniteElementVector & smith::FiniteElementVector::operator= | ( | const FiniteElementVector & | rhs | ) |
Copy assignment.
| rhs | The right hand side input vector |
Definition at line 85 of file finite_element_vector.cpp.
| FiniteElementVector & smith::FiniteElementVector::operator= | ( | const mfem::HypreParVector & | rhs | ) |
Copy assignment from a hypre par vector.
| rhs | The rhs input hypre par vector |
Definition at line 69 of file finite_element_vector.cpp.
| FiniteElementVector & smith::FiniteElementVector::operator= | ( | const mfem::Vector & | rhs | ) |
Copy assignment from a hypre par vector.
| rhs | The rhs input hypre par vector |
Definition at line 79 of file finite_element_vector.cpp.
| FiniteElementVector & smith::FiniteElementVector::operator= | ( | FiniteElementVector && | rhs | ) |
Move assignment.
| rhs | The right hand side input vector |
Definition at line 98 of file finite_element_vector.cpp.
|
inline |
Returns a non-owning reference to the internal FESpace.
Definition at line 155 of file finite_element_vector.hpp.
|
protected |
Handle to the FiniteElementCollection, which is owned by MFEMSidreDataCollection.
Definition at line 190 of file finite_element_vector.hpp.