20 #ifndef GEOS_PHYSICSSOLVERS_SOLIDMECHANICS_KERNELS_EXPLICITFINITESTRAIN_HPP_
21 #define GEOS_PHYSICSSOLVERS_SOLIDMECHANICS_KERNELS_EXPLICITFINITESTRAIN_HPP_
24 #include "finiteElement/Kinematics.h"
29 namespace solidMechanicsLagrangianFEMKernels
37 #define UPDATE_STRESS 2
48 template<
typename SUBREGION_TYPE,
49 typename CONSTITUTIVE_TYPE,
73 #if !defined(CALCFEMSHAPE)
84 SUBREGION_TYPE
const & elementSubRegion,
85 FE_TYPE
const & finiteElementSpace,
86 CONSTITUTIVE_TYPE & inputConstitutiveType,
88 string const elementListName );
128 void quadraturePointKernel(
localIndex const k,
136 template<
typename POLICY,
137 typename KERNEL_TYPE >
140 KERNEL_TYPE
const & kernelComponent );
#define GEOS_HOST_DEVICE
Marks a host-device function.
This class provides an interface to ObjectManagerBase in order to manage edge data.
The FaceManager class provides an interface to ObjectManagerBase in order to manage face data.
The NodeManager class provides an interface to ObjectManagerBase in order to manage node data.
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
The element to nodes map.
FE_TYPE const m_finiteElementSpace
static constexpr int numDofPerTestSupportPoint
static constexpr int numDofPerTrialSupportPoint
arrayView1d< integer const > const m_elemGhostRank
The element ghost rank array.
CONSTITUTIVE_TYPE::KernelWrapper const m_constitutiveUpdate
Used to forward arguments to a class that implements the KernelBase interface.
Implements kernels for solving the equations of motion using the explicit Newmark method under the fi...
ExplicitFiniteStrain(NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, localIndex const targetRegionIndex, SUBREGION_TYPE const &elementSubRegion, FE_TYPE const &finiteElementSpace, CONSTITUTIVE_TYPE &inputConstitutiveType, real64 const dt, string const elementListName)
Constructor.
static constexpr int numNodesPerElem
Implements kernels for solving the equations of motion using the explicit Newmark method under the sm...
arrayView2d< real64 const, nodes::VELOCITY_USD > const m_vel
The array containing the nodal velocity array.
arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const m_X
The array containing the nodal position array.
real64 const m_dt
The time increment for this time integration step.
static constexpr int numNodesPerElem
arrayView2d< real64, nodes::ACCELERATION_USD > const m_acc
arrayView2d< real64 const, nodes::TOTAL_DISPLACEMENT_USD > const m_u
The array containing the nodal displacement array.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
Kernel variables allocated on the stack.
GEOS_HOST_DEVICE StackVariables()
constructor
real64 uLocal[numNodesPerElem][numDofPerTrialSupportPoint]
Local stack storage for nodal displacements.
Kernel variables allocated on the stack.
real64 varLocal[numNodesPerElem][numDofPerTestSupportPoint]
C-array stack storage for element local primary variable values.
real64 fLocal[numNodesPerElem][numDofPerTrialSupportPoint]
C-array stack storage for the element local force.