www.mooseframework.org
ComputeSmearedCrackingStress.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef COMPUTESMEAREDCRACKINGSTRESS_H
8 #define COMPUTESMEAREDCRACKINGSTRESS_H
9 
10 #include "ColumnMajorMatrix.h"
12 #include "Function.h"
13 
19 {
20 public:
21  ComputeSmearedCrackingStress(const InputParameters & parameters);
22 
24  {
25  CR_ABRUPT = 0,
29  };
30 
31  virtual void initialSetup();
32 
33 protected:
34  virtual void initQpStatefulProperties();
35  virtual void computeQpStress();
36 
38 
39  virtual void crackingStressRotation();
40  virtual Real computeCrackFactor(int i,
41  Real & sigma,
42  Real & flag_value,
43  const Real cracking_stress,
44  const Real cracking_alpha,
45  const Real youngs_modulus);
46 
47  virtual unsigned int getNumKnownCrackDirs() const;
48  void computeCrackStrainAndOrientation(RealVectorValue & principal_strain);
49 
50  void applyCracksToTensor(RankTwoTensor & tensor, const RealVectorValue & sigma);
51 
52  bool previouslyCracked();
53 
55 
59  const VariableValue & _cracking_stress;
60 
61  std::vector<unsigned int> _active_crack_planes;
62  const unsigned int _max_cracks;
64 
65  const Real _cracking_beta;
69 
71  MaterialProperty<RealVectorValue> & _crack_flags;
72  const MaterialProperty<RealVectorValue> & _crack_flags_old;
73  MaterialProperty<RealVectorValue> * _crack_count;
74  const MaterialProperty<RealVectorValue> * _crack_count_old;
75  MaterialProperty<RankTwoTensor> & _crack_rotation;
76  const MaterialProperty<RankTwoTensor> & _crack_rotation_old;
77  MaterialProperty<RealVectorValue> & _crack_strain;
78  const MaterialProperty<RealVectorValue> & _crack_strain_old;
79  MaterialProperty<RealVectorValue> & _crack_max_strain;
80  const MaterialProperty<RealVectorValue> & _crack_max_strain_old;
82 
84  RankFourTensor _local_elasticity_tensor;
86 };
87 
88 #endif // COMPUTESMEAREDCRACKINGSTRESS_H
ComputeSmearedCrackingStress computes the stress for a finite strain material with smeared cracking...
ComputeMultipleInelasticStress computes the stress, the consistent tangent operator (or an approximat...
MaterialProperty< RealVectorValue > & _crack_max_strain
std::vector< unsigned int > _active_crack_planes
const MaterialProperty< RankTwoTensor > & _crack_rotation_old
const MaterialProperty< RealVectorValue > & _crack_flags_old
MaterialProperty< RealVectorValue > & _crack_strain
const MaterialProperty< RealVectorValue > & _crack_max_strain_old
MaterialProperty< RankTwoTensor > & _crack_rotation
virtual Real computeCrackFactor(int i, Real &sigma, Real &flag_value, const Real cracking_stress, const Real cracking_alpha, const Real youngs_modulus)
const MaterialProperty< RealVectorValue > & _crack_strain_old
MaterialProperty< RealVectorValue > * _crack_count
void applyCracksToTensor(RankTwoTensor &tensor, const RealVectorValue &sigma)
ComputeSmearedCrackingStress(const InputParameters &parameters)
virtual unsigned int getNumKnownCrackDirs() const
const MaterialProperty< RealVectorValue > * _crack_count_old
MaterialProperty< RealVectorValue > & _crack_flags
void computeCrackStrainAndOrientation(RealVectorValue &principal_strain)
const CRACKING_RELEASE _cracking_release
Input parameters for smeared crack models.