22namespace CohesiveZoneModeI
31 P const& shear_stiffness_,
32 P const& fracture_toughness_,
33 P const& peak_normal_traction_)
88 :
Kn(mp.normal_stiffness(t, x)[0]),
89 Ks(mp.shear_stiffness(t, x)[0]),
90 Gc(mp.fracture_toughness(t, x)[0]),
91 t_np(mp.peak_normal_traction(t, x)[0]),
92 w_np(mp.fracture_opening_at_peak_traction(t, x)),
93 w_nf(mp.fracture_opening_at_residual_traction(t, x))
105template <
int DisplacementDim>
124template <
int DisplacementDim>
132 return std::make_unique<StateVariables<DisplacementDim>>();
138 bool const tension_cutoff,
142 _mp(std::move(material_properties))
164 double const aperture0,
165 Eigen::Ref<Eigen::VectorXd const>
167 Eigen::Ref<Eigen::VectorXd const>
169 Eigen::Ref<Eigen::VectorXd const>
171 Eigen::Ref<Eigen::VectorXd const>
173 Eigen::Ref<Eigen::VectorXd>
175 Eigen::Ref<Eigen::MatrixXd>
178 material_state_variables)
override;
208namespace CohesiveZoneModeI
210extern template class CohesiveZoneModeI<2>;
211extern 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
double fracture_opening_at_peak_traction(double const t, X const &x) const
Assuming initially stress-free state.
P const & peak_normal_traction
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.