www.mooseframework.org
CrackTipEnrichmentStressDivergenceTensors.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 "ALEKernel.h"
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 #include "CrackFrontDefinition.h"
17 
18 // Forward Declarations
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  const 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 
CrackTipEnrichmentStressDivergenceTensors::_disp_var
std::vector< unsigned int > _disp_var
Definition: CrackTipEnrichmentStressDivergenceTensors.h:60
CrackTipEnrichmentStressDivergenceTensors::_deformation_gradient_old
const MaterialProperty< RankTwoTensor > * _deformation_gradient_old
Definition: CrackTipEnrichmentStressDivergenceTensors.h:46
CrackTipEnrichmentStressDivergenceTensors::_dBx
std::vector< RealVectorValue > _dBx
derivatives of enrichment function respect to crack front cooridnate
Definition: CrackTipEnrichmentStressDivergenceTensors.h:68
CrackTipEnrichmentStressDivergenceTensors::_B
std::vector< Real > _B
enrichment function value
Definition: CrackTipEnrichmentStressDivergenceTensors.h:64
EnrichmentFunctionCalculation.h
CrackTipEnrichmentStressDivergenceTensors::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: CrackTipEnrichmentStressDivergenceTensors.C:111
CrackTipEnrichmentStressDivergenceTensors::_BI
std::vector< Real > _BI
enrichment function at node I
Definition: CrackTipEnrichmentStressDivergenceTensors.h:70
CrackTipEnrichmentStressDivergenceTensors::_base_name
const std::string _base_name
Definition: CrackTipEnrichmentStressDivergenceTensors.h:40
ALEKernel
Definition: ALEKernel.h:21
CrackFrontDefinition.h
CrackTipEnrichmentStressDivergenceTensors::_BJ
std::vector< Real > _BJ
enrichment function at node J
Definition: CrackTipEnrichmentStressDivergenceTensors.h:72
CrackTipEnrichmentStressDivergenceTensors::CrackTipEnrichmentStressDivergenceTensors
CrackTipEnrichmentStressDivergenceTensors(const InputParameters &parameters)
Definition: CrackTipEnrichmentStressDivergenceTensors.C:38
CrackTipEnrichmentStressDivergenceTensors::_component
const unsigned int _component
displacement components
Definition: CrackTipEnrichmentStressDivergenceTensors.h:50
ALEKernel.h
CrackTipEnrichmentStressDivergenceTensors::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: CrackTipEnrichmentStressDivergenceTensors.C:84
CrackTipEnrichmentStressDivergenceTensors::_nenrich_disp
unsigned int _nenrich_disp
Coupled enrichment displacement variables.
Definition: CrackTipEnrichmentStressDivergenceTensors.h:55
CrackTipEnrichmentStressDivergenceTensors::computeQpResidual
virtual Real computeQpResidual() override
Definition: CrackTipEnrichmentStressDivergenceTensors.C:65
CrackTipEnrichmentStressDivergenceTensors::_dBX
std::vector< RealVectorValue > _dBX
derivatives of enrichment function respect to global cooridnate
Definition: CrackTipEnrichmentStressDivergenceTensors.h:66
CrackTipEnrichmentStressDivergenceTensors::_enrich_disp_var
std::vector< unsigned int > _enrich_disp_var
Definition: CrackTipEnrichmentStressDivergenceTensors.h:56
CrackTipEnrichmentStressDivergenceTensors
CrackTipEnrichmentStressDivergenceTensors implements the residual and jacobian for enrichement displa...
Definition: CrackTipEnrichmentStressDivergenceTensors.h:29
CrackTipEnrichmentStressDivergenceTensors::_stress
const MaterialProperty< RankTwoTensor > & _stress
Definition: CrackTipEnrichmentStressDivergenceTensors.h:42
CrackTipEnrichmentStressDivergenceTensors::_rotation_increment
const MaterialProperty< RankTwoTensor > * _rotation_increment
Definition: CrackTipEnrichmentStressDivergenceTensors.h:47
CrackTipEnrichmentStressDivergenceTensors::_deformation_gradient
const MaterialProperty< RankTwoTensor > * _deformation_gradient
Definition: CrackTipEnrichmentStressDivergenceTensors.h:45
CrackTipEnrichmentStressDivergenceTensors::_ndisp
unsigned int _ndisp
Coupled displacement variables.
Definition: CrackTipEnrichmentStressDivergenceTensors.h:59
CrackTipEnrichmentStressDivergenceTensors::_Jacobian_mult
const MaterialProperty< RankFourTensor > & _Jacobian_mult
Definition: CrackTipEnrichmentStressDivergenceTensors.h:43
CrackTipEnrichmentStressDivergenceTensors::_enrichment_component
const unsigned int _enrichment_component
enrichment function components
Definition: CrackTipEnrichmentStressDivergenceTensors.h:52
validParams< CrackTipEnrichmentStressDivergenceTensors >
InputParameters validParams< CrackTipEnrichmentStressDivergenceTensors >()
Definition: CrackTipEnrichmentStressDivergenceTensors.C:17
EnrichmentFunctionCalculation
Perform calculation of enrichment function values and derivatives.
Definition: EnrichmentFunctionCalculation.h:22