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

ComputeCosseratLinearElasticStress computes the Cosserat stress and couple-stress following linear elasticity theory It also sets the d(stress)/d(strain) and d(couple_stress)/d(curvature) tensors appropriately. More...

#include <ComputeCosseratLinearElasticStress.h>

Inheritance diagram for ComputeCosseratLinearElasticStress:
[legend]

Public Member Functions

 ComputeCosseratLinearElasticStress (const InputParameters &parameters)
 
virtual void initialSetup ()
 

Protected Member Functions

virtual void computeQpStress ()
 
virtual void initQpStatefulProperties ()
 
virtual void computeQpProperties () override
 
void addQpInitialStress ()
 InitialStress Deprecation: remove this method. More...
 

Protected Attributes

const MaterialProperty< RankTwoTensor > & _curvature
 The Cosserat curvature strain. More...
 
const MaterialProperty< RankFourTensor > & _elastic_flexural_rigidity_tensor
 The Cosserat elastic flexural rigidity tensor. More...
 
MaterialProperty< RankTwoTensor > & _stress_couple
 the Cosserat couple-stress More...
 
MaterialProperty< RankFourTensor > & _Jacobian_mult_couple
 derivative of couple-stress w.r.t. curvature More...
 
const std::string _base_name
 
const std::string _elasticity_tensor_name
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain
 
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...
 
const bool _store_stress_old
 Parameter which decides whether to store old stress. This is required for HHT time integration and Rayleigh damping. More...
 
const bool _initial_stress_provided
 Whether initial stress was provided. InitialStress Deprecation: remove this. More...
 
MaterialProperty< RankTwoTensor > * _initial_stress
 Initial stress, if provided. InitialStress Deprecation: remove this. More...
 
const MaterialProperty< RankTwoTensor > * _initial_stress_old
 Old value of initial stress, which is needed to correctly implement finite-strain rotations. InitialStress Deprecation: remove this. More...
 

Detailed Description

ComputeCosseratLinearElasticStress computes the Cosserat stress and couple-stress following linear elasticity theory It also sets the d(stress)/d(strain) and d(couple_stress)/d(curvature) tensors appropriately.

Definition at line 18 of file ComputeCosseratLinearElasticStress.h.

Constructor & Destructor Documentation

ComputeCosseratLinearElasticStress::ComputeCosseratLinearElasticStress ( const InputParameters &  parameters)

Definition at line 19 of file ComputeCosseratLinearElasticStress.C.

21  : ComputeCosseratStressBase(parameters)
22 {
23 }
ComputeCosseratStressBase(const InputParameters &parameters)

Member Function Documentation

void ComputeStressBase::addQpInitialStress ( )
protectedinherited

InitialStress Deprecation: remove this method.

Adds initial stress, if it is provided, to _stress[_qp]. This function should NOT be used if you calculate stress using

stress = stress_old + elasticity * strain_increment

because stress_old will already include initial stress. However this function SHOULD be used if your code uses

stress = elasticity * (elastic_strain_old + strain_increment) or stress = elasticity * elastic_strain

since in these cases the elastic_strain and elastic_strain_old will not include any contribution from initial stress.

Definition at line 112 of file ComputeStressBase.C.

Referenced by ComputeLinearElasticStress::computeQpStress(), computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStressIntermediateConfiguration(), ComputeStressBase::initQpStatefulProperties(), ComputeMultipleInelasticStress::updateQpState(), and ComputeMultipleInelasticStress::updateQpStateSingleModel().

113 {
115  _stress[_qp] += (*_initial_stress)[_qp];
116 }
MaterialProperty< RankTwoTensor > & _stress
const bool _initial_stress_provided
Whether initial stress was provided. InitialStress Deprecation: remove this.
void ComputeStressBase::computeQpProperties ( )
overrideprotectedvirtualinherited

Reimplemented in ComputeBirchMurnaghanEquationOfStress, and ComputeStressEosBase.

Definition at line 99 of file ComputeStressBase.C.

100 {
101  // InitialStress Deprecation: remove the following 2 lines
103  (*_initial_stress)[_qp] = (*_initial_stress_old)[_qp];
104 
105  computeQpStress();
106 
107  // Add in extra stress
108  _stress[_qp] += _extra_stress[_qp];
109 }
virtual void computeQpStress()=0
MaterialProperty< RankTwoTensor > & _stress
const bool _initial_stress_provided
Whether initial stress was provided. InitialStress Deprecation: remove this.
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.
void ComputeCosseratLinearElasticStress::computeQpStress ( )
protectedvirtual

Implements ComputeCosseratStressBase.

Definition at line 33 of file ComputeCosseratLinearElasticStress.C.

34 {
36  addQpInitialStress(); // InitialStress Deprecation: remove this line
38 
39  _elastic_strain[_qp] = _mechanical_strain[_qp];
40 
43 }
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
const MaterialProperty< RankFourTensor > & _elastic_flexural_rigidity_tensor
The Cosserat elastic flexural rigidity tensor.
MaterialProperty< RankTwoTensor > & _stress
const MaterialProperty< RankTwoTensor > & _curvature
The Cosserat curvature strain.
MaterialProperty< RankFourTensor > & _Jacobian_mult_couple
derivative of couple-stress w.r.t. curvature
const MaterialProperty< RankTwoTensor > & _mechanical_strain
MaterialProperty< RankTwoTensor > & _stress_couple
the Cosserat couple-stress
void addQpInitialStress()
InitialStress Deprecation: remove this method.
const MaterialProperty< RankFourTensor > & _elasticity_tensor
MaterialProperty< RankTwoTensor > & _elastic_strain
void ComputeCosseratLinearElasticStress::initialSetup ( )
virtual

Definition at line 26 of file ComputeCosseratLinearElasticStress.C.

27 {
28  if (hasBlockMaterialProperty<RankTwoTensor>(_base_name + "strain_increment"))
29  mooseError("This linear elastic stress calculation only works for small strains");
30 }
const std::string _base_name
void ComputeCosseratStressBase::initQpStatefulProperties ( )
protectedvirtualinherited

Reimplemented from ComputeStressBase.

Definition at line 30 of file ComputeCosseratStressBase.C.

31 {
33  _stress_couple[_qp].zero();
34 }
MaterialProperty< RankTwoTensor > & _stress_couple
the Cosserat couple-stress
virtual void initQpStatefulProperties() override

Member Data Documentation

const std::string ComputeStressBase::_base_name
protectedinherited
const MaterialProperty<RankTwoTensor>& ComputeCosseratStressBase::_curvature
protectedinherited

The Cosserat curvature strain.

Definition at line 25 of file ComputeCosseratStressBase.h.

Referenced by computeQpStress().

const MaterialProperty<RankFourTensor>& ComputeCosseratStressBase::_elastic_flexural_rigidity_tensor
protectedinherited

The Cosserat elastic flexural rigidity tensor.

Definition at line 28 of file ComputeCosseratStressBase.h.

Referenced by computeQpStress().

MaterialProperty<RankTwoTensor>& ComputeStressBase::_elastic_strain
protectedinherited
const MaterialProperty<RankFourTensor>& ComputeStressBase::_elasticity_tensor
protectedinherited
const std::string ComputeStressBase::_elasticity_tensor_name
protectedinherited
const MaterialProperty<RankTwoTensor>& ComputeStressBase::_extra_stress
protectedinherited
MaterialProperty<RankTwoTensor>* ComputeStressBase::_initial_stress
protectedinherited

Initial stress, if provided. InitialStress Deprecation: remove this.

Definition at line 74 of file ComputeStressBase.h.

Referenced by ComputeStressBase::initQpStatefulProperties().

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

initial stress components

Definition at line 62 of file ComputeStressBase.h.

Referenced by ComputeStressBase::ComputeStressBase(), and ComputeStressBase::initQpStatefulProperties().

const MaterialProperty<RankTwoTensor>* ComputeStressBase::_initial_stress_old
protectedinherited

Old value of initial stress, which is needed to correctly implement finite-strain rotations. InitialStress Deprecation: remove this.

Definition at line 77 of file ComputeStressBase.h.

const bool ComputeStressBase::_initial_stress_provided
protectedinherited
MaterialProperty<RankFourTensor>& ComputeStressBase::_Jacobian_mult
protectedinherited
MaterialProperty<RankFourTensor>& ComputeCosseratStressBase::_Jacobian_mult_couple
protectedinherited

derivative of couple-stress w.r.t. curvature

Definition at line 34 of file ComputeCosseratStressBase.h.

Referenced by computeQpStress().

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_mechanical_strain
protectedinherited
const bool ComputeStressBase::_store_stress_old
protectedinherited

Parameter which decides whether to store old stress. This is required for HHT time integration and Rayleigh damping.

Definition at line 68 of file ComputeStressBase.h.

MaterialProperty<RankTwoTensor>& ComputeStressBase::_stress
protectedinherited

Definition at line 53 of file ComputeStressBase.h.

Referenced by ComputeStressBase::addQpInitialStress(), ComputeMultipleInelasticCosseratStress::computeAdmissibleState(), ComputeMultipleInelasticStress::computeAdmissibleState(), ComputeStressBase::computeQpProperties(), ComputeStressEosBase::computeQpProperties(), ComputeBirchMurnaghanEquationOfStress::computeQpProperties(), ComputeLinearElasticStress::computeQpStress(), ComputeStrainIncrementBasedStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeIsotropicLinearElasticPFFractureStress::computeQpStress(), ComputeFiniteStrainElasticStressBirchMurnaghan::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeMultiPlasticityStress::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeLinearViscoelasticStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStressIntermediateConfiguration(), ComputeSmearedCrackingStress::crackingStressRotation(), ComputeMultipleInelasticStress::finiteStrainRotation(), ComputeStressBase::initQpStatefulProperties(), FiniteStrainCrystalPlasticity::initQpStatefulProperties(), FiniteStrainUObasedCP::initQpStatefulProperties(), FiniteStrainHyperElasticViscoPlastic::initQpStatefulProperties(), ComputeMultiPlasticityStress::postReturnMap(), FiniteStrainUObasedCP::postSolveQp(), FiniteStrainHyperElasticViscoPlastic::postSolveQp(), FiniteStrainCrystalPlasticity::postSolveQp(), ComputeMultipleInelasticStress::updateQpState(), ComputeMultipleInelasticStress::updateQpStateSingleModel(), and LinearIsoElasticPFDamage::updateVar().

MaterialProperty<RankTwoTensor>& ComputeCosseratStressBase::_stress_couple
protectedinherited

the Cosserat couple-stress

Definition at line 31 of file ComputeCosseratStressBase.h.

Referenced by computeQpStress(), and ComputeCosseratStressBase::initQpStatefulProperties().


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