www.mooseframework.org
HyperElasticPhaseFieldIsoDamage.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
13 
15 
16 template <>
18 
26 {
27 public:
28  static InputParameters validParams();
29 
30  HyperElasticPhaseFieldIsoDamage(const InputParameters & parameters);
31 
32 protected:
34  virtual void computePK2StressAndDerivative();
40  virtual void computeDamageStress();
42  virtual void computeNumStiffness();
44  virtual void computeQpJacobian();
45 
49  Real _kdamage;
53  const MaterialProperty<Real> & _l;
55  const MaterialProperty<Real> & _gc;
57  Real _zero_tol;
59  Real _zero_pert;
61  Real _pert_val;
63  const VariableValue & _c;
66 
67  MaterialProperty<RankTwoTensor> & _dstress_dc;
68 
71  std::vector<RankTwoTensor> _etens;
72 
74  MaterialProperty<Real> & _F;
75  MaterialProperty<Real> & _dFdc;
76  MaterialProperty<Real> & _d2Fdc2;
77  MaterialProperty<RankTwoTensor> & _d2Fdcdstrain;
78 
80  MaterialProperty<Real> & _hist;
81 
83  const MaterialProperty<Real> & _hist_old;
84 };
HyperElasticPhaseFieldIsoDamage::_num_stiffness
bool _num_stiffness
Flag to compute numerical stiffness.
Definition: HyperElasticPhaseFieldIsoDamage.h:47
HyperElasticPhaseFieldIsoDamage::_hist
MaterialProperty< Real > & _hist
History variable that prevents crack healing, declared in this material.
Definition: HyperElasticPhaseFieldIsoDamage.h:80
HyperElasticPhaseFieldIsoDamage::validParams
static InputParameters validParams()
Definition: HyperElasticPhaseFieldIsoDamage.C:18
HyperElasticPhaseFieldIsoDamage::computeQpJacobian
virtual void computeQpJacobian()
This function computes tensors used to construct diagonal and off-diagonal Jacobian.
Definition: HyperElasticPhaseFieldIsoDamage.C:199
HyperElasticPhaseFieldIsoDamage::_dG0_dee
RankTwoTensor _dG0_dee
Definition: HyperElasticPhaseFieldIsoDamage.h:69
validParams< HyperElasticPhaseFieldIsoDamage >
InputParameters validParams< HyperElasticPhaseFieldIsoDamage >()
HyperElasticPhaseFieldIsoDamage::_pk2_tmp
RankTwoTensor _pk2_tmp
Definition: HyperElasticPhaseFieldIsoDamage.h:69
HyperElasticPhaseFieldIsoDamage::computePK2StressAndDerivative
virtual void computePK2StressAndDerivative()
This function computes PK2 stress.
Definition: HyperElasticPhaseFieldIsoDamage.C:65
HyperElasticPhaseFieldIsoDamage::_hist_old
const MaterialProperty< Real > & _hist_old
Old value of history variable.
Definition: HyperElasticPhaseFieldIsoDamage.h:83
HyperElasticPhaseFieldIsoDamage::_use_current_hist
bool _use_current_hist
Use current value of history variable.
Definition: HyperElasticPhaseFieldIsoDamage.h:51
HyperElasticPhaseFieldIsoDamage::HyperElasticPhaseFieldIsoDamage
HyperElasticPhaseFieldIsoDamage(const InputParameters &parameters)
Definition: HyperElasticPhaseFieldIsoDamage.C:38
HyperElasticPhaseFieldIsoDamage::_save_state
bool _save_state
Flag to save couple material properties.
Definition: HyperElasticPhaseFieldIsoDamage.h:65
HyperElasticPhaseFieldIsoDamage::_dstress_dc
MaterialProperty< RankTwoTensor > & _dstress_dc
Definition: HyperElasticPhaseFieldIsoDamage.h:67
HyperElasticPhaseFieldIsoDamage::_zero_pert
Real _zero_pert
Perturbation value for near zero or zero strain components.
Definition: HyperElasticPhaseFieldIsoDamage.h:59
HyperElasticPhaseFieldIsoDamage::_d2Fdcdstrain
MaterialProperty< RankTwoTensor > & _d2Fdcdstrain
Definition: HyperElasticPhaseFieldIsoDamage.h:77
HyperElasticPhaseFieldIsoDamage::computeNumStiffness
virtual void computeNumStiffness()
This function computes numerical stiffness.
Definition: HyperElasticPhaseFieldIsoDamage.C:172
FiniteStrainHyperElasticViscoPlastic.h
HyperElasticPhaseFieldIsoDamage::_dpk2_dc
RankTwoTensor _dpk2_dc
Definition: HyperElasticPhaseFieldIsoDamage.h:69
HyperElasticPhaseFieldIsoDamage::_dFdc
MaterialProperty< Real > & _dFdc
Definition: HyperElasticPhaseFieldIsoDamage.h:75
RankFourTensorTempl< Real >
HyperElasticPhaseFieldIsoDamage::_pert_val
Real _pert_val
Perturbation value for strain components.
Definition: HyperElasticPhaseFieldIsoDamage.h:61
HyperElasticPhaseFieldIsoDamage::_etens
std::vector< RankTwoTensor > _etens
Definition: HyperElasticPhaseFieldIsoDamage.h:71
HyperElasticPhaseFieldIsoDamage::_l
const MaterialProperty< Real > & _l
Material property defining crack width, declared elsewhere.
Definition: HyperElasticPhaseFieldIsoDamage.h:53
HyperElasticPhaseFieldIsoDamage::_gc
const MaterialProperty< Real > & _gc
Material property defining gc parameter, declared elsewhere.
Definition: HyperElasticPhaseFieldIsoDamage.h:55
HyperElasticPhaseFieldIsoDamage::_F
MaterialProperty< Real > & _F
Elastic energy and derivatives, declared in this material.
Definition: HyperElasticPhaseFieldIsoDamage.h:74
RankTwoTensorTempl< Real >
HyperElasticPhaseFieldIsoDamage::_dpk2_dee
RankFourTensor _dpk2_dee
Definition: HyperElasticPhaseFieldIsoDamage.h:70
HyperElasticPhaseFieldIsoDamage::_c
const VariableValue & _c
Compupled damage variable.
Definition: HyperElasticPhaseFieldIsoDamage.h:63
HyperElasticPhaseFieldIsoDamage
This class solves visco plastic model based on isotropically damaged stress The damage parameter is o...
Definition: HyperElasticPhaseFieldIsoDamage.h:25
HyperElasticPhaseFieldIsoDamage::computeDamageStress
virtual void computeDamageStress()
This function computes PK2 stress modified to account for damage Computes numerical stiffness if flag...
Definition: HyperElasticPhaseFieldIsoDamage.C:93
FiniteStrainHyperElasticViscoPlastic
This class solves the viscoplastic flow rate equations in the total form Involves 4 different types o...
Definition: FiniteStrainHyperElasticViscoPlastic.h:33
HyperElasticPhaseFieldIsoDamage::_zero_tol
Real _zero_tol
Used in numerical stiffness calculation to check near zero values.
Definition: HyperElasticPhaseFieldIsoDamage.h:57
HyperElasticPhaseFieldIsoDamage::_kdamage
Real _kdamage
Small stiffness of completely damaged material point.
Definition: HyperElasticPhaseFieldIsoDamage.h:49
HyperElasticPhaseFieldIsoDamage::_d2Fdc2
MaterialProperty< Real > & _d2Fdc2
Definition: HyperElasticPhaseFieldIsoDamage.h:76