https://mooseframework.inl.gov
ComputeLagrangianStressBase.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 
12 #include "Material.h"
13 #include "RankTwoTensorForward.h"
14 #include "RankFourTensorForward.h"
15 #include "GuaranteeConsumer.h"
16 
56 {
57 public:
60 
61 protected:
63  virtual void initialSetup() override;
65  virtual void initQpStatefulProperties() override;
67  virtual void computeQpProperties() override;
69  virtual void computeQpStressUpdate() = 0;
70 
71 protected:
76 
78  const std::string _base_name;
79 
85 
97 
103 
106 
112 
116 
121 
124 
131 };
const MaterialProperty< RankFourTensor > & _d_F_stab_d_F_ust
d(F_stab)/d(F_ust).
MaterialProperty< RankFourTensor > & _dpk1_d_grad_u
The derivative of the 1st PK stress wrt the displacement gradient (grad u_{n+1}). ...
const InputParameters & parameters() const
bool _large_kinematics
If true use large deformations.
const MaterialProperty< RankFourTensor > & _d_F_stab_d_F_avg
d(F_stab)/d(F_avg), the non-local F-bar partial. Read to compose _d_nl_fbar.
const MaterialProperty< RankTwoTensor > & _F_ust
Unstabilized deformation gradient (= F_actual at alpha = 1).
MaterialProperty< RankTwoTensor > & _pk1_stress
The 1st Piola-Kirchhoff stress.
virtual void initialSetup() override
Derive _large_kinematics from the strain calculator&#39;s LARGE_KINEMATICS guarantee. ...
const std::string _base_name
Prepend to the material properties.
MaterialProperty< RankFourTensor > & _d_nl_fbar
Non-local F-bar operator D_nl = cauchy_jacobian : d(dL)/dF : d(F_stab)/d(F_avg), published so the Lag...
virtual void initQpStatefulProperties() override
Initialize everything with zeros.
MaterialProperty< RankFourTensor > & _pk1_jacobian
The derivative of the 1st PK stress wrt the deformation gradient (F that the stress material consumes...
MaterialProperty< RankFourTensor > & _pk1_jacobian_bypass_fbar
Variant of _pk1_jacobian computed WITHOUT the F-bar chain factor _d_F_stab_d_F_ust in the sigma-via-d...
const MaterialProperty< RankFourTensor > & _d_deformation_gradient_increment_d_F
d(spatial velocity gradient increment)/d(F_stab).
MaterialProperty< RankTwoTensor > & _cauchy_stress
The Cauchy stress.
Provide stresses in the form required for the Lagrangian kernels.
static InputParameters validParams()
const MaterialProperty< RankFourTensor > & _d_F_d_grad_u
d(F)/d(grad u_{n+1}) (= alpha * IdentityFour for the generalized midpoint rule)
virtual void computeQpProperties() override
Update all properties (here just the stress/derivatives)
ComputeLagrangianStressBase(const InputParameters &parameters)
Add-on class that provides the functionality to check if guarantees for material properties are provi...
virtual void computeQpStressUpdate()=0
Provide for the actual stress updates.
MaterialProperty< RankFourTensor > & _cauchy_jacobian
The derivative of the Cauchy stress wrt the increment in the spatial velocity gradient.