version 0.4.1
Ikarus::FERequirements< sol, para, SV, PM > Class Template Reference

Class representing the requirements for finite element calculations. More...

#include <ikarus/finiteelements/ferequirements.hh>

Public Types

using SolutionVectorType = SV
 
using ParameterType = PM
 

Public Member Functions

 FERequirements ()=default
 
 FERequirements (SolutionVectorInputType solVec, ParameterInputType parameter)
 
FERequirementsinsertParameter (ParameterInputType val)
 Insert a parameter into the requirements. More...
 
FERequirementsinsertGlobalSolution (SolutionVectorInputType solVec)
 Insert a global solution vector into the requirements. More...
 
SolutionVectorReturnType globalSolution ()
 Get the global solution vector. More...
 
SVHelper::ConstReturnType globalSolution () const
 Get the global solution vector. *. More...
 
PMHelper::ConstReturnType parameter () const
 Get the parameter value. More...
 
ParameterReturnType parameter ()
 Get the parameter value. More...
 
bool populated () const
 Tells if the class contains all needed values. More...
 

Static Public Attributes

static constexpr FESolutions globalSolutionTag = sol
 
static constexpr FEParameter parameterTag = para
 

Detailed Description

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
class Ikarus::FERequirements< sol, para, SV, PM >

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.

Template Parameters
SVType of the solution vector, defaulting to <Eigen::VectorXd.
PMType of the parameter, defaulting to double.

Member Typedef Documentation

◆ ParameterType

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
using Ikarus::FERequirements< sol, para, SV, PM >::ParameterType = PM

◆ SolutionVectorType

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
using Ikarus::FERequirements< sol, para, SV, PM >::SolutionVectorType = SV

Constructor & Destructor Documentation

◆ FERequirements() [1/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
Ikarus::FERequirements< sol, para, SV, PM >::FERequirements ( )
default

◆ FERequirements() [2/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
Ikarus::FERequirements< sol, para, SV, PM >::FERequirements ( SolutionVectorInputType  solVec,
ParameterInputType  parameter 
)
inline

Member Function Documentation

◆ globalSolution() [1/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
SolutionVectorReturnType Ikarus::FERequirements< sol, para, SV, PM >::globalSolution ( )
inline
Returns
Reference to the raw global solution vector.
Here is the caller graph for this function:

◆ globalSolution() [2/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
SVHelper::ConstReturnType Ikarus::FERequirements< sol, para, SV, PM >::globalSolution ( ) const
inline
Returns
Const reference to the global solution vector.

◆ insertGlobalSolution()

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
FERequirements & Ikarus::FERequirements< sol, para, SV, PM >::insertGlobalSolution ( SolutionVectorInputType  solVec)
inline

This function inserts the specified global solution vector into the requirements.

Parameters
solVecReference to the raw global solution vector.
Returns
Reference to the updated FERequirements instance.
Here is the caller graph for this function:

◆ insertParameter()

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
FERequirements & Ikarus::FERequirements< sol, para, SV, PM >::insertParameter ( ParameterInputType  val)
inline

This function inserts the specified parameter into the requirements.

Parameters
valReference to the raw parameter value.
Returns
Reference to the updated FERequirements instance.
Here is the caller graph for this function:

◆ parameter() [1/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
ParameterReturnType Ikarus::FERequirements< sol, para, SV, PM >::parameter ( )
inline
Returns
Reference to the parameter value.

◆ parameter() [2/2]

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
PMHelper::ConstReturnType Ikarus::FERequirements< sol, para, SV, PM >::parameter ( ) const
inline
Returns
Const reference to the parameter value.
Here is the caller graph for this function:

◆ populated()

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
bool Ikarus::FERequirements< sol, para, SV, PM >::populated ( ) const
inline
Returns
Bool if the all values are assigned

Member Data Documentation

◆ globalSolutionTag

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
constexpr FESolutions Ikarus::FERequirements< sol, para, SV, PM >::globalSolutionTag = sol
staticconstexpr

◆ parameterTag

template<FESolutions sol, FEParameter para, typename SV = Eigen::VectorXd, typename PM = double>
constexpr FEParameter Ikarus::FERequirements< sol, para, SV, PM >::parameterTag = para
staticconstexpr

The documentation for this class was generated from the following file: