www.mooseframework.org
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 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
 

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 29 of file DamageBase.h.

Constructor & Destructor Documentation

◆ DamageBase()

DamageBase::DamageBase ( const InputParameters &  parameters)

Definition at line 32 of file DamageBase.C.

33  : Material(parameters),
34  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : "")
35 {
36 }
const std::string _base_name
Base name optionally used as prefix to material tensor names.
Definition: DamageBase.h:75

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 50 of file DamageBase.C.

Referenced by ComputeDamageStress::computeQpStress().

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

◆ 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 56 of file DamageBase.C.

Referenced by ComputeDamageStress::computeQpStress().

57 {
58 }

◆ resetProperties()

void DamageBase::resetProperties ( )
inlinefinal

Definition at line 70 of file DamageBase.h.

70 {}

◆ 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 69 of file DamageBase.h.

69 {}

◆ setQp()

void DamageBase::setQp ( unsigned int  qp)

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

Definition at line 39 of file DamageBase.C.

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

40 {
41  _qp = qp;
42 }

◆ updateDamage()

void DamageBase::updateDamage ( )
virtual

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

Reimplemented in ScalarDamageBase.

Definition at line 45 of file DamageBase.C.

Referenced by ComputeDamageStress::computeQpStress().

46 {
47 }

◆ 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().

◆ 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().

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 75 of file DamageBase.h.

Referenced by ScalarMaterialDamage::updateQpDamageIndex().


The documentation for this class was generated from the following files: