https://mooseframework.inl.gov
ADComputeMultiplePorousInelasticStress.C
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 
11 
12 #include "RankTwoTensor.h"
13 
14 registerMooseObjectDeprecated("SolidMechanicsApp",
16  "01/30/2021 24:00");
17 
20 {
22  params.addClassDescription(
23  "Compute state (stress and internal parameters such as plastic "
24  "strains and internal parameters) using an iterative process. A porosity material property "
25  "is defined and is calculated from the trace of inelastic strain increment.");
26 
27  params.addParam<MaterialPropertyName>(
28  "porosity_name", "porosity", "Name of porosity material property");
30  "initial_porosity", "initial_porosity>0.0 & initial_porosity<1.0", "Initial porosity");
31  return params;
32 }
33 
35  const InputParameters & parameters)
37  _porosity(declareADProperty<Real>(getParam<MaterialPropertyName>("porosity_name"))),
38  _porosity_old(getMaterialPropertyOld<Real>(getParam<MaterialPropertyName>("porosity_name"))),
39  _initial_porosity(getParam<Real>("initial_porosity"))
40 {
41 }
42 
43 void
45 {
47 
49 }
50 
51 void
53 {
55 
56  _porosity[_qp] =
59  if (_porosity[_qp] < 0.0)
60  _porosity[_qp] = 0.0;
61 }
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
virtual void initQpStatefulProperties() override
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
const MaterialProperty< RankTwoTensor > & _inelastic_strain_old
old value of inelastic strain
ADMaterialProperty< RankTwoTensor > & _inelastic_strain
The sum of the inelastic strains that come from the plastic models.
ADComputeMultipleInelasticStress computes the stress and a decomposition of the strain into elastic a...
virtual void computeQpProperties() override
ADMaterialProperty< Real > & _porosity
Material property for porosity.
unsigned int _qp
const Real _initial_porosity
Initial porosity value. Must be greater than zero.
ADComputeMultiplePorousInelasticStress(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObjectDeprecated("SolidMechanicsApp", ADComputeMultiplePorousInelasticStress, "01/30/2021 24:00")
void addClassDescription(const std::string &doc_string)
Compute state (stress and internal parameters such as plastic strains and internal parameters) using ...