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

#include <AverageOverQuadraturePointsKernel.hpp>

Inheritance diagram for geos::AverageOverQuadraturePoints1D< 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

 AverageOverQuadraturePoints1D (NodeManager &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, SUBREGION_TYPE const &elementSubRegion, FE_TYPE const &finiteElementSpace, arrayView2d< real64 const > const property, arrayView1d< real64 > const averageProperty)
 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.
 

Protected Attributes

arrayView2d< real64 const > const m_property
 The property living on quadrature points.
 
arrayView1d< real64 > const m_averageProperty
 The average property.
 
- 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::AverageOverQuadraturePoints1D< SUBREGION_TYPE, FE_TYPE >

Template Parameters
SUBREGION_TYPEthe subRegion type
FE_TYPEthe finite element type

Definition at line 140 of file AverageOverQuadraturePointsKernel.hpp.

Constructor & Destructor Documentation

◆ AverageOverQuadraturePoints1D()

template<typename SUBREGION_TYPE , typename FE_TYPE >
geos::AverageOverQuadraturePoints1D< SUBREGION_TYPE, FE_TYPE >::AverageOverQuadraturePoints1D ( NodeManager nodeManager,
EdgeManager const &  edgeManager,
FaceManager const &  faceManager,
SUBREGION_TYPE const &  elementSubRegion,
FE_TYPE const &  finiteElementSpace,
arrayView2d< real64 const > const  property,
arrayView1d< real64 > const  averageProperty 
)
inline

Constructor for the class.

Parameters
nodeManagerthe node manager
edgeManagerthe edge manager
faceManagerthe face manager
elementSubRegionthe element subRegion
finiteElementSpacethe finite element space
propertythe property at quadrature points
averagePropertythe property averaged over quadrature points

Definition at line 162 of file AverageOverQuadraturePointsKernel.hpp.

Member Function Documentation

◆ kernelLaunch()

template<typename SUBREGION_TYPE , typename FE_TYPE >
template<typename POLICY , typename KERNEL_TYPE >
static void geos::AverageOverQuadraturePoints1D< 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 222 of file AverageOverQuadraturePointsKernel.hpp.

◆ quadraturePointKernel()

template<typename SUBREGION_TYPE , typename FE_TYPE >
GEOS_HOST_DEVICE void geos::AverageOverQuadraturePoints1D< 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 204 of file AverageOverQuadraturePointsKernel.hpp.

◆ setup()

template<typename SUBREGION_TYPE , typename FE_TYPE >
GEOS_HOST_DEVICE void geos::AverageOverQuadraturePoints1D< 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 190 of file AverageOverQuadraturePointsKernel.hpp.


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