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"
17 
23 {
24 public:
26 
28 
29 protected:
30  virtual void computeQpProperties();
31  virtual void initQpStatefulProperties();
33  const std::string _base_name;
34 
36  const std::string _uncracked_base_name;
37 
40 
43 
46 
49 
52 
54  const VariableValue & _c;
55 
58 
61 
62  // Viscosity, defining how quickly the crack propagates
64 
67 
70 
76 
80 
83 
86 
89 };
const MaterialProperty< Real > & _hist_old
const VariableValue & _c
Variable defining the phase field damage parameter.
MaterialProperty< Real > & _kappa
Property where the value for kappa will be defined.
const MaterialProperty< RankTwoTensor > & _strain
Mechanical_strain if finite_strain_model = false, otherwise elastic_strain.
MaterialProperty< Real > & _hist
history variable storing the maximum positive deformation energy
Computes energy and modifies the stress for phase field fracture.
const std::string _base_name
Base name of the stress after being modified to include cracks.
bool _use_current_hist
Use current value of history variable.
const MaterialProperty< Real > & _visco
const MaterialProperty< RankTwoTensor > & _uncracked_stress
Uncracked stress calculated by another material.
virtual void initQpStatefulProperties()
const MaterialProperty< RankFourTensor > & _uncracked_Jacobian_mult
Uncracked Jacobian_mult calculated by another material.
const std::string _uncracked_base_name
Base name of the uncracked stress and strain.
bool _finite_strain_model
Indicator if finite strain model is used, to determine if mechanical_strain or elastic_strain should ...
const MaterialProperty< Real > & _l
Characteristic length, controls damage zone thickness.
MaterialProperty< Real > & _dFdc
MaterialProperty< Real > & _F
const MaterialProperty< Real > & _gc_prop
Critical energy release rate for fracture.
OutputTools< Real >::VariableValue VariableValue
static InputParameters validParams()
ComputeCrackedStress(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeQpProperties()
MaterialProperty< RankTwoTensor > & _stress
Stress being computed by this kernel.
MaterialProperty< RankTwoTensor > & _dstress_dc
const InputParameters & parameters() const
MaterialProperty< Real > & _L
Property where the value for L will be defined.
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
MaterialProperty< RankTwoTensor > & _d2Fdcdstrain
Real _kdamage
Small number to avoid non-positive definiteness at or near complete damage.
MaterialProperty< Real > & _d2Fdc2