https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeLagrangianObjectiveStress.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
10#pragma once
11
14
30{
31public:
34
35protected:
37 virtual void initQpStatefulProperties() override;
38
40 virtual void computeQpCauchyStress() override;
41
43 // This method must provide the _small_stress and _small_jacobian
44 virtual void computeQpSmallStress() = 0;
45
48
51
54
61
64
67
70
73
76
79
82
90
93
96
100
109};
Provide the Cauchy stress via an objective integration of a small stress.
const bool _rotate_old_stress
If true, the rate runs in passthrough mode – the host discards the rate's own outer rotation and sets...
const MaterialProperty< RankFourTensor > * _d_rotation_d_F
const MaterialProperty< RankTwoTensor > & _small_stress_old
We need the old value to get the increment.
virtual void initQpStatefulProperties() override
Initialize the new (small) stress.
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Provided for material models that use the integrated strain.
const MaterialProperty< RankTwoTensor > & _deformation_gradient_increment
The spatial velocity gradient increment (dL)
const MaterialProperty< RankTwoTensor > * _rotation
Polar-decomposition rotation R of F (and its old value and derivative), published by the strain calcu...
const MooseEnum & _objective_rate
Which objective rate to use (truesdell / jaumann / green_naghdi / rashid).
const MaterialProperty< RankTwoTensor > * _rotation_old
const MaterialProperty< RankTwoTensor > & _def_grad
Deformation gradient.
virtual void computeQpCauchyStress() override
Implement the objective update.
const MaterialProperty< RankTwoTensor > & _vorticity_increment
Provided for material models that use the vorticity increment.
MaterialProperty< RankTwoTensor > & _small_stress
The updated small stress.
virtual void computeQpSmallStress()=0
Method to implement to provide the small stress update.
const MaterialProperty< RankTwoTensor > & _strain_increment
Provided for material models that use the strain increment.
const MaterialProperty< RankFourTensor > & _d_deformation_gradient_increment_d_F
d(dL)/dF, stored by the strain calculator
const MaterialProperty< RankTwoTensor > & _def_grad_old
Deformation gradient.
const MaterialProperty< RankTwoTensor > & _cauchy_stress_old
We need the old Cauchy stress to do the objective integration.
MaterialProperty< RankFourTensor > & _small_jacobian
The updated small algorithmic tangent.
MaterialProperty< RankFourTensor > & _dcauchy_stress_d_eigenstrain
Derivative of the Cauchy stress with respect to the eigenstrain at this step, d_sigma/d_eigenstrain =...
const MaterialProperty< RankFourTensor > & _d_vorticity_increment_d_F
d(dW)/dF from the strain calculator, consumed by Jaumann and Rashid
Native interface for providing the Cauchy stress.
const InputParameters & parameters() const