13template <
int DisplacementDim>
17 "Checking correct model evaluation order in the constitutive setting.");
21 constexpr auto D = DisplacementDim;
23 using Inputs = mp_list<SpaceTimeData, MediaData, Temperature, StrainData<D>,
26 using InputsAndPrevState = mp_append<Inputs, StatefulDataPrev<D>>;
33 OGS_FATAL(
"The constitutive setting has a wrong evaluation order.");
36 INFO(
"Model evaluation order is correct.");
40template <
int DisplacementDim>
43 [[maybe_unused]]
static const bool model_order_correct =
46template <
int DisplacementDim>
60 auto& eps_data = std::get<StrainData<DisplacementDim>>(out);
62 auto& eps_data_prev = std::get<PrevState<StrainData<DisplacementDim>>>(tmp);
63 eps_data_prev->eps = eps_prev;
65 auto const aux_data = std::tuple{
SpaceTimeData{x_position, t, dt},
67 auto const mat_state_tuple = std::tie(mat_state);
70 out, prev_state, state, tmp);
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
BaseLib::StrongType< double, struct TemperatureTag > Temperature
KV::KelvinVectorType< DisplacementDim > KelvinVector
bool isEvalOrderCorrectRT()
void evalAllInOrder(Functions &fs, Tuples &... ts)
Represents a previous state of type T.