https://mooseframework.inl.gov
LagrangianObjectiveRate.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 // Inputs/Outputs hold RankTwoTensor / RankFourTensor by value, so the full definitions are needed.
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 
16 class MooseEnum;
17 
26 {
30 struct Inputs
31 {
47 };
48 
51 struct Outputs
52 {
56 };
57 
59 Outputs truesdell(const Inputs & in, bool need_jacobian);
61 Outputs jaumann(const Inputs & in, bool need_jacobian);
63 Outputs greenNaghdi(const Inputs & in, bool need_jacobian);
66 Outputs rashid(const Inputs & in, bool need_jacobian);
67 
70 Outputs compute(const MooseEnum & rate, const Inputs & in, bool need_jacobian);
71 }
RankFourTensor d_dL_d_F
d(dL)/dF and d(dW)/dF from the strain calculator.
Per-qp quantities a rate reads.
Objective-stress-rate updates as stateless free functions.
Outputs greenNaghdi(const Inputs &in, bool need_jacobian)
sigma_{n+1} = J(dO)^{-1} (sigma_n + Deltasigma), with dO built from the polar rotation increment...
Outputs jaumann(const Inputs &in, bool need_jacobian)
sigma_{n+1} = J(dW)^{-1} (sigma_n + Deltasigma). Jaumann rate.
RankTwoTensor dS
Constitutive small-stress increment (_small_stress - _small_stress_old).
RankTwoTensor cauchy_stress_old
Cumulative Cauchy stress at step n.
RankFourTensor d_rotation_d_F
Green-Naghdi only: dR/dF.
RankTwoTensor rotation
Green-Naghdi only: polar-decomposition rotation R (n+1 and n), the inverse incremental deformation gr...
Outputs truesdell(const Inputs &in, bool need_jacobian)
sigma_{n+1} = J(dL)^{-1} (sigma_n + Deltasigma). Truesdell rate.
RankTwoTensor dL
Spatial velocity gradient increment dL and its vorticity (skew) part dW.
Per-qp outputs a rate produces.
RankFourTensor small_jacobian
Small-strain algorithmic tangent.
Outputs rashid(const Inputs &in, bool need_jacobian)
sigma_{n+1} = r_hat (sigma_n + Deltasigma) r_hat^T, r_hat = exp(Deltaw).
Outputs compute(const MooseEnum &rate, const Inputs &in, bool need_jacobian)
Dispatch to the rate selected by the objective_rate enum (truesdell / jaumann / green_naghdi / rashid...