www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputeStrainIncrementBasedStress Class Reference

ComputeStrainIncrementBasedStress computes stress considering list of inelastic strain increments. More...

#include <ComputeStrainIncrementBasedStress.h>

Inheritance diagram for ComputeStrainIncrementBasedStress:
[legend]

Public Member Functions

 ComputeStrainIncrementBasedStress (const InputParameters &parameters)
 

Protected Member Functions

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

Protected Attributes

const std::string _elasticity_tensor_name
 Name of the elasticity tensor material property. More...
 
const MaterialProperty< RankFourTensor > & _elasticity_tensor
 Elasticity tensor material property. More...
 
const MaterialProperty< RankTwoTensor > & _stress_old
 Old state of the stress tensor material property. More...
 
std::vector< MaterialPropertyName > _inelastic_strain_names
 Names of the inelastic strain material properties for all inelastic models. More...
 
unsigned int _num_inelastic_strain_models
 Number of inelastic models. More...
 
const std::string _base_name
 Base name prepended to all material property names to allow for multi-material systems. 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< Function * > _initial_stress_fcn
 initial stress components More...
 
MaterialProperty< RankFourTensor > & _Jacobian_mult
 derivative of stress w.r.t. strain (_dstress_dstrain) More...
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain
 Current and old states of the mechanical strain material property. More...
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
 
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
 Vectors of current and old states of the inelastic strain material properties. More...
 
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
 

Detailed Description

ComputeStrainIncrementBasedStress computes stress considering list of inelastic strain increments.

Definition at line 23 of file ComputeStrainIncrementBasedStress.h.

Constructor & Destructor Documentation

◆ ComputeStrainIncrementBasedStress()

ComputeStrainIncrementBasedStress::ComputeStrainIncrementBasedStress ( const InputParameters &  parameters)

Definition at line 26 of file ComputeStrainIncrementBasedStress.C.

28  : ComputeStressBase(parameters),
29  _elasticity_tensor_name(_base_name + "elasticity_tensor"),
30  _elasticity_tensor(getMaterialPropertyByName<RankFourTensor>(_elasticity_tensor_name)),
31  _stress_old(getMaterialPropertyOld<RankTwoTensor>(_base_name + "stress")),
32  _mechanical_strain(getMaterialPropertyByName<RankTwoTensor>(_base_name + "mechanical_strain")),
34  getMaterialPropertyOldByName<RankTwoTensor>(_base_name + "mechanical_strain")),
35  _inelastic_strain_names(getParam<std::vector<MaterialPropertyName>>("inelastic_strain_names"))
36 {
38 
40  {
43 
44  for (unsigned int i = 0; i < _num_inelastic_strain_models; ++i)
45  {
46  _inelastic_strains[i] = &getMaterialProperty<RankTwoTensor>(_inelastic_strain_names[i]);
48  &getMaterialPropertyOld<RankTwoTensor>(_inelastic_strain_names[i]);
49  }
50  }
51 }
const MaterialProperty< RankTwoTensor > & _stress_old
Old state of the stress tensor material property.
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
Vectors of current and old states of the inelastic strain material properties.
unsigned int _num_inelastic_strain_models
Number of inelastic models.
const std::string _elasticity_tensor_name
Name of the elasticity tensor material property.
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Current and old states of the mechanical strain material property.
std::vector< MaterialPropertyName > _inelastic_strain_names
Names of the inelastic strain material properties for all inelastic models.
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
const std::string _base_name
Base name prepended to all material property names to allow for multi-material systems.
ComputeStressBase(const InputParameters &parameters)

Member Function Documentation

◆ computeQpJacobian()

void ComputeStrainIncrementBasedStress::computeQpJacobian ( )
protectedvirtual

Definition at line 67 of file ComputeStrainIncrementBasedStress.C.

Referenced by computeQpStress().

68 {
70 }
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.

◆ computeQpProperties()

void ComputeStressBase::computeQpProperties ( )
overrideprotectedvirtualinherited

Definition at line 49 of file ComputeStressBase.C.

50 {
52 
53  // Add in extra stress
54  _stress[_qp] += _extra_stress[_qp];
55 }
virtual void computeQpStress()=0
Compute the stress and store it in the _stress material property for the current quadrature point...
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.

