GEOS
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE > Class Template Reference

#include <StrainHelper.hpp>

Inheritance diagram for geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >:
Inheritance graph
[legend]

Classes

struct  StackVariables
 Kernel variables allocated on the stack. More...
 

Public Types

using Base = AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
 Alias for the base class;.
 

Public Member Functions

 AverageStrainOverQuadraturePoints (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, CellElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace, SOLID_TYPE const &solidModel, fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const displacement, fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const displacementInc, fields::solidMechanics::arrayView2dLayoutStrain const avgStrain, fields::solidMechanics::arrayView2dLayoutStrain const avgPlasticStrain)
 Constructor for the class. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 
GEOS_HOST_DEVICE void quadraturePointKernel (localIndex const k, localIndex const q, StackVariables &stack) const
 Increment the average property with the contribution of the property at this quadrature point. More...
 
- Public Member Functions inherited from geos::AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
 AverageOverQuadraturePointsBase (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, CellElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace)
 Constructor for the class. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 

Static Public Member Functions

template<typename POLICY , typename KERNEL_TYPE >
static void kernelLaunch (localIndex const numElems, KERNEL_TYPE const &kernelComponent)
 Launch the kernel over the elements in the subRegion. More...
 

Protected Attributes

SOLID_TYPE::KernelWrapper const m_solidUpdate
 The material.
 
fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const m_displacement
 The displacement solution.
 
fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const m_displacementInc
 The displacement increment.
 
fields::solidMechanics::arrayView2dLayoutStrain const m_avgStrain
 The average strain.
 
fields::solidMechanics::arrayView2dLayoutStrain const m_avgPlasticStrain
 The average plastic strain.
 
- Protected Attributes inherited from geos::AverageOverQuadraturePointsBase< CellElementSubRegion, FE_TYPE >
FE_TYPE const & m_finiteElementSpace
 
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
 The element to nodes map.
 
arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const m_X
 The reference position of the nodes.
 
arrayView1d< real64 const > const m_elementVolume
 The volume of the elements.
 
FE_TYPE::template MeshData< CellElementSubRegionm_meshData
 Data structure containing mesh data used to setup the finite element.
 

Detailed Description

template<typename FE_TYPE, typename SOLID_TYPE>
class geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >

Template Parameters
SUBREGION_TYPEthe subRegion type
FE_TYPEthe finite element type
SOLID_TYPEthe solid mechanics constitutuve type

Definition at line 41 of file StrainHelper.hpp.

Constructor & Destructor Documentation

◆ AverageStrainOverQuadraturePoints()

template<typename FE_TYPE , typename SOLID_TYPE >
geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::AverageStrainOverQuadraturePoints ( NodeManager nodeManager,
EdgeManager const &  edgeManager,
FaceManager const &  faceManager,
CellElementSubRegion const &  elementSubRegion,
FE_TYPE const &  finiteElementSpace,
SOLID_TYPE const &  solidModel,
fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const  displacement,
fields::solidMechanics::arrayViewConst2dLayoutIncrDisplacement const  displacementInc,
fields::solidMechanics::arrayView2dLayoutStrain const  avgStrain,
fields::solidMechanics::arrayView2dLayoutStrain const  avgPlasticStrain 
)
inline

Constructor for the class.

Parameters
nodeManagerthe node manager
edgeManagerthe edge manager
faceManagerthe face manager
elementSubRegionthe element subRegion
finiteElementSpacethe finite element space
displacementthe displacement solution field
avgStrainthe strain averaged over quadrature points

Definition at line 65 of file StrainHelper.hpp.

Member Function Documentation

◆ kernelLaunch()

template<typename FE_TYPE , typename SOLID_TYPE >
template<typename POLICY , typename KERNEL_TYPE >
static void geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::kernelLaunch ( localIndex const  numElems,
KERNEL_TYPE const &  kernelComponent 
)
inlinestatic

Launch the kernel over the elements in the subRegion.

Template Parameters
POLICYthe kernel policy
KERNEL_TYPEthe type of kernel
Parameters
numElemsthe number of elements in the subRegion
kernelComponentthe kernel component

Definition at line 171 of file StrainHelper.hpp.

◆ quadraturePointKernel()

template<typename FE_TYPE , typename SOLID_TYPE >
GEOS_HOST_DEVICE void geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::quadraturePointKernel ( localIndex const  k,
localIndex const  q,
StackVariables stack 
) const
inline

Increment the average property with the contribution of the property at this quadrature point.

Parameters
kThe element index
qThe quadrature point index
stackThe StackVariables object that hold the stack variables.

Definition at line 129 of file StrainHelper.hpp.

◆ setup()

template<typename FE_TYPE , typename SOLID_TYPE >
GEOS_HOST_DEVICE void geos::AverageStrainOverQuadraturePoints< FE_TYPE, SOLID_TYPE >::setup ( localIndex const  k,
StackVariables stack 
) const
inline

Performs the setup phase for the kernel.

Parameters
kThe element index.
stackThe StackVariable object that hold the stack variables.

Definition at line 100 of file StrainHelper.hpp.


The documentation for this class was generated from the following file: