Class representing the requirements for obtaining specific results. More...
#include <ikarus/finiteelements/ferequirements.hh>
Public Types | |
using | ParameterTypeRaw = typename FERequirements::ParameterTypeRaw |
using | SolutionVectorType = typename FERequirements::SolutionVectorType |
using | SolutionVectorTypeRaw = typename FERequirements::SolutionVectorTypeRaw |
Public Member Functions | |
ResultRequirements (FERequirements &&req, std::set< ResultType > &&p_resType) | |
Constructor with FERequirements and result types. More... | |
ResultRequirements (const FERequirements &req) | |
Constructor with only FERequirements. More... | |
ResultRequirements ()=default | |
Default constructor. More... | |
bool | isResultRequested (ResultType &&key) const |
Check if a specific result type is requested. More... | |
template<FEAffordance Affordance> | |
ResultRequirements & | addAffordance (Affordance &&affordance) |
Add an affordance to the finite element requirements. More... | |
ResultRequirements & | insertParameter (FEParameter &&key, ParameterTypeRaw &val) |
Insert a parameter into the finite element requirements. More... | |
ResultRequirements & | insertGlobalSolution (FESolutions &&key, SolutionVectorTypeRaw &sol) |
Insert a global solution into the finite element requirements. More... | |
template<ResultTypeConcept... ResultTypes> | |
ResultRequirements & | addResultRequest (ResultTypes &&... keys) |
Add one or more result types to the set of requested results. More... | |
const SolutionVectorTypeRaw & | getGlobalSolution (FESolutions &&key) const |
Get the global solution for a specific global solution type. More... | |
const ParameterTypeRaw & | getParameter (FEParameter &&key) const |
Get the value of a specific parameter. More... | |
const FERequirements & | getFERequirements () const |
Get the associated finite element requirements. More... | |
auto | getRequestedResult () const |
Get the requested result type. More... | |
This class encapsulates the requirements for obtaining results, including the desired result types, associated affordances, and input parameters. It is templated on the type of FERequirements.
FERequirements | Type representing the finite element requirements. Default is FERequirements<>. |
using Ikarus::ResultRequirements< FERequirements >::ParameterTypeRaw = typename FERequirements::ParameterTypeRaw |
using Ikarus::ResultRequirements< FERequirements >::SolutionVectorType = typename FERequirements::SolutionVectorType |
using Ikarus::ResultRequirements< FERequirements >::SolutionVectorTypeRaw = typename FERequirements::SolutionVectorTypeRaw |
|
inline |
Constructs a ResultRequirements object with the given FErequirements and set of result types.
req | Finite element requirements. |
p_resType | Set of result types. |
|
inlineexplicit |
Constructs a ResultRequirements object with the given FERequirements and an empty set of result types.
req | Finite element requirements. |
|
default |
Constructs an empty ResultRequirements object.
|
inline |
Adds the specified affordance to the finite element requirements.
Affordance | Type of affordance to be added. |
affordance | The affordance to be added. |
|
inline |
Adds the specified result types to the set of requested results.
ResultTypes | Types of results to be added. |
keys | The result types to be added. |
|
inline |
Retrieves the associated finite element requirements.
|
inline |
Retrieves the global solution for the specified global solution type.
key | The global solution type. |
|
inline |
Retrieves the value of the specified parameter.
key | The parameter key. |
|
inline |
Retrieves the requested result type when only a single result type is present in the set of requested results.
Dune::InvalidStateException | if the set of requested results does not contain a single result type. |
|
inline |
Inserts the specified global solution into the finite element requirements.
key | The global solution key. |
sol | The global solution value. |
|
inline |
Inserts the specified parameter into the finite element requirements.
key | The parameter key. |
val | The parameter value. |
|
inline |
Checks if the specified result type is requested.
key | The result type to check. |