www.mooseframework.org
ComputeCrackedStress.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 
12 #include "Material.h"
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 #include "RotationTensor.h"
16 #include "DerivativeMaterialInterface.h"
17 
19 
20 template <>
21 InputParameters validParams<ComputeCrackedStress>();
22 
27 class ComputeCrackedStress : public DerivativeMaterialInterface<Material>
28 {
29 public:
30  static InputParameters validParams();
31 
32  ComputeCrackedStress(const InputParameters & parameters);
33 
34 protected:
35  virtual void computeQpProperties();
36  virtual void initQpStatefulProperties();
38  const std::string _base_name;
39 
41  const std::string _uncracked_base_name;
42 
45 
48 
50  const MaterialProperty<RankTwoTensor> & _strain;
51 
53  const MaterialProperty<RankTwoTensor> & _uncracked_stress;
54 
56  const MaterialProperty<RankFourTensor> & _uncracked_Jacobian_mult;
57 
59  const VariableValue & _c;
60 
62  const MaterialProperty<Real> & _gc_prop;
63 
65  const MaterialProperty<Real> & _l;
66 
67  // Viscosity, defining how quickly the crack propagates
68  const MaterialProperty<Real> & _visco;
69 
71  Real _kdamage;
72 
74  MaterialProperty<RankTwoTensor> & _stress;
75 
76  MaterialProperty<Real> & _F;
77  MaterialProperty<Real> & _dFdc;
78  MaterialProperty<Real> & _d2Fdc2;
79  MaterialProperty<RankTwoTensor> & _d2Fdcdstrain;
80  MaterialProperty<RankTwoTensor> & _dstress_dc;
81 
83  MaterialProperty<Real> & _hist;
84  const MaterialProperty<Real> & _hist_old;
85 
87  MaterialProperty<RankFourTensor> & _Jacobian_mult;
88 
90  MaterialProperty<Real> & _kappa;
91 
93  MaterialProperty<Real> & _L;
94 };
ComputeCrackedStress::computeQpProperties
virtual void computeQpProperties()
Definition: ComputeCrackedStress.C:82
ComputeCrackedStress::_d2Fdc2
MaterialProperty< Real > & _d2Fdc2
Definition: ComputeCrackedStress.h:78
ComputeCrackedStress::_uncracked_Jacobian_mult
const MaterialProperty< RankFourTensor > & _uncracked_Jacobian_mult
Uncracked Jacobian_mult calculated by another material.
Definition: ComputeCrackedStress.h:56
ComputeCrackedStress::_uncracked_base_name
const std::string _uncracked_base_name
Base name of the uncracked stress and strain.
Definition: ComputeCrackedStress.h:41
ComputeCrackedStress::_finite_strain_model
bool _finite_strain_model
Indicator if finite strain model is used, to determine if mechanical_strain or elastic_strain should ...
Definition: ComputeCrackedStress.h:44
ComputeCrackedStress::_c
const VariableValue & _c
Variable defining the phase field damage parameter.
Definition: ComputeCrackedStress.h:59
ComputeCrackedStress::_F
MaterialProperty< Real > & _F
Definition: ComputeCrackedStress.h:76
ComputeCrackedStress::_Jacobian_mult
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition: ComputeCrackedStress.h:87
ComputeCrackedStress::_strain
const MaterialProperty< RankTwoTensor > & _strain
Mechanical_strain if finite_strain_model = false, otherwise elastic_strain.
Definition: ComputeCrackedStress.h:50
ComputeCrackedStress::_hist
MaterialProperty< Real > & _hist
history variable storing the maximum positive deformation energy
Definition: ComputeCrackedStress.h:83
ComputeCrackedStress::_l
const MaterialProperty< Real > & _l
Characteristic length, controls damage zone thickness.
Definition: ComputeCrackedStress.h:65
ComputeCrackedStress::_dstress_dc
MaterialProperty< RankTwoTensor > & _dstress_dc
Definition: ComputeCrackedStress.h:80
ComputeCrackedStress::_d2Fdcdstrain
MaterialProperty< RankTwoTensor > & _d2Fdcdstrain
Definition: ComputeCrackedStress.h:79
ComputeCrackedStress::_kappa
MaterialProperty< Real > & _kappa
Property where the value for kappa will be defined.
Definition: ComputeCrackedStress.h:90
ComputeCrackedStress::initQpStatefulProperties
virtual void initQpStatefulProperties()
Definition: ComputeCrackedStress.C:75
ComputeCrackedStress::ComputeCrackedStress
ComputeCrackedStress(const InputParameters &parameters)
Definition: ComputeCrackedStress.C:40
ComputeCrackedStress::_stress
MaterialProperty< RankTwoTensor > & _stress
Stress being computed by this kernel.
Definition: ComputeCrackedStress.h:74
ComputeCrackedStress::_visco
const MaterialProperty< Real > & _visco
Definition: ComputeCrackedStress.h:68
ComputeCrackedStress::_dFdc
MaterialProperty< Real > & _dFdc
Definition: ComputeCrackedStress.h:77
ComputeCrackedStress::_use_current_hist
bool _use_current_hist
Use current value of history variable.
Definition: ComputeCrackedStress.h:47
ComputeCrackedStress::_kdamage
Real _kdamage
Small number to avoid non-positive definiteness at or near complete damage.
Definition: ComputeCrackedStress.h:71
ComputeCrackedStress
Computes energy and modifies the stress for phase field fracture.
Definition: ComputeCrackedStress.h:27
ComputeCrackedStress::_base_name
const std::string _base_name
Base name of the stress after being modified to include cracks.
Definition: ComputeCrackedStress.h:38
ComputeCrackedStress::_L
MaterialProperty< Real > & _L
Property where the value for L will be defined.
Definition: ComputeCrackedStress.h:93
RotationTensor.h
ComputeCrackedStress::_gc_prop
const MaterialProperty< Real > & _gc_prop
Critical energy release rate for fracture.
Definition: ComputeCrackedStress.h:62
validParams< ComputeCrackedStress >
InputParameters validParams< ComputeCrackedStress >()
ComputeCrackedStress::validParams
static InputParameters validParams()
Definition: ComputeCrackedStress.C:17
ComputeCrackedStress::_hist_old
const MaterialProperty< Real > & _hist_old
Definition: ComputeCrackedStress.h:84
ComputeCrackedStress::_uncracked_stress
const MaterialProperty< RankTwoTensor > & _uncracked_stress
Uncracked stress calculated by another material.
Definition: ComputeCrackedStress.h:53