Class representing the requirements for finite element calculations. More...
#include <ikarus/finiteelements/ferequirements.hh>
Public Types | |
using | SolutionVectorType = std::reference_wrapper< Eigen::VectorXd > |
using | SolutionVectorTypeRaw = typename Impl::DeduceRawVectorType< std::remove_cvref_t< std::reference_wrapper< Eigen::VectorXd > > >::Type |
using | ParameterType = std::reference_wrapper< double > |
using | ParameterTypeRaw = typename ParameterType_::type |
Public Member Functions | |
FErequirements ()=default | |
FErequirements (Base &&base) | |
FErequirements (const Base &base) | |
FErequirements & | operator= (const Base &base) |
FErequirements & | operator= (Base &&base) |
FERequirements & | addAffordance (Affordance &&affordance) |
Add an affordance to the requirements. More... | |
FERequirements & | insertParameter (const FEParameter &key, ParameterTypeRaw &val) |
Insert a parameter into the requirements. More... | |
FERequirements & | insertGlobalSolution (const FESolutions &key, SolutionVectorTypeRaw &sol) |
Insert a global solution vector into the requirements. More... | |
const SolutionVectorTypeRaw & | getGlobalSolution (const FESolutions &key) const |
Get the raw global solution vector for a specific type. More... | |
const ParameterTypeRaw & | getParameter (FEParameter &&key) const |
Get the raw parameter value for a specific key. More... | |
bool | hasAffordance (Affordance &&affordance) const |
Check if a specific affordance is present in the requirements. More... | |
This class defines the requirements for finite element calculations, including the types of solution vectors and parameters needed. It provides methods to add affordances, insert parameters, and manage global solution vectors.
SolutionVectorType_ | Type of the solution vector, defaulting to std::reference_wrapper<Eigen::VectorXd>. |
ParameterType_ | Type of the parameter, defaulting to std::reference_wrapper<double>. |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
default |
|
inline |
|
inline |
|
inlineinherited |
This function adds the specified affordance to the requirements.
Affordance | Type of affordance to be added. |
affordance | The affordance to be added. |
|
inlineinherited |
This function retrieves the raw global solution vector for the specified type.
key | The key representing the type of the solution vector. |
Dune::RangeError | if the specified type is not found in the requirements. |
|
inlineinherited |
This function retrieves the raw parameter value for the specified key.
key | The key representing the parameter. |
Dune::RangeError | if the specified key is not found in the requirements. |
|
inlineinherited |
This function checks if the specified affordance is present in the requirements.
Affordance | Type of affordance to be checked. |
affordance | The affordance to be checked. |
|
inlineinherited |
This function inserts the specified global solution vector into the requirements.
key | The key representing the type of the solution vector. |
sol | Reference to the raw global solution vector. |
|
inlineinherited |
This function inserts the specified parameter into the requirements.
key | The key representing the parameter. |
val | Reference to the raw parameter value. |
|
inline |
|
inline |