https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PowerLawSoftening.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 "PowerLawSoftening.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.");
23 "stiffness_reduction",
24 "stiffness_reduction <= 1 & stiffness_reduction >= 0",
25 "Factor multiplied by the current stiffness each time a new crack forms");
26 return params;
27}
28
30 : SmearedCrackSofteningBase(parameters),
31 _stiffness_reduction(getParam<Real>("stiffness_reduction"))
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 (stress > cracking_stress)
46 {
47 // This is equivalent to k = k_0 * (stiffness_reduction)^n, where n is the number of cracks
48 stiffness_ratio *= _stiffness_reduction;
49 stress = stiffness_ratio * youngs_modulus * strain;
50 }
51}
registerMooseObject("SolidMechanicsApp", PowerLawSoftening)
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
PowerLawSoftening is a smeared crack softening model that uses a power law equation to soften the ten...
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...
PowerLawSoftening(const InputParameters &parameters)
const Real & _stiffness_reduction
Reduction factor applied to the initial stiffness each time a new crack initiates.
SmearedCrackSofteningBase is the base class for a set of models that define the softening behavior of...
static InputParameters validParams()