www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ADComputeLinearElasticStress< compute_stage > Class Template Reference

ADComputeLinearElasticStress computes the stress following linear elasticity theory (small strains) More...

#include <ADComputeLinearElasticStress.h>

Inheritance diagram for ADComputeLinearElasticStress< compute_stage >:
[legend]

Public Member Functions

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

Protected Member Functions

virtual void computeQpStress ()
 
virtual void initQpStatefulProperties () override
 
virtual void computeQpProperties () override
 
const ADMaterialProperty (RankTwoTensor) &_mechanical_strain
 
 ADMaterialProperty (RankTwoTensor) &_stress
 
 ADMaterialProperty (RankTwoTensor) &_elastic_strain
 
const ADMaterialProperty (RankFourTensor) &_elasticity_tensor
 

Protected Attributes

 usingComputeStressBaseMembers
 
const std::string _base_name
 
const std::string _elasticity_tensor_name
 
std::vector< Function * > _initial_stress_fcn
 initial stress components More...
 
 usingMaterialMembers
 

Detailed Description

template<ComputeStage compute_stage>
class ADComputeLinearElasticStress< compute_stage >

ADComputeLinearElasticStress computes the stress following linear elasticity theory (small strains)

Definition at line 16 of file ADComputeLinearElasticStress.h.

Constructor & Destructor Documentation

◆ ADComputeLinearElasticStress()

template<ComputeStage compute_stage>
ADComputeLinearElasticStress< compute_stage >::ADComputeLinearElasticStress ( const InputParameters &  parameters)

Definition at line 20 of file ADComputeLinearElasticStress.C.

23 {
24 }
ADComputeStressBase is the base class for stress tensors.

Member Function Documentation

◆ ADMaterialProperty() [1/4]

template<ComputeStage compute_stage>
const ADComputeStressBase< compute_stage >::ADMaterialProperty ( RankTwoTensor  ) &
protectedinherited

◆ ADMaterialProperty() [2/4]

template<ComputeStage compute_stage>
ADComputeStressBase< compute_stage >::ADMaterialProperty ( RankTwoTensor  ) &
protectedinherited

◆ ADMaterialProperty() [3/4]

template<ComputeStage compute_stage>
ADComputeStressBase< compute_stage >::ADMaterialProperty ( RankTwoTensor  ) &
protectedinherited

◆ ADMaterialProperty() [4/4]

template<ComputeStage compute_stage>
const ADComputeStressBase< compute_stage >::ADMaterialProperty ( RankFourTensor  ) &
protectedinherited

◆ computeQpProperties()

template<ComputeStage compute_stage>
void ADComputeStressBase< compute_stage >::computeQpProperties ( )
overrideprotectedvirtualinherited

Definition at line 48 of file ADComputeStressBase.C.

49 {
51 
52  // TODO: Add in extra stress (using a list of extra_stress_names analogous to eigenstrain_names)
53 }
virtual void computeQpStress()=0

◆ computeQpStress()

template<ComputeStage compute_stage>
void ADComputeLinearElasticStress< compute_stage >::computeQpStress ( )
protectedvirtual

Implements ADComputeStressBase< compute_stage >.

Definition at line 38 of file ADComputeLinearElasticStress.C.

39 {
40  // stress = C * e
41  _stress[_qp] = _elasticity_tensor[_qp] * _mechanical_strain[_qp];
42 
43  // Assign value for elastic strain, which is equal to the mechanical strain
44  _elastic_strain[_qp] = _mechanical_strain[_qp];
45 }

◆ initialSetup()

template<ComputeStage compute_stage>
void ADComputeLinearElasticStress< compute_stage >::initialSetup ( )
virtual

Definition at line 28 of file ADComputeLinearElasticStress.C.

29 {
30  if (this->template hasBlockMaterialProperty<RankTwoTensor>(_base_name + "strain_increment"))
31  mooseError("This linear elastic stress calculation only works for small strains; use "
32  "ComputeFiniteStrainElasticStress for simulations using incremental and finite "
33  "strains.");
34 }
const std::string _base_name

◆ initQpStatefulProperties()

template<ComputeStage compute_stage>
void ADComputeStressBase< compute_stage >::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Definition at line 40 of file ADComputeStressBase.C.

41 {
42  _elastic_strain[_qp].zero();
43  _stress[_qp].zero();
44 }

Member Data Documentation

◆ _base_name

template<ComputeStage compute_stage>
const std::string ADComputeStressBase< compute_stage >::_base_name
protectedinherited

Definition at line 54 of file ADComputeStressBase.h.

◆ _elasticity_tensor_name

template<ComputeStage compute_stage>
const std::string ADComputeStressBase< compute_stage >::_elasticity_tensor_name
protectedinherited

Definition at line 55 of file ADComputeStressBase.h.

◆ _initial_stress_fcn

template<ComputeStage compute_stage>
std::vector<Function *> ADComputeStressBase< compute_stage >::_initial_stress_fcn
protectedinherited

initial stress components

Definition at line 64 of file ADComputeStressBase.h.

◆ usingComputeStressBaseMembers

template<ComputeStage compute_stage>
ADComputeLinearElasticStress< compute_stage >::usingComputeStressBaseMembers
protected

Definition at line 34 of file ADComputeLinearElasticStress.h.

◆ usingMaterialMembers

template<ComputeStage compute_stage>
ADComputeStressBase< compute_stage >::usingMaterialMembers
protectedinherited

Definition at line 66 of file ADComputeStressBase.h.


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