https://mooseframework.inl.gov
PorosityFromStrain.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 
17 template <bool is_ad>
19 {
20 public:
22 
24 
25 protected:
26  enum class NegativeBehavior
27  {
28  ZERO,
30  EXCEPTION
31  };
32 
33  virtual void computeQpProperties() override;
34  virtual void initQpStatefulProperties() override;
35 
38 
41 
44 
47 
50 
53 };
54 
const Real _initial_porosity
Initial porosity.
Porosity calculation from the inelastic strain.
GenericMaterialProperty< Real, is_ad > & _porosity
Porosity value.
const GenericMaterialProperty< RankTwoTensor, is_ad > & _inelastic_strain
Inelastic strain material property.
PorosityFromStrainTempl< true > ADPorosityFromStrain
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
static InputParameters validParams()
virtual void computeQpProperties() override
virtual void initQpStatefulProperties() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< RankTwoTensor > & _inelastic_strain_old
Old value of the inelastic strain.
const NegativeBehavior _negative_behavior
Enum for negative porosity handling.
PorosityFromStrainTempl< false > PorosityFromStrain
const InputParameters & parameters() const
const MaterialProperty< Real > & _porosity_old
Old porosity value.
PorosityFromStrainTempl(const InputParameters &parameters)