GEOS
|
Provides management of the interior stencil points for a face elements when using Two-Point flux approximation. More...
#include <SurfaceElementStencil.hpp>
Public Types | |
using | KernelWrapper = SurfaceElementStencilWrapper |
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... | |
void | add (localIndex const numPts, R1Tensor const *const cellCenterToEdgeCenter, localIndex const connectorIndex) |
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... | |
localIndex | stencilSize (localIndex index) const |
Give the number of stencil entries for the provided index. More... | |
ArrayOfArraysView< R1Tensor const > | getCellCenterToEdgeCenters () const |
Give the array of vectors pointing from the cell center to the edge center. More... | |
void | setMeanPermCoefficient (real64 const &meanPermCoefficient) |
sets the value of the mean perm conefficient More... | |
Public Member Functions inherited from geos::StencilBase< SurfaceElementStencilTraits, SurfaceElementStencil > | |
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< SurfaceElementStencilTraits, SurfaceElementStencil > | |
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 229 of file SurfaceElementStencil.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< SurfaceElementStencilTraits, SurfaceElementStencil >.
void geos::SurfaceElementStencil::add | ( | localIndex const | numPts, |
R1Tensor const *const | cellCenterToEdgeCenter, | ||
localIndex const | connectorIndex | ||
) |
Add an entry to the stencil.
[in] | numPts | The number of points in the stencil entry |
[in] | cellCenterToEdgeCenter | vectors pointing from the cell center to the edge center |
[in] | connectorIndex | The index of the connector element that the stencil acts across |
KernelWrapper geos::SurfaceElementStencil::createKernelWrapper | ( | ) | const |
Create an update kernel wrapper.
|
inline |
Give the array of vectors pointing from the cell center to the edge center.
Definition at line 281 of file SurfaceElementStencil.hpp.
|
overridevirtual |
Move the data arrays associated with the stencil to a specified memory space.
space | The target memory space. |
Reimplemented from geos::StencilBase< SurfaceElementStencilTraits, SurfaceElementStencil >.
|
inline |
sets the value of the mean perm conefficient
meanPermCoefficient | value to be set |
Definition at line 288 of file SurfaceElementStencil.hpp.
|
inlineoverridevirtual |
Return the stencil size.
Implements geos::StencilBase< SurfaceElementStencilTraits, SurfaceElementStencil >.
Definition at line 266 of file SurfaceElementStencil.hpp.
|
inline |
Give the number of stencil entries for the provided index.
[in] | index | the index of which the stencil size is request |
Definition at line 274 of file SurfaceElementStencil.hpp.