Class for encapsulating the critical MFEM components of a primal finite element field.
More...
|
| | FiniteElementState (const FiniteElementState &rhs) |
| | Copy constructor. More...
|
| |
| | FiniteElementState (FiniteElementState &&rhs) |
| | Move construct a new Finite Element State object. More...
|
| |
| FiniteElementState & | operator= (const FiniteElementState &rhs) |
| | Copy assignment. More...
|
| |
| FiniteElementState & | operator= (FiniteElementState &&rhs)=delete |
| | Move assignment. More...
|
| |
| FiniteElementState & | operator= (const mfem::HypreParVector &rhs) |
| | Copy assignment with HypreParVector. More...
|
| |
| FiniteElementState & | operator= (const mfem::Vector &rhs) |
| | Copy assignment with mfem::Vector. More...
|
| |
| FiniteElementState & | operator= (double rhs) |
| | Copy assignment with double. More...
|
| |
| void | fillGridFunction (mfem::ParGridFunction &grid_function) const |
| | Fill a user-provided grid function based on the underlying true vector. More...
|
| |
| void | setFromGridFunction (const mfem::ParGridFunction &grid_function) |
| | Initialize the true vector in the FiniteElementState based on an input grid function. More...
|
| |
| void | project (mfem::VectorCoefficient &coef, mfem::Array< int > &dof_list) |
| | Project a vector coefficient onto a set of dofs. More...
|
| |
| void | project (mfem::Coefficient &coef, mfem::Array< int > &dof_list, std::optional< int > component={}) |
| | Project a scalar coefficient onto a set of dofs. More...
|
| |
| void | project (const GeneralCoefficient &coef) |
| |
|
void | project (mfem::Coefficient &coef) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| |
|
void | project (mfem::VectorCoefficient &coef) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| |
| void | projectOnBoundary (mfem::Coefficient &coef, const mfem::Array< int > &markers) |
| | Project a coefficient on a specific set of marked boundaries. More...
|
| |
|
void | projectOnBoundary (mfem::VectorCoefficient &coef, const mfem::Array< int > &markers) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| |
|
void | project (mfem::Coefficient &coef, const Domain &d) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| |
|
void | project (mfem::VectorCoefficient &coef, const Domain &d) |
| | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
| |
| template<typename FieldFunction > |
| void | setFromFieldFunction (FieldFunction &&field_function) |
| | Set state as interpolant of an analytical function. More...
|
| |
| mfem::ParGridFunction & | gridFunction () const |
| | Construct a grid function from the finite element state true vector. More...
|
| |
| | 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 (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.
|
| |
Class for encapsulating the critical MFEM components of a primal finite element field.
Namely: Mesh, FiniteElementCollection, FiniteElementState, and the true vector of the solution
Definition at line 116 of file finite_element_state.hpp.
template<typename FieldFunction >
| void smith::FiniteElementState::setFromFieldFunction |
( |
FieldFunction && |
field_function | ) |
|
|
inline |
Set state as interpolant of an analytical function.
In other words, this sets the dofs by direct evaluation of the analytical field at the nodal points.
- Template Parameters
-
| FieldFunction | A callable type |
- Parameters
-
| field_function | A function that should have the signature: tensor<double, field_dim> field_function(tensor<double, spatial_dim> X) |
template params: spatial_dim: number of components in the mesh coordinates field_dim: number of components of the FiniteElementState field
args: X: coordinates of the material point
returns: the value of the field at X.
If the field is scalar-valued, then alternatively the signature may be: double field_function(tensor<double, spatial_dim> X)
Definition at line 298 of file finite_element_state.hpp.