21 "Softening model with an exponential softening response upon cracking. This " 22 "class is intended to be used with ADComputeSmearedCrackingStress and relies on automatic " 27 "residual_stress <= 1 & residual_stress >= 0",
28 "The fraction of the cracking stress allowed to be maintained following a crack.");
33 "Initial slope of the exponential softening curve at crack initiation. " 34 "If not specified, it is equal to the negative of the Young's modulus.");
39 "Multiplier applied to alpha to control the exponential softening " 46 _residual_stress(getParam<
Real>(
"residual_stress")),
47 _alpha(getParam<
Real>(
"alpha")),
48 _alpha_set_by_user(parameters.isParamSetByUser(
"alpha")),
49 _beta(getParam<
Real>(
"beta"))
57 const ADReal & crack_initiation_strain,
58 const ADReal & crack_max_strain,
59 const ADReal & cracking_stress,
60 const ADReal & youngs_modulus)
62 mooseAssert(crack_max_strain >= crack_initiation_strain,
63 "crack_max_strain must be >= crack_initiation_strain");
69 alpha = -youngs_modulus;
72 stress = cracking_stress *
75 (crack_max_strain - crack_initiation_strain)));
77 stiffness_ratio = stress * crack_initiation_strain / (crack_max_strain * cracking_stress);
static InputParameters validParams()
const bool _alpha_set_by_user
Variable to track whether _alpha was set by the user.
ExponentialSoftening is a smeared crack softening model that uses an exponential softening curve...
static InputParameters validParams()
virtual void computeCrackingRelease(ADReal &stress, ADReal &stiffness_ratio, const ADReal &strain, const ADReal &crack_initiation_strain, const ADReal &crack_max_strain, const ADReal &cracking_stress, const ADReal &youngs_modulus) override
Compute the effect of the cracking release model on the stress and stiffness in the direction of a si...
const Real & _alpha
Initial slope of the softening curve.
const Real & _beta
Multiplier on alpha to determine the initial softening slope.
ADExponentialSoftening(const InputParameters ¶meters)
ADSmearedCrackSofteningBase is the base class for a set of models that define the softening behavior ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string alpha
const Real & _residual_stress
Residual stress after full softening.
registerMooseObject("SolidMechanicsApp", ADExponentialSoftening)