GEOS
|
Provides management of the interior stencil points for a face elements when using Two-Point flux approximation. More...
#include <EmbeddedSurfaceToCellStencil.hpp>
Public Types | |
using | KernelWrapper = EmbeddedSurfaceToCellStencilWrapper |
Type of kernel wrapper for in-kernel update. | |
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 | |
virtual void | move (LvArray::MemorySpace const space) override |
Move the data arrays associated with the stencil to a specified memory space. More... | |
virtual void | add (localIndex const numPts, localIndex const *const elementRegionIndices, localIndex const *const elementSubRegionIndices, localIndex const *const elementIndices, real64 const *const weights, localIndex const connectorIndex) override |
Add an entry to the stencil. More... | |
KernelWrapper | createKernelWrapper () const |
Create an update kernel wrapper. More... | |
virtual localIndex | size () const override |
Return the stencil size. More... | |
constexpr localIndex | stencilSize (localIndex const index) const |
Give the number of points in a stencil entry. More... | |
Public Member Functions inherited from geos::StencilBase< TwoPointStencilTraits, EmbeddedSurfaceToCellStencil > | |
virtual | ~StencilBase ()=default |
Destructor. | |
virtual void | reserve (localIndex const size) |
Reserve the size of the stencil. More... | |
virtual bool | zero (localIndex const connectorIndex) |
Zero weights for a stencil entry. More... | |
void | setName (string const &name) |
Set the name used in data movement logging callbacks. 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::StencilBase< TwoPointStencilTraits, EmbeddedSurfaceToCellStencil > | |
TRAITS::IndexContainerType | m_elementRegionIndices |
The container for the element region indices for each point in each stencil. | |
TRAITS::IndexContainerType | m_elementSubRegionIndices |
The container for the element sub region indices for each point in each stencil. | |
TRAITS::IndexContainerType | m_elementIndices |
The container for the element indices for each point in each stencil. | |
TRAITS::WeightContainerType | m_weights |
The container for the weights for each point in each stencil. | |
unordered_map< localIndex, localIndex > | m_connectorIndices |
The map that provides the stencil index given the index of the underlying connector object. | |
Provides management of the interior stencil points for a face elements when using Two-Point flux approximation.
Definition at line 166 of file EmbeddedSurfaceToCellStencil.hpp.
|
overridevirtual |
Add an entry to the stencil.
[in] | numPts | The number of points in the stencil entry |
[in] | elementRegionIndices | The element region indices for each point in the stencil entry |
[in] | elementSubRegionIndices | The element sub-region indices for each point in the stencil entry |
[in] | elementIndices | The element indices for each point in the stencil entry |
[in] | weights | The weights each point in the stencil entry |
[in] | connectorIndex | The index of the connector element that the stencil acts across |
Implements geos::StencilBase< TwoPointStencilTraits, EmbeddedSurfaceToCellStencil >.
KernelWrapper geos::EmbeddedSurfaceToCellStencil::createKernelWrapper | ( | ) | const |
Create an update kernel wrapper.
|
overridevirtual |
Move the data arrays associated with the stencil to a specified memory space.
space | The target memory space. |
Reimplemented from geos::StencilBase< TwoPointStencilTraits, EmbeddedSurfaceToCellStencil >.
|
inlineoverridevirtual |
Return the stencil size.
Implements geos::StencilBase< TwoPointStencilTraits, EmbeddedSurfaceToCellStencil >.
Definition at line 192 of file EmbeddedSurfaceToCellStencil.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 200 of file EmbeddedSurfaceToCellStencil.hpp.