61 auto const& mp = _mp.evaluate(t, x);
62 auto const E = [&mp](
int const i) {
return mp.E(i); };
63 auto const G = [&mp](
int const i,
int const j) {
return mp.G(i, j); };
64 auto const nu = [&mp](
int const i,
int const j) {
return mp.nu(i, j); };
68 S_ortho.template topLeftCorner<3, 3>() <<
69 1. / E(1), -nu(2, 1) / E(2), -nu(3, 1) / E(3),
70 -nu(1, 2) / E(1), 1. / E(2), -nu(3, 2) / E(3),
71 -nu(1, 3) / E(1), -nu(2, 3) / E(2), 1. / E(3);
73 S_ortho.template bottomRightCorner<3, 3>().diagonal() <<
82 if (!_local_coordinate_system)
86 Eigen::Matrix3d R = Eigen::Matrix3d::Identity();
87 R.template topLeftCorner<DisplacementDim, DisplacementDim>().noalias() =
88 _local_coordinate_system->transformation<DisplacementDim>(x);
89 return fourthOrderRotationMatrix(R);
95 return (Q * C_ortho * Q.transpose())
96 .template topLeftCorner<kelvin_vector_dimensions(DisplacementDim),
97 kelvin_vector_dimensions(DisplacementDim)>();
std::optional< std::tuple< typename MechanicsBase< DisplacementDim >::KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, typename MechanicsBase< DisplacementDim >::KelvinMatrix > > integrateStress(MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override