OGS
ConstitutiveSetting.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "ConstitutiveData.h"
13#include "ConstitutiveModels.h"
14
16{
17namespace ConstitutiveRelations
18{
19template <int DisplacementDim>
21{
22 using GradientVectorType = Eigen::Matrix<
23 double,
24 DisplacementDim * DisplacementDim + (DisplacementDim == 2 ? 1 : 0), 1>;
25
27 void eval(ConstitutiveModels<DisplacementDim>& models, double const t,
28 double const dt, ParameterLib::SpatialPosition const& x_position,
29 MaterialPropertyLib::Medium const& medium, double const T_ref,
31 deformation_gradient_data,
32 GradientVectorType const& deformation_gradient_prev,
34 StatefulDataPrev<DisplacementDim> const& prev_state,
38};
39
40extern template struct ConstitutiveSetting<2>;
41extern template struct ConstitutiveSetting<3>;
42} // namespace ConstitutiveRelations
43} // namespace ProcessLib::LargeDeformation
Data that is needed for the equation system assembly.
void eval(ConstitutiveModels< DisplacementDim > &models, double const t, double const dt, ParameterLib::SpatialPosition const &x_position, MaterialPropertyLib::Medium const &medium, double const T_ref, DeformationGradientData< DisplacementDim > const &deformation_gradient_data, GradientVectorType const &deformation_gradient_prev, StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > const &prev_state, MaterialStateData< DisplacementDim > &mat_state, ConstitutiveTempData< DisplacementDim > &tmp, ConstitutiveData< DisplacementDim > &cd) const
Evaluate the constitutive setting.
Eigen::Matrix< double, DisplacementDim *DisplacementDim+(DisplacementDim==2 ? 1 :0), 1 > GradientVectorType
Data whose state must be tracked by the process.