www.mooseframework.org
ComputeLinearElasticStress.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
12 registerMooseObject("TensorMechanicsApp", ComputeLinearElasticStress);
13 
15 
16 InputParameters
18 {
19  InputParameters params = ComputeStressBase::validParams();
20  params.addClassDescription("Compute stress using elasticity for small strains");
21  return params;
22 }
23 
24 ComputeLinearElasticStress::ComputeLinearElasticStress(const InputParameters & parameters)
25  : ComputeStressBase(parameters),
26  _elasticity_tensor_name(_base_name + "elasticity_tensor"),
27  _elasticity_tensor(getMaterialPropertyByName<RankFourTensor>(_elasticity_tensor_name))
28 {
29 }
30 
31 void
33 {
34  if (hasBlockMaterialProperty<RankTwoTensor>(_base_name + "strain_increment"))
35  mooseError("This linear elastic stress calculation only works for small strains; use "
36  "ComputeFiniteStrainElasticStress for simulations using incremental and finite "
37  "strains.");
38 }
39 
40 void
42 {
43  // stress = C * e
45 
46  // Assign value for elastic strain, which is equal to the mechanical strain
48 
49  // Compute dstress_dstrain
51 }
ComputeStressBase::_stress
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
Definition: ComputeStressBase.h:50
ComputeStressBase::_Jacobian_mult
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition: ComputeStressBase.h:61
ComputeStressBase
ComputeStressBase is the base class for stress tensors.
Definition: ComputeStressBase.h:26
ComputeStressBase::validParams
static InputParameters validParams()
Definition: ComputeStressBase.C:17
ComputeLinearElasticStress
ComputeLinearElasticStress computes the stress following linear elasticity theory (small strains)
Definition: ComputeLinearElasticStress.h:22
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
ComputeLinearElasticStress.h
ComputeLinearElasticStress::computeQpStress
virtual void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
Definition: ComputeLinearElasticStress.C:41
ComputeStressBase::_elastic_strain
MaterialProperty< RankTwoTensor > & _elastic_strain
Elastic strain material property.
Definition: ComputeStressBase.h:52
ComputeLinearElasticStress::_elasticity_tensor
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
Definition: ComputeLinearElasticStress.h:37
ComputeLinearElasticStress::ComputeLinearElasticStress
ComputeLinearElasticStress(const InputParameters &parameters)
Definition: ComputeLinearElasticStress.C:24
ComputeLinearElasticStress::initialSetup
virtual void initialSetup() override
Definition: ComputeLinearElasticStress.C:32
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
ComputeLinearElasticStress::validParams
static InputParameters validParams()
Definition: ComputeLinearElasticStress.C:17
ComputeStressBase::_mechanical_strain
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Mechanical strain material property.
Definition: ComputeStressBase.h:48
defineLegacyParams
defineLegacyParams(ComputeLinearElasticStress)
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeLinearElasticStress)