GEOSX
Public Types | Public Member Functions | List of all members
geosx::EmbeddedSurfaceToCellStencilWrapper Class Reference

#include <EmbeddedSurfaceToCellStencil.hpp>

Inheritance diagram for geosx::EmbeddedSurfaceToCellStencilWrapper:
Inheritance graph
[legend]

Public Types

template<typename VIEWTYPE >
using CoefficientAccessor = ElementRegionManager::ElementViewConst< VIEWTYPE >
 Coefficient view accessory type.
 
- Public Types inherited from geosx::EmbeddedSurfaceToCellStencil_Traits
using IndexContainerType = array2d< localIndex >
 The array type that will be used to store the indices of the stencil contributors.
 
using IndexContainerViewType = arrayView2d< localIndex >
 The array view type for the stencil indices.
 
using IndexContainerViewConstType = arrayView2d< localIndex const >
 The array view to const type for the stencil indices.
 
using WeightContainerType = array2d< real64 >
 The array type that is used to store the weights of the stencil contributors.
 
using WeightContainerViewType = arrayView2d< real64 >
 The array view type for the stencil weights.
 
using WeightContainerViewConstType = arrayView2d< real64 const >
 The array view to const type for the stencil weights.
 

Public Member Functions

 EmbeddedSurfaceToCellStencilWrapper (IndexContainerType const &elementRegionIndices, IndexContainerType const &elementSubRegionIndices, IndexContainerType const &elementIndices, WeightContainerType const &weights)
 Constructor. More...
 
virtual localIndex size () const override final
 Give the number of stencil entries. More...
 
GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex stencilSize (localIndex index) const
 Give the number of stencil entries for the provided index. More...
 
GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex numPointsInFlux (localIndex index) const
 Give the number of points between which the flux is. More...
 
GEOSX_HOST_DEVICE void computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar, real64(&weight)[1][2], real64(&dWeight_dVar)[1][2]) const
 Compute weigths and derivatives w.r.t to one variable. More...
 
GEOSX_HOST_DEVICE void computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar1, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar2, real64(&weight)[1][2], real64(&dWeight_dVar1)[1][2], real64(&dWeight_dVar2)[1][2]) const
 Compute weigths and derivatives w.r.t to one variable. More...
 
- Public Member Functions inherited from geosx::StencilWrapperBase< EmbeddedSurfaceToCellStencil_Traits >
 StencilWrapperBase (typename EmbeddedSurfaceToCellStencil_Traits ::IndexContainerType const &elementRegionIndices, typename EmbeddedSurfaceToCellStencil_Traits ::IndexContainerType const &elementSubRegionIndices, typename EmbeddedSurfaceToCellStencil_Traits ::IndexContainerType const &elementIndices, typename EmbeddedSurfaceToCellStencil_Traits ::WeightContainerType const &weights)
 Constructor. More...
 
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType getElementRegionIndices () const
 Const access to the element regions indices. More...
 
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType getElementSubRegionIndices () const
 Const access to the element subregions indices. More...
 
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType getElementIndices () const
 Const access to the element indices. More...
 
EmbeddedSurfaceToCellStencil_Traits ::WeightContainerViewConstType getWeights () const
 Const access to the stencil weights. More...
 

Additional Inherited Members

- Static Public Attributes inherited from geosx::EmbeddedSurfaceToCellStencil_Traits
static constexpr localIndex NUM_POINT_IN_FLUX = 2
 Number of points the flux is between (always 2 for TPFA)
 
static constexpr localIndex MAX_STENCIL_SIZE = 2
 Maximum number of points in a stencil (this is 2 for TPFA)
 
static constexpr localIndex MAX_NUM_OF_CONNECTIONS = 1
 Maximum number of connections in a stencil.
 
- Protected Attributes inherited from geosx::StencilWrapperBase< EmbeddedSurfaceToCellStencil_Traits >
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType m_elementRegionIndices
 The container for the element region indices for each point in each stencil.
 
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType m_elementSubRegionIndices
 The container for the element sub region indices for each point in each stencil.
 
EmbeddedSurfaceToCellStencil_Traits ::IndexContainerViewConstType m_elementIndices
 The container for the element indices for each point in each stencil.
 
EmbeddedSurfaceToCellStencil_Traits ::WeightContainerViewConstType m_weights
 The container for the weights for each point in each stencil.
 

