www.mooseframework.org
ComputeCrackTipEnrichmentSmallStrain.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"
16 #include "ComputeStrainBase.h"
17 #include "Assembly.h"
18 #include "CrackFrontDefinition.h"
20 
22 
23 template <>
25 
31 {
32 public:
33  ComputeCrackTipEnrichmentSmallStrain(const InputParameters & parameters);
35 
36 protected:
37  virtual void computeProperties() override;
38 
39  virtual void computeQpProperties() override;
40 
42  std::vector<Real> _enrich_disp;
43 
45  std::vector<RealVectorValue> _grad_enrich_disp;
46 
48  std::vector<std::vector<MooseVariableFEBase *>> _enrich_variable;
49 
51  const VariablePhiValue & _phi;
52 
54  const VariablePhiGradient & _grad_phi;
55 
56 private:
58  std::vector<Real> _B;
60  std::vector<RealVectorValue> _dBX;
62  std::vector<RealVectorValue> _dBx;
64  std::vector<std::vector<Real>> _BI;
66  const std::vector<std::vector<Real>> * _fe_phi;
68  const std::vector<std::vector<RealGradient>> * _fe_dphi;
69  NonlinearSystem * _nl;
70  const NumericVector<Number> * _sln;
71 };
72 
ComputeCrackTipEnrichmentSmallStrain::_phi
const VariablePhiValue & _phi
the current shape functions
Definition: ComputeCrackTipEnrichmentSmallStrain.h:51
ComputeCrackTipEnrichmentSmallStrain::~ComputeCrackTipEnrichmentSmallStrain
virtual ~ComputeCrackTipEnrichmentSmallStrain()
Definition: ComputeCrackTipEnrichmentSmallStrain.h:34
ComputeCrackTipEnrichmentSmallStrain::_nl
NonlinearSystem * _nl
Definition: ComputeCrackTipEnrichmentSmallStrain.h:69
EnrichmentFunctionCalculation.h
ComputeCrackTipEnrichmentSmallStrain::_BI
std::vector< std::vector< Real > > _BI
enrichment function at node I
Definition: ComputeCrackTipEnrichmentSmallStrain.h:64
ComputeCrackTipEnrichmentSmallStrain::_sln
const NumericVector< Number > * _sln
Definition: ComputeCrackTipEnrichmentSmallStrain.h:70
ComputeStrainBase.h
ComputeStrainBase
ComputeStrainBase is the base class for strain tensors.
Definition: ComputeStrainBase.h:26
ComputeCrackTipEnrichmentSmallStrain::_enrich_variable
std::vector< std::vector< MooseVariableFEBase * > > _enrich_variable
enrichment displacement variables
Definition: ComputeCrackTipEnrichmentSmallStrain.h:48
ComputeCrackTipEnrichmentSmallStrain::computeProperties
virtual void computeProperties() override
Definition: ComputeCrackTipEnrichmentSmallStrain.C:123
CrackFrontDefinition.h
validParams< ComputeCrackTipEnrichmentSmallStrain >
InputParameters validParams< ComputeCrackTipEnrichmentSmallStrain >()
Definition: ComputeCrackTipEnrichmentSmallStrain.C:21
ComputeCrackTipEnrichmentSmallStrain::_grad_enrich_disp
std::vector< RealVectorValue > _grad_enrich_disp
gradient of enrichment displacement
Definition: ComputeCrackTipEnrichmentSmallStrain.h:45
ComputeCrackTipEnrichmentSmallStrain::_fe_dphi
const std::vector< std::vector< RealGradient > > * _fe_dphi
gradient of shape function
Definition: ComputeCrackTipEnrichmentSmallStrain.h:68
ComputeCrackTipEnrichmentSmallStrain::_B
std::vector< Real > _B
enrichment function value
Definition: ComputeCrackTipEnrichmentSmallStrain.h:58
ComputeCrackTipEnrichmentSmallStrain::_grad_phi
const VariablePhiGradient & _grad_phi
gradient of the shape function
Definition: ComputeCrackTipEnrichmentSmallStrain.h:54
ComputeCrackTipEnrichmentSmallStrain::ComputeCrackTipEnrichmentSmallStrain
ComputeCrackTipEnrichmentSmallStrain(const InputParameters &parameters)
Definition: ComputeCrackTipEnrichmentSmallStrain.C:33
ComputeCrackTipEnrichmentSmallStrain::_fe_phi
const std::vector< std::vector< Real > > * _fe_phi
shape function
Definition: ComputeCrackTipEnrichmentSmallStrain.h:66
ComputeCrackTipEnrichmentSmallStrain::_dBx
std::vector< RealVectorValue > _dBx
derivatives of enrichment function respect to crack front cooridnate
Definition: ComputeCrackTipEnrichmentSmallStrain.h:62
ComputeCrackTipEnrichmentSmallStrain
ComputeCrackTipEnrichmentSmallStrain calculates the sum of standard strain and enrichement strain.
Definition: ComputeCrackTipEnrichmentSmallStrain.h:29
RotationTensor.h
ComputeCrackTipEnrichmentSmallStrain::computeQpProperties
virtual void computeQpProperties() override
Definition: ComputeCrackTipEnrichmentSmallStrain.C:74
ComputeCrackTipEnrichmentSmallStrain::_dBX
std::vector< RealVectorValue > _dBX
derivatives of enrichment function respect to global cooridnate
Definition: ComputeCrackTipEnrichmentSmallStrain.h:60
ComputeCrackTipEnrichmentSmallStrain::_enrich_disp
std::vector< Real > _enrich_disp
enrichment displacement
Definition: ComputeCrackTipEnrichmentSmallStrain.h:42
EnrichmentFunctionCalculation
Perform calculation of enrichment function values and derivatives.
Definition: EnrichmentFunctionCalculation.h:22