www.mooseframework.org
DamageBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "DamageBase.h"
11 
13 
14 InputParameters
16 {
17  InputParameters params = Material::validParams();
18  params.addClassDescription(
19  "Base class for damage models for use in conjunction with "
20  "ComputeMultipleInelasticStress. The damage model updates the "
21  "stress and Jacobian multiplier at the end of the stress computation.");
22  params.addParam<std::string>("base_name",
23  "Optional parameter that allows the user to define "
24  "multiple mechanics material systems on the same "
25  "block, i.e. for multiple phases");
26  // The damage materials are designed to be called by another model, and not
27  // called directly by MOOSE, so set compute=false.
28  params.set<bool>("compute") = false;
29  params.suppressParameter<bool>("compute");
30  return params;
31 }
32 
33 DamageBase::DamageBase(const InputParameters & parameters)
34  : Material(parameters),
35  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : "")
36 {
37 }
38 
39 void
40 DamageBase::setQp(unsigned int qp)
41 {
42  _qp = qp;
43 }
44 
45 void
47 {
48 }
49 
50 Real
52 {
53  return std::numeric_limits<Real>::max();
54 }
55 
56 void
57 DamageBase::finiteStrainRotation(const RankTwoTensor & /*rotation_increment*/)
58 {
59 }
DamageBase::computeTimeStepLimit
virtual Real computeTimeStepLimit()
Compute the limiting value of the time step for this material.
Definition: DamageBase.C:51
DamageBase::validParams
static InputParameters validParams()
Definition: DamageBase.C:15
DamageBase::DamageBase
DamageBase(const InputParameters &parameters)
Definition: DamageBase.C:33
DamageBase
DamageBase is a base class for damage models, which modify the stress tensor computed by another mode...
Definition: DamageBase.h:28
DamageBase.h
validParams
InputParameters validParams()
defineLegacyParams
defineLegacyParams(DamageBase)
RankTwoTensorTempl< Real >
DamageBase::updateDamage
virtual void updateDamage()
Update the internal variable(s) that evolve the damage.
Definition: DamageBase.C:46
DamageBase::finiteStrainRotation
virtual void finiteStrainRotation(const RankTwoTensor &rotation_increment)
Perform any necessary rotation of internal variables for finite strain.
Definition: DamageBase.C:57
DamageBase::setQp
void setQp(unsigned int qp)
Sets the value of the member variable _qp for use in inheriting classes.
Definition: DamageBase.C:40