www.mooseframework.org
ComputePFFractureStressBase.C
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 
11 
13 
14 InputParameters
16 {
17  InputParameters params = ComputeStressBase::validParams();
18  params.addRequiredCoupledVar("c", "Name of damage variable");
19  params.addParam<bool>(
20  "use_current_history_variable", false, "Use the current value of the history variable.");
21  params.addParam<MaterialPropertyName>("barrier_energy",
22  "Name of material property for fracture energy barrier.");
23  params.addParam<MaterialPropertyName>(
24  "E_name", "elastic_energy", "Name of material property for elastic energy");
25  params.addParam<MaterialPropertyName>(
26  "D_name", "degradation", "Name of material property for energetic degradation function.");
27  params.addParam<MaterialPropertyName>(
28  "F_name",
29  "local_fracture_energy",
30  "Name of material property for local fracture energy function.");
31  return params;
32 }
33 
35  : ComputeStressBase(parameters),
36  _elasticity_tensor_name(_base_name + "elasticity_tensor"),
37  _elasticity_tensor(getMaterialPropertyByName<RankFourTensor>(_elasticity_tensor_name)),
38  _c(coupledValue("c")),
39  _l(getMaterialProperty<Real>("l")),
40  _gc(getMaterialProperty<Real>("gc_prop")),
41  _use_current_hist(getParam<bool>("use_current_history_variable")),
42  _H(declareProperty<Real>("hist")),
43  _H_old(getMaterialPropertyOld<Real>("hist")),
44  _barrier(getDefaultMaterialProperty<Real>("barrier_energy")),
45  _E(declareProperty<Real>(getParam<MaterialPropertyName>("E_name"))),
46  _dEdc(declarePropertyDerivative<Real>(getParam<MaterialPropertyName>("E_name"),
47  getVar("c", 0)->name())),
48  _d2Ed2c(declarePropertyDerivative<Real>(
49  getParam<MaterialPropertyName>("E_name"), getVar("c", 0)->name(), getVar("c", 0)->name())),
50  _dstress_dc(
51  declarePropertyDerivative<RankTwoTensor>(_base_name + "stress", getVar("c", 0)->name())),
52  _d2Fdcdstrain(declareProperty<RankTwoTensor>("d2Fdcdstrain")),
53  _D(getMaterialProperty<Real>("D_name")),
54  _dDdc(getMaterialPropertyDerivative<Real>("D_name", getVar("c", 0)->name())),
55  _d2Dd2c(getMaterialPropertyDerivative<Real>(
56  "D_name", getVar("c", 0)->name(), getVar("c", 0)->name()))
57 {
58 }
59 
60 void
62 {
63  _H[_qp] = 0.0;
64 }
ComputePFFractureStressBase::ComputePFFractureStressBase
ComputePFFractureStressBase(const InputParameters &parameters)
Definition: ComputePFFractureStressBase.C:34
ComputePFFractureStressBase
ComputePFFractureStressBase is the base class for stress in phase field fracture model.
Definition: ComputePFFractureStressBase.h:22
ComputePFFractureStressBase::validParams
static InputParameters validParams()
Definition: ComputePFFractureStressBase.C:15
ComputePFFractureStressBase::_H
MaterialProperty< Real > & _H
History variable that prevents crack healing, declared in this material.
Definition: ComputePFFractureStressBase.h:50
ComputeStressBase
ComputeStressBase is the base class for stress tensors.
Definition: ComputeStressBase.h:26
ComputeStressBase::validParams
static InputParameters validParams()
Definition: ComputeStressBase.C:17
name
const std::string name
Definition: Setup.h:21
defineLegacyParams
defineLegacyParams(ComputePFFractureStressBase)
ComputePFFractureStressBase.h
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
RankTwoTensorTempl< Real >
ComputePFFractureStressBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ComputePFFractureStressBase.C:61