Detailed Description

Class to provide access to the EmbeddedSurfaceToCellStencil that may be called from a kernel function.

Definition at line 67 of file EmbeddedSurfaceToCellStencil.hpp.

Constructor & Destructor Documentation

◆ EmbeddedSurfaceToCellStencilWrapper()

geosx::EmbeddedSurfaceToCellStencilWrapper::EmbeddedSurfaceToCellStencilWrapper ( IndexContainerType const &  elementRegionIndices,
IndexContainerType const &  elementSubRegionIndices,
IndexContainerType const &  elementIndices,
WeightContainerType const &  weights 
)
inline

Constructor.

Parameters
elementRegionIndicesThe container for the element region indices for each point in each stencil
elementSubRegionIndicesThe container for the element sub region indices for each point in each stencil
elementIndicesThe container for the element indices for each point in each stencil
weightsThe container for the weights for each point in each stencil

Definition at line 83 of file EmbeddedSurfaceToCellStencil.hpp.

Member Function Documentation

◆ computeWeights() [1/2]

GEOSX_HOST_DEVICE void geosx::EmbeddedSurfaceToCellStencilWrapper::computeWeights ( localIndex  iconn,
CoefficientAccessor< arrayView3d< real64 const > > const &  coefficient,
CoefficientAccessor< arrayView3d< real64 const > > const &  dCoeff_dVar,
real64(&)  weight[1][2],
real64(&)  dWeight_dVar[1][2] 
) const
inline

Compute weigths and derivatives w.r.t to one variable.

Parameters
[in]iconnconnection index
[in]coefficientview accessor to the coefficient used to compute the weights
[in]dCoeff_dVarview accessor to the derivative of the coefficient w.r.t to the variable
[out]weightview weights
[out]dWeight_dVarderivative of the weigths w.r.t to the variable

Definition at line 237 of file EmbeddedSurfaceToCellStencil.hpp.

◆ computeWeights() [2/2]

GEOSX_HOST_DEVICE void geosx::EmbeddedSurfaceToCellStencilWrapper::computeWeights ( localIndex  iconn,
CoefficientAccessor< arrayView3d< real64 const > > const &  coefficient,
CoefficientAccessor< arrayView3d< real64 const > > const &  dCoeff_dVar1,
CoefficientAccessor< arrayView3d< real64 const > > const &  dCoeff_dVar2,
real64(&)  weight[1][2],
real64(&)  dWeight_dVar1[1][2],
real64(&)  dWeight_dVar2[1][2] 
) const
inline

Compute weigths and derivatives w.r.t to one variable.

Parameters
[in]iconnconnection index
[in]coefficientview accessor to the coefficient used to compute the weights
[in]dCoeff_dVar1view accessor to the derivative of the coefficient w.r.t to the variable 1
[in]dCoeff_dVar2view accessor to the derivative of the coefficient w.r.t to the variable 2
[out]weightview weights
[out]dWeight_dVar1derivative of the weigths w.r.t to the variable 1
[out]dWeight_dVar2derivative of the weigths w.r.t to the variable 2

Definition at line 268 of file EmbeddedSurfaceToCellStencil.hpp.

◆ numPointsInFlux()

GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex geosx::EmbeddedSurfaceToCellStencilWrapper::numPointsInFlux ( localIndex  index) const
inline

Give the number of points between which the flux is.

Parameters
[in]indexof the stencil entry for which to query the size
Returns
the number of points.

Definition at line 118 of file EmbeddedSurfaceToCellStencil.hpp.

◆ size()

virtual localIndex geosx::EmbeddedSurfaceToCellStencilWrapper::size ( ) const
inlinefinaloverridevirtual

Give the number of stencil entries.

Returns
The number of stencil entries

Implements geosx::StencilWrapperBase< EmbeddedSurfaceToCellStencil_Traits >.

Definition at line 95 of file EmbeddedSurfaceToCellStencil.hpp.

◆ stencilSize()

GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex geosx::EmbeddedSurfaceToCellStencilWrapper::stencilSize ( localIndex  index) const
inline

Give the number of stencil entries for the provided index.

Parameters
[in]indexthe index of which the stencil size is request
Returns
The number of stencil entries for the provided index

Definition at line 105 of file EmbeddedSurfaceToCellStencil.hpp.


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