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

#include <StrainHelper.hpp>

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

Classes

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

Public Types

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

Public Member Functions

 AverageStrainOverQuadraturePoints (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, SUBREGION_TYPE const &elementSubRegion, FE_TYPE const &finiteElementSpace, fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const displacement, fields::solidMechanics::arrayView2dLayoutStrain const avgStrain)
 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< SUBREGION_TYPE, FE_TYPE >
 AverageOverQuadraturePointsBase (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, SUBREGION_TYPE 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...
 

Public Attributes

arrayView1d< real64 const > const m_elementVolume
 The volume of the elements.
 
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
 The element to nodes map.
 
FE_TYPE const & m_finiteElementSpace
 

Protected Attributes

fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const m_displacement
 The displacement solution.
 
fields::solidMechanics::arrayView2dLayoutStrain const m_avgStrain
 The average strain.
 
- Protected Attributes inherited from geos::AverageOverQuadraturePointsBase< SUBREGION_TYPE, 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< SUBREGION_TYPE > m_meshData
 Data structure containing mesh data used to setup the finite element.
 

Detailed Description

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

Template Parameters
SUBREGION_TYPEthe subRegion type
FE_TYPEthe finite element type

Definition at line 39 of file StrainHelper.hpp.

Constructor & Destructor Documentation

◆ AverageStrainOverQuadraturePoints()

template<typename SUBREGION_TYPE , typename FE_TYPE >
geos::AverageStrainOverQuadraturePoints< SUBREGION_TYPE, FE_TYPE >::AverageStrainOverQuadraturePoints ( NodeManager nodeManager,
EdgeManager const &  edgeManager,
FaceManager const &  faceManager,
SUBREGION_TYPE const &  elementSubRegion,
FE_TYPE const &  finiteElementSpace,
fields::solidMechanics::arrayViewConst2dLayoutTotalDisplacement const  displacement,
fields::solidMechanics::arrayView2dLayoutStrain const  avgStrain 
)
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 63 of file StrainHelper.hpp.

Member Function Documentation

◆ kernelLaunch()

template<typename SUBREGION_TYPE , typename FE_TYPE >
template<typename POLICY , typename KERNEL_TYPE >
static void geos::AverageStrainOverQuadraturePoints< SUBREGION_TYPE, FE_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 145 of file StrainHelper.hpp.

◆ quadraturePointKernel()

template<typename SUBREGION_TYPE , typename FE_TYPE >
GEOS_HOST_DEVICE void geos::AverageStrainOverQuadraturePoints< SUBREGION_TYPE, FE_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 118 of file StrainHelper.hpp.

◆ setup()

template<typename SUBREGION_TYPE , typename FE_TYPE >
GEOS_HOST_DEVICE void geos::AverageStrainOverQuadraturePoints< SUBREGION_TYPE, FE_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 91 of file StrainHelper.hpp.

Member Data Documentation

◆ m_finiteElementSpace

template<typename SUBREGION_TYPE , typename FE_TYPE >
FE_TYPE const& geos::AverageOverQuadraturePointsBase< SUBREGION_TYPE, FE_TYPE >::m_finiteElementSpace

The finite element space/discretization object for the element type in the SUBREGION_TYPE.

Definition at line 118 of file AverageOverQuadraturePointsKernel.hpp.


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