https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AbruptSoftening.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#include "AbruptSoftening.h"
11
12#include "MooseMesh.h"
13
15
18{
20 params.addClassDescription("Softening model with an abrupt stress release upon cracking. This "
21 "class is intended to be used with ComputeSmearedCrackingStress.");
22 params.addRangeCheckedParam<Real>(
23 "residual_stress",
24 0.0,
25 "residual_stress <= 1 & residual_stress >= 0",
26 "The fraction of the cracking stress allowed to be maintained following a crack.");
27 return params;
28}
29
31 : SmearedCrackSofteningBase(parameters), _residual_stress(getParam<Real>("residual_stress"))
32{
33}
34
35void
37 Real & stiffness_ratio,
38 const Real /*strain*/,
39 const Real crack_initiation_strain,
40 const Real crack_max_strain,
41 const Real cracking_stress,
42 const Real youngs_modulus,
43 const Real /*poissons_ratio*/)
44{
45 if (_residual_stress == 0.0)
46 {
47 const Real tiny = 1.e-16;
48 stiffness_ratio = tiny;
49 stress = tiny * crack_initiation_strain * youngs_modulus;
50 }
51 else
52 {
53 stress = _residual_stress * cracking_stress;
54 stiffness_ratio = stress / (crack_max_strain * youngs_modulus);
55 }
56}
registerMooseObject("SolidMechanicsApp", AbruptSoftening)
AbruptSoftening is a smeared crack softening model that abruptly drops the stress upon crack initiati...
const Real & _residual_stress
Residual stress after full softening.
AbruptSoftening(const InputParameters &parameters)
static InputParameters validParams()
virtual void computeCrackingRelease(Real &stress, Real &stiffness_ratio, const Real strain, const Real crack_initiation_strain, const Real crack_max_strain, const Real cracking_stress, const Real youngs_modulus, const Real poissons_ratio) override
Compute the effect of the cracking release model on the stress and stiffness in the direction of a si...
void addClassDescription(const std::string &doc_string)
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)
SmearedCrackSofteningBase is the base class for a set of models that define the softening behavior of...
static InputParameters validParams()