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

#include <SurfaceElementStencil.hpp>

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

Public Types

using StencilWrapper = SurfaceElementStencilWrapper
 Type of kernel wrapper for in-kernel update.
 
- Public Types inherited from geosx::SurfaceElementStencil_Traits
using IndexContainerType = ArrayOfArrays< localIndex >
 The array type that will be used to store the indices of the stencil contributors.
 
using IndexContainerViewType = ArrayOfArraysView< localIndex >
 The array view type for the stencil indices.
 
using IndexContainerViewConstType = ArrayOfArraysView< localIndex const >
 The array view to const type for the stencil indices.
 
using WeightContainerType = ArrayOfArrays< real64 >
 The array type that is used to store the weights of the stencil contributors.
 
using WeightContainerViewType = ArrayOfArraysView< real64 >
 The array view type for the stencil weights.
 
using WeightContainerViewConstType = ArrayOfArraysView< real64 const >
 The array view to const type for the stencil weights.
 

Public Member Functions

 SurfaceElementStencil ()
 Default constructor.
 
virtual void move (LvArray::MemorySpace const space) override final
 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 final
 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...
 
StencilWrapper createStencilWrapper () const
 Create an update kernel wrapper. More...
 
virtual localIndex size () const override final
 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 geosx::StencilBase< SurfaceElementStencil_Traits, SurfaceElementStencil >
 StencilBase (StencilBase const &)=default
 Constructor.
 
 StencilBase (StencilBase &&)=default
 Move constructor.
 
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...
 
SurfaceElementStencil_Traits ::IndexContainerViewConstType getElementRegionIndices () const
 Const access to the element regions indices. More...
 
SurfaceElementStencil_Traits ::IndexContainerViewConstType getElementSubRegionIndices () const
 Const access to the element subregions indices. More...
 
SurfaceElementStencil_Traits ::IndexContainerViewConstType getElementIndices () const
 Const access to the element indices. More...
 
SurfaceElementStencil_Traits ::WeightContainerViewConstType getWeights () const
 Const access to the stencil weights. More...
 

Additional Inherited Members

- Static Public Attributes inherited from geosx::SurfaceElementStencil_Traits
static localIndex constexpr NUM_POINT_IN_FLUX = 6
 Number of points the flux is between (normally 2)
 
static localIndex constexpr MAX_STENCIL_SIZE = 6
 Maximum number of points in a stencil.
 
static localIndex constexpr MAX_NUM_OF_CONNECTIONS = MAX_STENCIL_SIZE * (MAX_STENCIL_SIZE - 1) / 2
 Maximum number of connections in a stencil.
 
- Protected Attributes inherited from geosx::StencilBase< SurfaceElementStencil_Traits, SurfaceElementStencil >
SurfaceElementStencil_Traits ::IndexContainerType m_elementRegionIndices
 The container for the element region indices for each point in each stencil.
 
SurfaceElementStencil_Traits ::IndexContainerType m_elementSubRegionIndices
 The container for the element sub region indices for each point in each stencil.
 
SurfaceElementStencil_Traits ::IndexContainerType m_elementIndices
 The container for the element indices for each point in each stencil.
 
SurfaceElementStencil_Traits ::WeightContainerType m_weights
 The container for the weights for each point in each stencil.
 
map< localIndex, localIndexm_connectorIndices
 The map that provides the stencil index given the index of the underlying connector object.
 

Detailed Description

Provides management of the interior stencil points for a face elements when using Two-Point flux approximation.

Definition at line 242 of file SurfaceElementStencil.hpp.

Member Function Documentation

◆ add() [1/2]

virtual void geosx::SurfaceElementStencil::add ( localIndex const  numPts,
localIndex const *const  elementRegionIndices,
localIndex const *const  elementSubRegionIndices,
localIndex const *const  elementIndices,
real64 const *const  weights,
localIndex const  connectorIndex 
)
finaloverridevirtual

Add an entry to the stencil.

Parameters
[in]numPtsThe number of points in the stencil entry
[in]elementRegionIndicesThe element region indices for each point in the stencil entry
[in]elementSubRegionIndicesThe element sub-region indices for each point in the stencil entry
[in]elementIndicesThe element indices for each point in the stencil entry
[in]weightsThe weights each point in the stencil entry
[in]connectorIndexThe index of the connector element that the stencil acts across

Implements geosx::StencilBase< SurfaceElementStencil_Traits, SurfaceElementStencil >.

◆ add() [2/2]

void geosx::SurfaceElementStencil::add ( localIndex const  numPts,
R1Tensor const *const  cellCenterToEdgeCenter,
localIndex const  connectorIndex 
)

Add an entry to the stencil.

Parameters
[in]numPtsThe number of points in the stencil entry
[in]cellCenterToEdgeCentervectors pointing from the cell center to the edge center
[in]connectorIndexThe index of the connector element that the stencil acts across

◆ createStencilWrapper()

StencilWrapper geosx::SurfaceElementStencil::createStencilWrapper ( ) const
inline

Create an update kernel wrapper.

Returns
the wrapper

Definition at line 279 of file SurfaceElementStencil.hpp.

◆ getCellCenterToEdgeCenters()

ArrayOfArraysView< R1Tensor const > geosx::SurfaceElementStencil::getCellCenterToEdgeCenters ( ) const
inline

Give the array of vectors pointing from the cell center to the edge center.

Returns
The array of vectors pointing from the cell center to the edge center

Definition at line 309 of file SurfaceElementStencil.hpp.

◆ move()

virtual void geosx::SurfaceElementStencil::move ( LvArray::MemorySpace const  space)
finaloverridevirtual

Move the data arrays associated with the stencil to a specified memory space.

Parameters
spaceThe target memory space.
Note
The existence of this function indicates we need to redesign the stencil classes.

Reimplemented from geosx::StencilBase< SurfaceElementStencil_Traits, SurfaceElementStencil >.

◆ setMeanPermCoefficient()

void geosx::SurfaceElementStencil::setMeanPermCoefficient ( real64 const &  meanPermCoefficient)
inline

sets the value of the mean perm conefficient

Parameters
meanPermCoefficientvalue to be set

Definition at line 316 of file SurfaceElementStencil.hpp.

◆ size()

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

Return the stencil size.

Returns
the stencil size

Implements geosx::StencilBase< SurfaceElementStencil_Traits, SurfaceElementStencil >.

Definition at line 294 of file SurfaceElementStencil.hpp.

◆ stencilSize()

localIndex geosx::SurfaceElementStencil::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 302 of file SurfaceElementStencil.hpp.


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