www.mooseframework.org
InteractionIntegralSM.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 "ElementIntegralPostprocessor.h"
13 #include "CrackFrontDefinition.h"
14 #include "SymmTensor.h"
15 
16 // Forward Declarations
18 template <typename>
21 
22 template <>
23 InputParameters validParams<InteractionIntegralSM>();
24 
29 class InteractionIntegralSM : public ElementIntegralPostprocessor
30 {
31 public:
32  InteractionIntegralSM(const InputParameters & parameters);
33 
34  virtual Real getValue();
35 
36  static MooseEnum qFunctionType();
37  static MooseEnum sifModeType();
38 
39 protected:
40  virtual void initialSetup();
41  virtual Real computeQpIntegral();
42  virtual Real computeIntegral();
43  void computeAuxFields(RankTwoTensor & aux_stress, RankTwoTensor & grad_disp);
44  void computeTFields(RankTwoTensor & aux_stress, RankTwoTensor & grad_disp);
45 
46  unsigned int _ndisp;
49  const unsigned int _crack_front_point_index;
51  const MaterialProperty<SymmTensor> & _stress;
52  const MaterialProperty<SymmTensor> & _strain;
53  std::vector<const VariableGradient *> _grad_disp;
54  const bool _has_temp;
55  const VariableGradient & _grad_temp;
56  const MaterialProperty<Real> * _current_instantaneous_thermal_expansion_coef;
57  Real _K_factor;
61  unsigned int _ring_index;
62  std::vector<Real> _q_curr_elem;
63  const std::vector<std::vector<Real>> * _phi_curr_elem;
64  const std::vector<std::vector<RealGradient>> * _dphi_curr_elem;
65  Real _kappa;
67  Real _r;
68  Real _theta;
69 
70 private:
71  enum class QMethod
72  {
73  Geometry,
74  Topology
75  };
76 
78 
79  enum class SifMethod
80  {
81  KI,
82  KII,
83  KIII,
84  T
85  };
86 
88 };
89 
InteractionIntegralSM::_crack_front_point_index
const unsigned int _crack_front_point_index
Definition: InteractionIntegralSM.h:49
SymmTensor.h
InteractionIntegralSM::SifMethod
SifMethod
Definition: InteractionIntegralSM.h:79
validParams< InteractionIntegralSM >
InputParameters validParams< InteractionIntegralSM >()
Definition: InteractionIntegralSM.C:35
InteractionIntegralSM::_current_instantaneous_thermal_expansion_coef
const MaterialProperty< Real > * _current_instantaneous_thermal_expansion_coef
Definition: InteractionIntegralSM.h:56
InteractionIntegralSM::_has_temp
const bool _has_temp
Definition: InteractionIntegralSM.h:54
InteractionIntegralSM::InteractionIntegralSM
InteractionIntegralSM(const InputParameters &parameters)
Definition: InteractionIntegralSM.C:73
InteractionIntegralSM::sifModeType
static MooseEnum sifModeType()
Definition: InteractionIntegralSM.C:26
InteractionIntegralSM::_has_symmetry_plane
bool _has_symmetry_plane
Definition: InteractionIntegralSM.h:58
InteractionIntegralSM::getValue
virtual Real getValue()
Definition: InteractionIntegralSM.C:127
InteractionIntegralSM::SifMethod::KIII
InteractionIntegralSM::_ndisp
unsigned int _ndisp
Definition: InteractionIntegralSM.h:46
InteractionIntegralSM::_poissons_ratio
Real _poissons_ratio
Definition: InteractionIntegralSM.h:59
CrackFrontDefinition
Works on top of NodalNormalsPreprocessor.
Definition: CrackFrontDefinition.h:36
InteractionIntegralSM::_treat_as_2d
bool _treat_as_2d
Definition: InteractionIntegralSM.h:50
InteractionIntegralSM::_grad_disp
std::vector< const VariableGradient * > _grad_disp
Definition: InteractionIntegralSM.h:53
InteractionIntegralSM::_crack_front_definition
const CrackFrontDefinition *const _crack_front_definition
Definition: InteractionIntegralSM.h:47
InteractionIntegralSM::QMethod::Topology
InteractionIntegralSM::QMethod
QMethod
Definition: InteractionIntegralSM.h:71
InteractionIntegralSM::computeQpIntegral
virtual Real computeQpIntegral()
Definition: InteractionIntegralSM.C:139
InteractionIntegralSM::_has_crack_front_point_index
bool _has_crack_front_point_index
Definition: InteractionIntegralSM.h:48
InteractionIntegralSM::_q_curr_elem
std::vector< Real > _q_curr_elem
Definition: InteractionIntegralSM.h:62
InteractionIntegralSM::_youngs_modulus
Real _youngs_modulus
Definition: InteractionIntegralSM.h:60
InteractionIntegralSM::_stress
const MaterialProperty< SymmTensor > & _stress
Definition: InteractionIntegralSM.h:51
CrackFrontDefinition.h
InteractionIntegralSM::QMethod::Geometry
InteractionIntegralSM
This postprocessor computes the Interaction Integral.
Definition: InteractionIntegralSM.h:29
InteractionIntegralSM::_phi_curr_elem
const std::vector< std::vector< Real > > * _phi_curr_elem
Definition: InteractionIntegralSM.h:63
InteractionIntegralSM::SifMethod::KI
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: InteractionIntegralSM.h:19
InteractionIntegralSM::qFunctionType
static MooseEnum qFunctionType()
Definition: InteractionIntegralSM.C:20
InteractionIntegralSM::SifMethod::T
InteractionIntegralSM::computeAuxFields
void computeAuxFields(RankTwoTensor &aux_stress, RankTwoTensor &grad_disp)
Definition: InteractionIntegralSM.C:290
InteractionIntegralSM::_shear_modulus
Real _shear_modulus
Definition: InteractionIntegralSM.h:66
InteractionIntegralSM::computeTFields
void computeTFields(RankTwoTensor &aux_stress, RankTwoTensor &grad_disp)
Definition: InteractionIntegralSM.C:352
InteractionIntegralSM::computeIntegral
virtual Real computeIntegral()
Definition: InteractionIntegralSM.C:251
InteractionIntegralSM::_grad_temp
const VariableGradient & _grad_temp
Definition: InteractionIntegralSM.h:55
InteractionIntegralSM::_theta
Real _theta
Definition: InteractionIntegralSM.h:68
InteractionIntegralSM::_strain
const MaterialProperty< SymmTensor > & _strain
Definition: InteractionIntegralSM.h:52
InteractionIntegralSM::_r
Real _r
Definition: InteractionIntegralSM.h:67
InteractionIntegralSM::SifMethod::KII
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
InteractionIntegralSM::initialSetup
virtual void initialSetup()
Definition: InteractionIntegralSM.C:121
InteractionIntegralSM::_q_function_type
const QMethod _q_function_type
Definition: InteractionIntegralSM.h:77
InteractionIntegralSM::_K_factor
Real _K_factor
Definition: InteractionIntegralSM.h:57
InteractionIntegralSM::_sif_mode
const SifMethod _sif_mode
Definition: InteractionIntegralSM.h:87
InteractionIntegralSM::_kappa
Real _kappa
Definition: InteractionIntegralSM.h:65
InteractionIntegralSM::_dphi_curr_elem
const std::vector< std::vector< RealGradient > > * _dphi_curr_elem
Definition: InteractionIntegralSM.h:64
InteractionIntegralSM::_ring_index
unsigned int _ring_index
Definition: InteractionIntegralSM.h:61