https://mooseframework.inl.gov
ADStressDivergenceShell.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 #include "ADRankTwoTensorForward.h"
16 
17 namespace libMesh
18 {
19 class QGauss;
20 }
21 
27 {
28 public:
30 
32 
33 protected:
34  virtual ADReal computeQpResidual() override;
35 
37  const unsigned int _component;
38  const bool _large_strain;
39 
40  std::vector<const ADMaterialProperty<RankTwoTensor> *> _stress;
41  std::vector<const MaterialProperty<RankTwoTensor> *> _stress_old;
42  std::vector<const ADMaterialProperty<DenseMatrix<Real>> *> _B_mat;
43  std::vector<const ADMaterialProperty<DenseMatrix<Real>> *> _B_nl;
44  std::vector<const ADMaterialProperty<Real> *> _J_map;
45 
47  std::unique_ptr<libMesh::QGauss> _t_qrule;
48 
50  std::vector<Real> _t_weights;
51 
53  std::vector<Real> _q_weights;
54 
56  unsigned int _qp_z;
57 };
std::vector< Real > _q_weights
Qrule weights in isoparametric coordinate system.
std::vector< Real > _t_weights
Quadrature weights in the out of plane direction in isoparametric coordinate system.
static InputParameters validParams()
unsigned int _qp_z
qp index in out of plane direction
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
ADStressDivergenceShell computes the stress divergence term for shell elements.
std::vector< const ADMaterialProperty< Real > * > _J_map
std::vector< const ADMaterialProperty< DenseMatrix< Real > > * > _B_mat
virtual ADReal computeQpResidual() override
std::vector< const ADMaterialProperty< DenseMatrix< Real > > * > _B_nl
ADStressDivergenceShell(const InputParameters &parameters)
std::vector< const ADMaterialProperty< RankTwoTensor > * > _stress
std::vector< const MaterialProperty< RankTwoTensor > * > _stress_old
const InputParameters & parameters() const
std::unique_ptr< libMesh::QGauss > _t_qrule
Quadrature rule in the out of plane direction.