116 std::string fail_surf_type =
"";
118 pp.
query_validate(
"failure_surface", fail_surf_type, {
"wang2023",
"mohr",
"mc",
"columb"});
119 std::map<std::string,FSType> fs_map;
129 pp.
query_default(
"fracture_strength", fracture_strength, 1.e6);
135 pp.
query_default(
"compressive_strength", compressive_strength,4.e8);
136 value.
k1 = ( value.
_chi < 1/std::sqrt(2) ) ? ( 2 * value.
_chi * std::sqrt(1.0 - value.
_chi*value.
_chi) ) : 1.0;
138 tensile_strength = fracture_strength / value.
k1;
139 shear_strength = value.
_chi * tensile_strength;
140 value.
_beta_bar = (1.0 / (value.
_chi * value.
_chi)) - (compressive_strength * compressive_strength / (4.0 * value.
_chi * value.
_chi * shear_strength * shear_strength));
144 fracture_strength = tensile_strength * value.
k1;
157 value.
_sig_t = tensile_strength;
158 value.
_tau_s = shear_strength;
168 fracture_strength = 2.0 * value.
_cohesion * std::cos(phi) / (1.0 + std::sin(phi));
177 pp.
query_default(
"fracture_strength", fracture_strength,1.e6);
180 Set::Scalar irwing_length = youngs * value.
_Gc / (fracture_strength * fracture_strength);
183 value.
_l_w = irwing_length;
185 if (value.
zeta > 0.33 * irwing_length)
Util::Warning(
INFO,
"Zeta value is greater than irwing length. Consider reducing it.");
190 std::string gtype =
"";
191 std::string wtype =
"";
195 std::map<std::string,Model::Interface::Crack::Crack::GType> g_map;
198 std::map<std::string,Model::Interface::Crack::Crack::WType> w_map;