www.mooseframework.org
ADStressDivergenceShell.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 "ADKernel.h"
13 #include "libmesh/quadrature_gauss.h"
14 
15 #define usingADStressDivergenceShellMembers usingKernelMembers
16 
17 // Forward Declarations
18 template <ComputeStage>
20 template <typename>
24 template <typename>
28 
29 namespace libMesh
30 {
31 class QGauss;
32 }
33 
35 
40 template <ComputeStage compute_stage>
41 class ADStressDivergenceShell : public ADKernel<compute_stage>
42 {
43 public:
44  ADStressDivergenceShell(const InputParameters & parameters);
45 
46 protected:
47  virtual ADReal computeQpResidual() override;
48 
49  const unsigned int _component;
50  const bool _large_strain;
51 
52  std::vector<const ADMaterialProperty(RankTwoTensor) *> _stress;
53  std::vector<const MaterialProperty<RankTwoTensor> *> _stress_old;
54  std::vector<const ADMaterialProperty(DenseMatrix<Real>) *> _B_mat;
55  std::vector<const ADMaterialProperty(DenseMatrix<Real>) *> _B_nl;
56  std::vector<const ADMaterialProperty(Real) *> _J_map;
57 
59  std::unique_ptr<QGauss> _t_qrule;
60 
62  std::vector<Real> _t_weights;
63 
65  std::vector<Real> _q_weights;
66 
68  unsigned int _qp_z;
69 
71 };
ADStressDivergenceShell::_stress_old
std::vector< const MaterialProperty< RankTwoTensor > * > _stress_old
Definition: ADStressDivergenceShell.h:53
ADStressDivergenceShell::computeQpResidual
virtual ADReal computeQpResidual() override
Definition: ADStressDivergenceShell.C:76
RankFourTensor
RankFourTensorTempl< Real > RankFourTensor
Definition: ADStressDivergenceShell.h:25
ADStressDivergenceShell::_component
const unsigned int _component
Definition: ADStressDivergenceShell.h:49
libMesh
Definition: RANFSNormalMechanicalContact.h:24
ADStressDivergenceShell
ADStressDivergenceShell computes the stress divergence term for shell elements.
Definition: ADStressDivergenceShell.h:19
ADStressDivergenceShell::_qp_z
unsigned int _qp_z
qp index in out of plane direction
Definition: ADStressDivergenceShell.h:68
ADStressDivergenceShell::_large_strain
const bool _large_strain
Definition: ADStressDivergenceShell.h:50
ADStressDivergenceShell::_J_map
std::vector< const ADMaterialProperty(Real) * > _J_map
Definition: ADStressDivergenceShell.h:56
DualRankTwoTensor
RankTwoTensorTempl< DualReal > DualRankTwoTensor
Definition: ADStressDivergenceShell.h:23
ADStressDivergenceShell::_t_weights
std::vector< Real > _t_weights
Quadrature weights in the out of plane direction in isoparametric coordinate system.
Definition: ADStressDivergenceShell.h:62
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
DualRankFourTensor
RankFourTensorTempl< DualReal > DualRankFourTensor
Definition: ADStressDivergenceShell.h:27
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: ADStressDivergenceShell.h:21
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
ADStressDivergenceShell::ADStressDivergenceShell
ADStressDivergenceShell(const InputParameters &parameters)
Definition: ADStressDivergenceShell.C:45
ADStressDivergenceShell::usingKernelMembers
usingKernelMembers
Definition: ADStressDivergenceShell.h:70
ADStressDivergenceShell::_t_qrule
std::unique_ptr< QGauss > _t_qrule
Quadrature rule in the out of plane direction.
Definition: ADStressDivergenceShell.h:59
declareADValidParams
declareADValidParams(ADStressDivergenceShell)
ADStressDivergenceShell::_B_nl
std::vector< const ADMaterialProperty(DenseMatrix< Real >) * > _B_nl
Definition: ADStressDivergenceShell.h:55
ADStressDivergenceShell::_q_weights
std::vector< Real > _q_weights
Qrule weights in isoparametric coordinate system.
Definition: ADStressDivergenceShell.h:65
ADStressDivergenceShell::_B_mat
std::vector< const ADMaterialProperty(DenseMatrix< Real >) * > _B_mat
Definition: ADStressDivergenceShell.h:54
ADStressDivergenceShell::_stress
std::vector< const ADMaterialProperty(RankTwoTensor) * > _stress
Definition: ADStressDivergenceShell.h:52