22 double const aperture0,
23 Eigen::Ref<Eigen::VectorXd const>
25 Eigen::Ref<Eigen::VectorXd const>
27 Eigen::Ref<Eigen::VectorXd const>
29 Eigen::Ref<Eigen::VectorXd const>
31 Eigen::Ref<Eigen::VectorXd>
33 Eigen::Ref<Eigen::MatrixXd>
36 material_state_variables)
38 material_state_variables.
reset();
40 const int index_ns = DisplacementDim - 1;
42 for (
int i = 0; i < index_ns; i++)
44 C(i, i) = _mp.shear_stiffness(t, x)[0];
47 sigma.noalias() = C * w;
49 double const aperture = w[index_ns] + aperture0;
51 sigma.coeffRef(index_ns) =
52 _mp.normal_stiffness(t, x)[0] * w[index_ns] *
53 logPenalty(aperture0, aperture, _penalty_aperture_cutoff);
55 C(index_ns, index_ns) =
56 _mp.normal_stiffness(t, x)[0] *
59 sigma.noalias() += sigma0;
62 if (_tension_cutoff && sigma[index_ns] > 0)
void computeConstitutiveRelation(double const t, ParameterLib::SpatialPosition const &x, double const aperture0, Eigen::Ref< Eigen::VectorXd const > sigma0, Eigen::Ref< Eigen::VectorXd const > w_prev, Eigen::Ref< Eigen::VectorXd const > w, Eigen::Ref< Eigen::VectorXd const > sigma_prev, Eigen::Ref< Eigen::VectorXd > sigma, Eigen::Ref< Eigen::MatrixXd > C, typename FractureModelBase< DisplacementDim >::MaterialStateVariables &material_state_variables) override