25 P const& shear_stiffness_,
26 P const& fracture_toughness_,
27 P const& peak_normal_traction_)
82 :
Kn(mp.normal_stiffness(t, x)[0]),
83 Ks(mp.shear_stiffness(t, x)[0]),
84 Gc(mp.fracture_toughness(t, x)[0]),
85 t_np(mp.peak_normal_traction(t, x)[0]),
86 w_np(mp.fracture_opening_at_peak_traction(t, x)),
87 w_nf(mp.fracture_opening_at_residual_traction(t, x))
99template <
int DisplacementDim>
118template <
int DisplacementDim>
126 return std::make_unique<StateVariables<DisplacementDim>>();
132 bool const tension_cutoff,
136 _mp(std::move(material_properties))
158 double const aperture0,
159 Eigen::Ref<Eigen::VectorXd const>
161 Eigen::Ref<Eigen::VectorXd const>
163 Eigen::Ref<Eigen::VectorXd const>
165 Eigen::Ref<Eigen::VectorXd const>
167 Eigen::Ref<Eigen::VectorXd>
169 Eigen::Ref<Eigen::MatrixXd>
172 material_state_variables)
override;
202namespace CohesiveZoneModeI
204extern template class CohesiveZoneModeI<2>;
205extern template class CohesiveZoneModeI<3>;
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
double const _penalty_aperture_cutoff
bool const _tension_cutoff
MaterialPropertiesParameters _mp
CohesiveZoneModeI(double const penalty_aperture_cutoff, bool const tension_cutoff, MaterialPropertiesParameters material_properties)
MaterialProperties evaluatedMaterialProperties(double const t, ParameterLib::SpatialPosition const &x) const
std::unique_ptr< typename FractureModelBase< DisplacementDim >::MaterialStateVariables > createMaterialStateVariables() override
Variables specific to the material model.
P const & shear_stiffness
Shear stiffness given in units of stress per length.
P const & fracture_toughness
ParameterLib::SpatialPosition X
double fracture_opening_at_peak_traction(double const t, X const &x) const
Assuming initially stress-free state.
P const & peak_normal_traction
ParameterLib::Parameter< double > P
double fracture_opening_at_residual_traction(double const t, X const &x) const
Assuming initially stress-free state.
P const & normal_stiffness
Normal stiffness given in units of stress per length.
MaterialPropertiesParameters(P const &normal_stiffness_, P const &shear_stiffness_, P const &fracture_toughness_, P const &peak_normal_traction_)
MaterialProperties(double const t, ParameterLib::SpatialPosition const &x, MaterialPropertiesParameters const &mp)
void setInitialConditions()
double damage_prev
damage part of the state.
void pushBackState() override
double damage
damage part of the state.