GEOS
|
#include <BoundaryStencil.hpp>
Public Types | |
template<typename VIEWTYPE > | |
using | CoefficientAccessor = ElementRegionManager::ElementViewConst< VIEWTYPE > |
Coefficient view accessory type. | |
Public Types inherited from geos::StencilTraits< CONTAINER, MAX_NUM_POINTS_IN_FLUX, MAX_STENCIL_SIZE, MAX_NUM_CONNECTIONS > | |
using | IndexContainerType = CONTAINER< localIndex > |
The array type that will be used to store the indices of the stencil contributors. | |
using | IndexContainerViewConstType = LvArray::typeManipulation::NestedViewTypeConst< IndexContainerType > |
The array view to const type for the stencil indices. | |
using | WeightContainerType = CONTAINER< real64 > |
The array type that is used to store the weights of the stencil contributors. | |
using | WeightContainerViewConstType = LvArray::typeManipulation::NestedViewTypeConst< WeightContainerType > |
The array view to const type for the stencil weights. | |
using | WeightContainerViewType = LvArray::typeManipulation::NestedViewType< WeightContainerType > |
The array view to type for the stencil weights. | |
Public Member Functions | |
BoundaryStencilWrapper (IndexContainerType const &elementRegionIndices, IndexContainerType const &elementSubRegionIndices, IndexContainerType const &elementIndices, WeightContainerType const &weights, arrayView2d< real64, nodes::REFERENCE_POSITION_USD > const &faceNormal, arrayView2d< real64, nodes::REFERENCE_POSITION_USD > const &cellToFaceVec, arrayView1d< real64 > const &weightMultiplier) | |
Constructor. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex const iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, real64 &weight, real64(&dWeight_dCoef)[3]) const |
Compute weights and derivatives w.r.t to the coefficient. More... | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE localIndex | size () const |
Give the number of stencil entries. More... | |
GEOS_HOST_DEVICE constexpr GEOS_FORCE_INLINE localIndex | stencilSize (localIndex const index) const |
Give the number of points in a stencil entry. More... | |
GEOS_HOST_DEVICE constexpr GEOS_FORCE_INLINE localIndex | numPointsInFlux (localIndex const index) const |
Give the number of points between which the flux is. More... | |
Public Member Functions inherited from geos::StencilWrapperBase< TwoPointStencilTraits > | |
StencilWrapperBase (typename TRAITS::IndexContainerType const &elementRegionIndices, typename TRAITS::IndexContainerType const &elementSubRegionIndices, typename TRAITS::IndexContainerType const &elementIndices, typename TRAITS::WeightContainerType const &weights) | |
Constructor. More... | |
TRAITS::IndexContainerViewConstType | getElementRegionIndices () const |
Const access to the element regions indices. More... | |
TRAITS::IndexContainerViewConstType | getElementSubRegionIndices () const |
Const access to the element subregions indices. More... | |
TRAITS::IndexContainerViewConstType | getElementIndices () const |
Const access to the element indices. More... | |
TRAITS::WeightContainerViewConstType | getWeights () const |
Const access to the stencil weights. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from geos::StencilTraits< CONTAINER, MAX_NUM_POINTS_IN_FLUX, MAX_STENCIL_SIZE, MAX_NUM_CONNECTIONS > | |
static constexpr localIndex | maxNumPointsInFlux = MAX_NUM_POINTS_IN_FLUX |
Maximum number of points the flux. | |
static constexpr localIndex | maxStencilSize = MAX_STENCIL_SIZE |
Maximum number of points in a stencil. | |
static constexpr localIndex | maxNumConnections = MAX_NUM_CONNECTIONS |
Maximum number of connections in a stencil. | |
Protected Attributes inherited from geos::StencilWrapperBase< TwoPointStencilTraits > | |
TRAITS::IndexContainerViewConstType | m_elementRegionIndices |
The container for the element region indices for each point in each stencil. | |
TRAITS::IndexContainerViewConstType | m_elementSubRegionIndices |
The container for the element sub region indices for each point in each stencil. | |
TRAITS::IndexContainerViewConstType | m_elementIndices |
The container for the element indices for each point in each stencil. | |
TRAITS::WeightContainerViewType | m_weights |
The container for the weights for each point in each stencil. | |
Provides access to the boundary stencil that may be called from a kernel function.
Definition at line 31 of file BoundaryStencil.hpp.
geos::BoundaryStencilWrapper::BoundaryStencilWrapper | ( | IndexContainerType const & | elementRegionIndices, |
IndexContainerType const & | elementSubRegionIndices, | ||
IndexContainerType const & | elementIndices, | ||
WeightContainerType const & | weights, | ||
arrayView2d< real64, nodes::REFERENCE_POSITION_USD > const & | faceNormal, | ||
arrayView2d< real64, nodes::REFERENCE_POSITION_USD > const & | cellToFaceVec, | ||
arrayView1d< real64 > const & | weightMultiplier | ||
) |
Constructor.
elementRegionIndices | The container for the element region indices for each point in each stencil |
elementSubRegionIndices | The container for the element sub region indices for each point in each stencil |
elementIndices | The container for the element indices for each point in each stencil |
weights | The container for the weights for each point in each stencil |
faceNormal | Face normal vector |
cellToFaceVec | Cell center to face center vector |
weightMultiplier | Weight multiplier |
|
inline |
Compute weights and derivatives w.r.t to the coefficient.
[in] | iconn | connection index |
[in] | coefficient | view accessor to the coefficient used to compute the weights |
[out] | weight | view weights |
[out] | dWeight_dCoef | derivative of the weights w.r.t to the coefficient |
Definition at line 189 of file BoundaryStencil.hpp.
|
inlineconstexpr |
Give the number of points between which the flux is.
[in] | index | of the stencil entry for which to query the size |
Definition at line 99 of file BoundaryStencil.hpp.
|
inline |
Give the number of stencil entries.
Definition at line 76 of file BoundaryStencil.hpp.
|
inlineconstexpr |
Give the number of points in a stencil entry.
[in] | index | of the stencil entry for which to query the size |
Definition at line 86 of file BoundaryStencil.hpp.