www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
DamageBase Class Referenceabstract

DamageBase is a base class for damage models, which modify the stress tensor computed by another model based on a damage mechanics formulation. More...

#include <DamageBase.h>

Inheritance diagram for DamageBase:
[legend]

Public Member Functions

 DamageBase (const InputParameters &parameters)
 
virtual void updateDamage ()
 Update the internal variable(s) that evolve the damage. More...
 
virtual void updateStressForDamage (RankTwoTensor &stress_new)=0
 Update the current stress tensor for effects of damage. More...
 
virtual void updateJacobianMultForDamage (RankFourTensor &jacobian_mult)=0
 Update the material constitutive matrix. More...
 
virtual void computeUndamagedOldStress (RankTwoTensor &stress_old)=0
 
virtual Real computeTimeStepLimit ()
 Compute the limiting value of the time step for this material. More...
 
virtual void finiteStrainRotation (const RankTwoTensor &rotation_increment)
 Perform any necessary rotation of internal variables for finite strain. More...
 
void setQp (unsigned int qp)
 Sets the value of the member variable _qp for use in inheriting classes. More...
 
void resetQpProperties () final
 Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten. More...
 
void resetProperties () final
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

const std::string _base_name
 Base name optionally used as prefix to material tensor names. More...
 

Detailed Description

DamageBase is a base class for damage models, which modify the stress tensor computed by another model based on a damage mechanics formulation.

These models are designed to be called by another model, so they have compute=false set.

Definition at line 28 of file DamageBase.h.

Constructor & Destructor Documentation

◆ DamageBase()

DamageBase::DamageBase ( const InputParameters &  parameters)

Definition at line 33 of file DamageBase.C.

34  : Material(parameters),
35  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : "")
36 {
37 }

Member Function Documentation

◆ computeTimeStepLimit()

Real DamageBase::computeTimeStepLimit ( )
virtual

Compute the limiting value of the time step for this material.

Returns
Limiting time step

Reimplemented in ScalarDamageBase.

Definition at line 51 of file DamageBase.C.

52 {
53  return std::numeric_limits<Real>::max();
54 }

Referenced by ComputeDamageStress::computeQpStress(), and ComputeMultipleInelasticStress::computeQpStress().

◆ computeUndamagedOldStress()

virtual void DamageBase::computeUndamagedOldStress ( RankTwoTensor stress_old)
pure virtual

◆ finiteStrainRotation()

void DamageBase::finiteStrainRotation ( const RankTwoTensor rotation_increment)
virtual

Perform any necessary rotation of internal variables for finite strain.

Parameters
rotation_incrementThe finite-strain rotation increment

Definition at line 57 of file DamageBase.C.

58 {
59 }

Referenced by ComputeDamageStress::computeQpStress(), and ComputeMultipleInelasticStress::computeQpStress().

◆ resetProperties()

void DamageBase::resetProperties ( )
inlinefinal

Definition at line 72 of file DamageBase.h.

72 {}

◆ resetQpProperties()

void DamageBase::resetQpProperties ( )
inlinefinal

Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten.

Definition at line 71 of file DamageBase.h.

71 {}

◆ setQp()

void DamageBase::setQp ( unsigned int  qp)

Sets the value of the member variable _qp for use in inheriting classes.

Definition at line 40 of file DamageBase.C.

41 {
42  _qp = qp;
43 }

Referenced by ComputeDamageStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStress(), and ScalarDamageBase::getQpDamageIndex().

◆ updateDamage()

void DamageBase::updateDamage ( )
virtual

Update the internal variable(s) that evolve the damage.

Reimplemented in ScalarDamageBase.

Definition at line 46 of file DamageBase.C.

47 {
48 }

Referenced by ComputeDamageStress::computeQpStress(), and ComputeMultipleInelasticStress::computeQpStress().

◆ updateJacobianMultForDamage()

virtual void DamageBase::updateJacobianMultForDamage ( RankFourTensor jacobian_mult)
pure virtual

Update the material constitutive matrix.

Parameters
jacobian_multMaterial constitutive matrix to be modified for effects of damage

Implemented in ScalarDamageBase.

Referenced by ComputeDamageStress::computeQpStress(), and ComputeMultipleInelasticStress::computeQpStress().

◆ updateStressForDamage()

virtual void DamageBase::updateStressForDamage ( RankTwoTensor stress_new)
pure virtual

Update the current stress tensor for effects of damage.

Parameters
stress_newUndamaged stress to be modified by the damage model

Implemented in ScalarDamageBase.

Referenced by ComputeDamageStress::computeQpStress(), and ComputeMultipleInelasticStress::computeQpStress().

◆ validParams()

InputParameters DamageBase::validParams ( )
static

Definition at line 15 of file DamageBase.C.

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 }

Referenced by ScalarDamageBase::validParams().

Member Data Documentation

◆ _base_name

const std::string DamageBase::_base_name
protected

Base name optionally used as prefix to material tensor names.

Definition at line 77 of file DamageBase.h.

Referenced by ScalarMaterialDamage::updateQpDamageIndex().


The documentation for this class was generated from the following files:
DamageBase::_base_name
const std::string _base_name
Base name optionally used as prefix to material tensor names.
Definition: DamageBase.h:77
validParams
InputParameters validParams()