◆ computeQpStress()

void ComputeStrainIncrementBasedStress::computeQpStress ( )
protectedvirtual

Compute the stress and store it in the _stress material property for the current quadrature point.

Implements ComputeStressBase.

Definition at line 54 of file ComputeStrainIncrementBasedStress.C.

55 {
56  RankTwoTensor elastic_strain_increment = (_mechanical_strain[_qp] - _mechanical_strain_old[_qp]);
57 
58  for (unsigned int i = 0; i < _num_inelastic_strain_models; ++i)
59  elastic_strain_increment -= (*_inelastic_strains[i])[_qp] - (*_inelastic_strains_old[i])[_qp];
60 
61  _stress[_qp] = _stress_old[_qp] + _elasticity_tensor[_qp] * elastic_strain_increment;
62 
64 }
const MaterialProperty< RankTwoTensor > & _stress_old
Old state of the stress tensor material property.
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
Vectors of current and old states of the inelastic strain material properties.
unsigned int _num_inelastic_strain_models
Number of inelastic models.
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Current and old states of the mechanical strain material property.
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.

◆ initQpStatefulProperties()

void ComputeStressBase::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Member Data Documentation

◆ _base_name

const std::string ComputeStressBase::_base_name
protectedinherited

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

Definition at line 44 of file ComputeStressBase.h.

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

◆ _elastic_strain

MaterialProperty<RankTwoTensor>& ComputeStressBase::_elastic_strain
protectedinherited

◆ _elasticity_tensor

const MaterialProperty<RankFourTensor>& ComputeStrainIncrementBasedStress::_elasticity_tensor
protected

Elasticity tensor material property.

Definition at line 35 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpJacobian(), and computeQpStress().

◆ _elasticity_tensor_name

const std::string ComputeStrainIncrementBasedStress::_elasticity_tensor_name
protected

Name of the elasticity tensor material property.

Definition at line 33 of file ComputeStrainIncrementBasedStress.h.

◆ _extra_stress

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_extra_stress
protectedinherited

Extra stress tensor.

Definition at line 54 of file ComputeStressBase.h.

Referenced by ComputeStressBase::computeQpProperties().

◆ _inelastic_strain_names

std::vector<MaterialPropertyName> ComputeStrainIncrementBasedStress::_inelastic_strain_names
protected

Names of the inelastic strain material properties for all inelastic models.

Definition at line 48 of file ComputeStrainIncrementBasedStress.h.

Referenced by ComputeStrainIncrementBasedStress().

◆ _inelastic_strains

std::vector<const MaterialProperty<RankTwoTensor> *> ComputeStrainIncrementBasedStress::_inelastic_strains
protected

Vectors of current and old states of the inelastic strain material properties.

Definition at line 43 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress(), and ComputeStrainIncrementBasedStress().

◆ _inelastic_strains_old

std::vector<const MaterialProperty<RankTwoTensor> *> ComputeStrainIncrementBasedStress::_inelastic_strains_old
protected

◆ _initial_stress_fcn

std::vector<Function *> ComputeStressBase::_initial_stress_fcn
protectedinherited

initial stress components

Definition at line 57 of file ComputeStressBase.h.

◆ _Jacobian_mult

MaterialProperty<RankFourTensor>& ComputeStressBase::_Jacobian_mult
protectedinherited

◆ _mechanical_strain

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_mechanical_strain
protected

Current and old states of the mechanical strain material property.

Definition at line 39 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().

◆ _mechanical_strain_old

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_mechanical_strain_old
protected

Definition at line 40 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().

◆ _num_inelastic_strain_models

unsigned int ComputeStrainIncrementBasedStress::_num_inelastic_strain_models
protected

Number of inelastic models.

Definition at line 50 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress(), and ComputeStrainIncrementBasedStress().

◆ _stress

MaterialProperty<RankTwoTensor>& ComputeStressBase::_stress
protectedinherited

Stress material property.

Definition at line 49 of file ComputeStressBase.h.

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

◆ _stress_old

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_stress_old
protected

Old state of the stress tensor material property.

Definition at line 37 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().


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