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

ComputeStressBase is the base class for stress tensors. More...

#include <ComputeStressBase.h>

Inheritance diagram for ComputeStressBase:
[legend]

Public Member Functions

 ComputeStressBase (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void computeQpProperties () override
 
virtual void computeQpStress ()=0
 Compute the stress and store it in the _stress material property for the current quadrature point. More...
 

Protected Attributes

const std::string _base_name
 Base name prepended to all material property names to allow for multi-material systems. More...
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain
 Mechanical strain material property. More...
 
MaterialProperty< RankTwoTensor > & _stress
 Stress material property. More...
 
MaterialProperty< RankTwoTensor > & _elastic_strain
 Elastic strain material property. More...
 
const MaterialProperty< RankTwoTensor > & _extra_stress
 Extra stress tensor. More...
 
std::vector< const Function * > _initial_stress_fcn
 initial stress components More...
 
MaterialProperty< RankFourTensor > & _Jacobian_mult
 derivative of stress w.r.t. strain (_dstress_dstrain) More...
 

Detailed Description

ComputeStressBase is the base class for stress tensors.

Definition at line 26 of file ComputeStressBase.h.

Constructor & Destructor Documentation

◆ ComputeStressBase()

ComputeStressBase::ComputeStressBase ( const InputParameters &  parameters)

Definition at line 28 of file ComputeStressBase.C.

29  : DerivativeMaterialInterface<Material>(parameters),
30  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
31  _mechanical_strain(getMaterialPropertyByName<RankTwoTensor>(_base_name + "mechanical_strain")),
32  _stress(declareProperty<RankTwoTensor>(_base_name + "stress")),
33  _elastic_strain(declareProperty<RankTwoTensor>(_base_name + "elastic_strain")),
34  _extra_stress(getDefaultMaterialProperty<RankTwoTensor>(_base_name + "extra_stress")),
35  _Jacobian_mult(declareProperty<RankFourTensor>(_base_name + "Jacobian_mult"))
36 {
37 
38  if (getParam<bool>("use_displaced_mesh"))
39  mooseError("The stress calculator needs to run on the undisplaced mesh.");
40 }

Member Function Documentation

◆ computeQpProperties()

void ComputeStressBase::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 50 of file ComputeStressBase.C.

51 {
53 
54  // Add in extra stress
55  _stress[_qp] += _extra_stress[_qp];
56 }

◆ computeQpStress()

virtual void ComputeStressBase::computeQpStress ( )
protectedpure virtual

◆ initQpStatefulProperties()

void ComputeStressBase::initQpStatefulProperties ( )
overrideprotectedvirtual

◆ validParams()

InputParameters ComputeStressBase::validParams ( )
static

Definition at line 17 of file ComputeStressBase.C.

18 {
19  InputParameters params = Material::validParams();
20  params.addParam<std::string>("base_name",
21  "Optional parameter that allows the user to define "
22  "multiple mechanics material systems on the same "
23  "block, i.e. for multiple phases");
24  params.suppressParameter<bool>("use_displaced_mesh");
25  return params;
26 }

Referenced by ComputeCosseratStressBase::validParams(), ComputePFFractureStressBase::validParams(), ComputeLinearElasticStress::validParams(), ComputeStrainIncrementBasedStress::validParams(), ComputeFiniteStrainElasticStress::validParams(), FiniteStrainCrystalPlasticity::validParams(), FiniteStrainPlasticMaterial::validParams(), ComputeMultiPlasticityStress::validParams(), FiniteStrainHyperElasticViscoPlastic::validParams(), and FiniteStrainUObasedCP::validParams().

Member Data Documentation

◆ _base_name

const std::string ComputeStressBase::_base_name
protected

Base name prepended to all material property names to allow for multi-material systems.

Definition at line 45 of file ComputeStressBase.h.

Referenced by ComputeLinearElasticStress::initialSetup(), and ComputeCosseratLinearElasticStress::initialSetup().

◆ _elastic_strain

MaterialProperty<RankTwoTensor>& ComputeStressBase::_elastic_strain
protected

◆ _extra_stress

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_extra_stress
protected

Extra stress tensor.

Definition at line 55 of file ComputeStressBase.h.

Referenced by computeQpProperties().

◆ _initial_stress_fcn

std::vector<const Function *> ComputeStressBase::_initial_stress_fcn
protected

initial stress components

Definition at line 58 of file ComputeStressBase.h.

◆ _Jacobian_mult

MaterialProperty<RankFourTensor>& ComputeStressBase::_Jacobian_mult
protected

◆ _mechanical_strain

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_mechanical_strain
protected

◆ _stress

MaterialProperty<RankTwoTensor>& ComputeStressBase::_stress
protected

Stress material property.

Definition at line 50 of file ComputeStressBase.h.

Referenced by ComputeMultipleInelasticCosseratStress::computeAdmissibleState(), ComputeMultipleInelasticStress::computeAdmissibleState(), computeQpProperties(), ComputeStrainIncrementBasedStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), ComputeDamageStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeMultiPlasticityStress::computeQpStress(), ComputeLinearViscoelasticStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStressIntermediateConfiguration(), ComputeLinearElasticPFFractureStress::computeStrainSpectral(), ComputeLinearElasticPFFractureStress::computeStrainVolDev(), ComputeLinearElasticPFFractureStress::computeStressSpectral(), ComputeMultipleInelasticStress::finiteStrainRotation(), initQpStatefulProperties(), FiniteStrainCrystalPlasticity::initQpStatefulProperties(), FiniteStrainUObasedCP::initQpStatefulProperties(), FiniteStrainHyperElasticViscoPlastic::initQpStatefulProperties(), ComputeMultiPlasticityStress::postReturnMap(), FiniteStrainUObasedCP::postSolveQp(), FiniteStrainHyperElasticViscoPlastic::postSolveQp(), FiniteStrainCrystalPlasticity::postSolveQp(), ComputeSmearedCrackingStress::updateCrackingStateAndStress(), ComputeMultipleInelasticStress::updateQpState(), and ComputeMultipleInelasticStress::updateQpStateSingleModel().


The documentation for this class was generated from the following files:
ComputeStressBase::_stress
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
Definition: ComputeStressBase.h:50
ComputeStressBase::_extra_stress
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.
Definition: ComputeStressBase.h:55
ComputeStressBase::_Jacobian_mult
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition: ComputeStressBase.h:61
ComputeStressBase::computeQpStress
virtual void computeQpStress()=0
Compute the stress and store it in the _stress material property for the current quadrature point.
ComputeStressBase::_base_name
const std::string _base_name
Base name prepended to all material property names to allow for multi-material systems.
Definition: ComputeStressBase.h:45
validParams
InputParameters validParams()
ComputeStressBase::_elastic_strain
MaterialProperty< RankTwoTensor > & _elastic_strain
Elastic strain material property.
Definition: ComputeStressBase.h:52
ComputeStressBase::_mechanical_strain
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Mechanical strain material property.
Definition: ComputeStressBase.h:48