OGS
|
Namespaces | |
namespace | detail |
Functions | |
template<typename Function , typename... Tuples> | |
auto | apply (Function &f, Tuples &... ts) -> typename detail::GetFunctionReturnType< std::decay_t< Function > >::type |
template<typename Function , typename... Tuples> | |
auto | eval (Function &f, Tuples &... ts) -> typename detail::GetFunctionReturnType< decltype(&Function::eval)>::type |
template<typename Functions , typename... Tuples> | |
void | evalAllInOrder (Functions &fs, Tuples &... ts) |
template<typename Models , typename Inputs > | |
bool | isEvalOrderCorrectRT () |
template<typename TupleOfModels , typename... Args> | |
TupleOfModels | constructModels (Args &&... args) |
template<typename T , typename... Tuples> | |
auto & | get (Tuples &... ts) |
auto ProcessLib::Graph::apply | ( | Function & | f, |
Tuples &... | ts ) -> typename detail::GetFunctionReturnType<std::decay_t<Function>>::type |
Invokes the passed function (object) f
with arguments taken from the passed tuples.
The passed arguments are determined from their types. Therefore, both the argument types of the function and the member types of all passed tuples must be unique.
Definition at line 257 of file Apply.h.
References ProcessLib::Graph::detail::applyImpl().
TupleOfModels ProcessLib::Graph::constructModels | ( | Args &&... | args | ) |
Constructs a tuple of models.
Each model in the tuple is either
In case (1.) the arguments are passed via their data types from the passed args
to the create() method.
Definition at line 69 of file ConstructModels.h.
References ProcessLib::Graph::detail::constructModels().
Referenced by ProcessLib::RichardsMechanics::createConstitutiveModels(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::createConstitutiveModels(), and ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::createConstitutiveModels().
auto ProcessLib::Graph::eval | ( | Function & | f, |
Tuples &... | ts ) -> typename detail::GetFunctionReturnType<decltype(&Function::eval)>::type |
Invokes the eval() method of the passed object f
with arguments taken from the passed tuples.
Definition at line 274 of file Apply.h.
References ProcessLib::Graph::detail::applyImpl().
void ProcessLib::Graph::evalAllInOrder | ( | Functions & | fs, |
Tuples &... | ts ) |
Invokes the eval() method of the passed objects fs
with arguments taken from the passed tuples.
fs
must be a tuple of objects having an eval() method. The method invocation proceeds in the order of the objects in the tuple.
Definition at line 294 of file Apply.h.
Referenced by ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::ConstitutiveSetting< DisplacementDim >::eval(), and ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::ConstitutiveSetting< DisplacementDim >::eval().
auto & ProcessLib::Graph::get | ( | Tuples &... | ts | ) |
Type-based access of an element of any of the passed tuples.
This function does essentially the same as std::get<T>(some_tuple)
, but for any number of passed tuples.
The type T
must be present in the Tuples's
member types exactly once. The passed Tuples's
member types might be cvref qualified, but T
must not.
Definition at line 59 of file Get.h.
References ProcessLib::Graph::detail::getImpl().
Referenced by ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::assembleWithJacobianSingleIP(), ProcessLib::Graph::detail::unpackAndInvoke(), ProcessLib::Graph::detail::unpackAndInvoke(), ProcessLib::Graph::detail::unpackAndInvoke(), ProcessLib::Graph::detail::unpackAndInvoke(), and ProcessLib::Graph::detail::unpackAndInvoke().
bool ProcessLib::Graph::isEvalOrderCorrectRT | ( | ) |
Checks at runtime if the given Models
are evaluated in the right order if evaluated in the order in which they appear in the list of Models
.
I.e., all input data of a model must have been computed before that model will be evaluated and no two models must compute the same data.
The passed Inputs
are data that already have been computed before the first model is evaluated.
Definition at line 114 of file CheckEvalOrderRT.h.
References ProcessLib::Graph::detail::isEvalOrderCorrectRT().
Referenced by ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::checkCorrectModelEvalOrder(), ProcessLib::ThermoRichardsMechanics::ConstitutiveStressSaturation_StrainPressureTemperature::checkCorrectModelEvalOrder(), and ProcessLib::Graph::detail::isEvalOrderCorrectRT().