www.mooseframework.org
CrackTipEnrichmentStressDivergenceTensors.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 CRACKTIPENRICHMENTSTRESSDIVERGENCETENSORS_H
8 #define CRACKTIPENRICHMENTSTRESSDIVERGENCETENSORS_H
9 
10 #include "ALEKernel.h"
11 #include "RankTwoTensor.h"
12 #include "RankFourTensor.h"
13 #include "CrackFrontDefinition.h"
15 
16 // Forward Declarations
18 class RankTwoTensor;
19 class RankFourTensor;
20 
21 template <>
23 
31 {
32 public:
33  CrackTipEnrichmentStressDivergenceTensors(const InputParameters & parameters);
34 
35 protected:
36  virtual Real computeQpResidual() override;
37  virtual Real computeQpJacobian() override;
38  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
39 
40  std::string _base_name;
41 
42  const MaterialProperty<RankTwoTensor> & _stress;
43  const MaterialProperty<RankFourTensor> & _Jacobian_mult;
44 
45  const MaterialProperty<RankTwoTensor> * _deformation_gradient;
46  const MaterialProperty<RankTwoTensor> * _deformation_gradient_old;
47  const MaterialProperty<RankTwoTensor> * _rotation_increment;
48 
50  const unsigned int _component;
52  const unsigned int _enrichment_component;
53 
55  unsigned int _nenrich_disp;
56  std::vector<unsigned int> _enrich_disp_var;
57 
59  unsigned int _ndisp;
60  std::vector<unsigned int> _disp_var;
61 
62 private:
64  std::vector<Real> _B;
66  std::vector<RealVectorValue> _dBX;
68  std::vector<RealVectorValue> _dBx;
70  std::vector<Real> _BI;
72  std::vector<Real> _BJ;
73 };
74 
75 #endif // CRACKTIPENRICHMENTSTRESSDIVERGENCETENSORS_H
const MaterialProperty< RankTwoTensor > * _deformation_gradient
std::vector< RealVectorValue > _dBx
derivatives of enrichment function respect to crack front cooridnate
InputParameters validParams< CrackTipEnrichmentStressDivergenceTensors >()
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
std::vector< Real > _BI
enrichment function at node I
unsigned int _nenrich_disp
Coupled enrichment displacement variables.
std::vector< Real > _BJ
enrichment function at node J
CrackTipEnrichmentStressDivergenceTensors(const InputParameters &parameters)
Perform calculation of enrichment function values and derivatives.
CrackTipEnrichmentStressDivergenceTensors implements the residual and jacobian for enrichement displa...
const unsigned int _enrichment_component
enrichment function components
const MaterialProperty< RankFourTensor > & _Jacobian_mult
std::vector< RealVectorValue > _dBX
derivatives of enrichment function respect to global cooridnate
const MaterialProperty< RankTwoTensor > * _deformation_gradient_old
const MaterialProperty< RankTwoTensor > * _rotation_increment