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 ()
 
virtual void computeQpJacobian ()
 
virtual void initQpStatefulProperties () override
 
virtual void computeQpProperties () override
 

Protected Attributes

const MaterialProperty< RankTwoTensor > & _stress_old
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
 
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
 
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
 
std::vector< MaterialPropertyName > _property_names
 
unsigned int _num_property
 
const std::string _base_name
 
const std::string _elasticity_tensor_name
 
MaterialProperty< RankTwoTensor > & _stress
 
MaterialProperty< RankTwoTensor > & _elastic_strain
 
const MaterialProperty< RankFourTensor > & _elasticity_tensor
 
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...
 

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  _stress_old(getMaterialPropertyOld<RankTwoTensor>(_base_name + "stress")),
30  _mechanical_strain(getMaterialPropertyByName<RankTwoTensor>(_base_name + "mechanical_strain")),
32  getMaterialPropertyOldByName<RankTwoTensor>(_base_name + "mechanical_strain")),
33  _property_names(getParam<std::vector<MaterialPropertyName>>("inelastic_strain_names"))
34 {
36 
37  if (_num_property > 0)
38  {
41 
42  for (unsigned int i = 0; i < _num_property; ++i)
43  {
44  _inelastic_strains[i] = &getMaterialProperty<RankTwoTensor>(_property_names[i]);
45  _inelastic_strains_old[i] = &getMaterialPropertyOld<RankTwoTensor>(_property_names[i]);
46  }
47  }
48 }
const MaterialProperty< RankTwoTensor > & _stress_old
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
const MaterialProperty< RankTwoTensor > & _mechanical_strain
std::vector< MaterialPropertyName > _property_names
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
const std::string _base_name
ComputeStressBase(const InputParameters &parameters)

Member Function Documentation

◆ computeQpJacobian()

void ComputeStrainIncrementBasedStress::computeQpJacobian ( )
protectedvirtual

Definition at line 64 of file ComputeStrainIncrementBasedStress.C.

Referenced by computeQpStress().

65 {
67 }
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
const MaterialProperty< RankFourTensor > & _elasticity_tensor

◆ computeQpProperties()

void ComputeStressBase::computeQpProperties ( )
overrideprotectedvirtualinherited

Definition at line 51 of file ComputeStressBase.C.

52 {
54 
55  // Add in extra stress
56  _stress[_qp] += _extra_stress[_qp];
57 }
virtual void computeQpStress()=0
MaterialProperty< RankTwoTensor > & _stress
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.

◆ computeQpStress()

void ComputeStrainIncrementBasedStress::computeQpStress ( )
protectedvirtual

Implements ComputeStressBase.

Definition at line 51 of file ComputeStrainIncrementBasedStress.C.

52 {
53  RankTwoTensor elastic_strain_increment = (_mechanical_strain[_qp] - _mechanical_strain_old[_qp]);
54 
55  for (unsigned int i = 0; i < _num_property; ++i)
56  elastic_strain_increment -= (*_inelastic_strains[i])[_qp] - (*_inelastic_strains_old[i])[_qp];
57 
58  _stress[_qp] = _stress_old[_qp] + _elasticity_tensor[_qp] * elastic_strain_increment;
59 
61 }
const MaterialProperty< RankTwoTensor > & _stress_old
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
MaterialProperty< RankTwoTensor > & _stress
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains
const MaterialProperty< RankTwoTensor > & _mechanical_strain
std::vector< const MaterialProperty< RankTwoTensor > * > _inelastic_strains_old
const MaterialProperty< RankFourTensor > & _elasticity_tensor

◆ initQpStatefulProperties()

void ComputeStressBase::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Member Data Documentation

◆ _base_name

const std::string ComputeStressBase::_base_name
protectedinherited

◆ _elastic_strain

MaterialProperty<RankTwoTensor>& ComputeStressBase::_elastic_strain
protectedinherited

◆ _elasticity_tensor

const MaterialProperty<RankFourTensor>& ComputeStressBase::_elasticity_tensor
protectedinherited

◆ _elasticity_tensor_name

const std::string ComputeStressBase::_elasticity_tensor_name
protectedinherited

◆ _extra_stress

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_extra_stress
protectedinherited

Extra stress tensor.

Definition at line 47 of file ComputeStressBase.h.

Referenced by ComputeStressBase::computeQpProperties().

◆ _inelastic_strains

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

◆ _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 50 of file ComputeStressBase.h.

◆ _Jacobian_mult

MaterialProperty<RankFourTensor>& ComputeStressBase::_Jacobian_mult
protectedinherited

◆ _mechanical_strain

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_mechanical_strain
protected

Definition at line 33 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().

◆ _mechanical_strain_old

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_mechanical_strain_old
protected

Definition at line 34 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().

◆ _num_property

unsigned int ComputeStrainIncrementBasedStress::_num_property
protected

◆ _property_names

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

◆ _stress

MaterialProperty<RankTwoTensor>& ComputeStressBase::_stress
protectedinherited

◆ _stress_old

const MaterialProperty<RankTwoTensor>& ComputeStrainIncrementBasedStress::_stress_old
protected

Definition at line 32 of file ComputeStrainIncrementBasedStress.h.

Referenced by computeQpStress().


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