GEOSX
|
#include <FaceElementToCellStencil.hpp>
Public Types | |
using | StencilWrapper = FaceElementToCellStencilWrapper |
Type of kernel wrapper for in-kernel update. | |
Public Types inherited from geosx::FaceElementToCellStencil_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 | |
FaceElementToCellStencil () | |
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 | addVectors (real64 const &transMultiplier, real64 const (&faceNormal)[3], real64 const (&cellToFaceVec)[3]) |
Adds the vectors need to compute weights needed in kernels. More... | |
StencilWrapper | createStencilWrapper () const |
Create an update kernel wrapper. More... | |
virtual localIndex | size () const override final |
Return the stencil size. More... | |
constexpr localIndex | stencilSize (localIndex index) const |
Give the number of points in a stencil entry. More... | |
Public Member Functions inherited from geosx::StencilBase< FaceElementToCellStencil_Traits, FaceElementToCellStencil > | |
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... | |
FaceElementToCellStencil_Traits ::IndexContainerViewConstType | getElementRegionIndices () const |
Const access to the element regions indices. More... | |
FaceElementToCellStencil_Traits ::IndexContainerViewConstType | getElementSubRegionIndices () const |
Const access to the element subregions indices. More... | |
FaceElementToCellStencil_Traits ::IndexContainerViewConstType | getElementIndices () const |
Const access to the element indices. More... | |
FaceElementToCellStencil_Traits ::WeightContainerViewConstType | getWeights () const |
Const access to the stencil weights. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from geosx::FaceElementToCellStencil_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::StencilBase< FaceElementToCellStencil_Traits, FaceElementToCellStencil > | |
FaceElementToCellStencil_Traits ::IndexContainerType | m_elementRegionIndices |
The container for the element region indices for each point in each stencil. | |
FaceElementToCellStencil_Traits ::IndexContainerType | m_elementSubRegionIndices |
The container for the element sub region indices for each point in each stencil. | |
FaceElementToCellStencil_Traits ::IndexContainerType | m_elementIndices |
The container for the element indices for each point in each stencil. | |
FaceElementToCellStencil_Traits ::WeightContainerType | m_weights |
The container for the weights for each point in each stencil. | |
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 183 of file FaceElementToCellStencil.hpp.
|
finaloverridevirtual |
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 geosx::StencilBase< FaceElementToCellStencil_Traits, FaceElementToCellStencil >.
void geosx::FaceElementToCellStencil::addVectors | ( | real64 const & | transMultiplier, |
real64 const (&) | faceNormal[3], | ||
real64 const (&) | cellToFaceVec[3] | ||
) |
Adds the vectors need to compute weights needed in kernels.
transMultiplier | transmissibility multiplier |
faceNormal | face normal vector |
cellToFaceVec | cell to face vector |
|
inline |
Create an update kernel wrapper.
Definition at line 219 of file FaceElementToCellStencil.hpp.
|
finaloverridevirtual |
Move the data arrays associated with the stencil to a specified memory space.
space | The target memory space. |
Reimplemented from geosx::StencilBase< FaceElementToCellStencil_Traits, FaceElementToCellStencil >.
|
inlinefinaloverridevirtual |
Return the stencil size.
Implements geosx::StencilBase< FaceElementToCellStencil_Traits, FaceElementToCellStencil >.
Definition at line 235 of file FaceElementToCellStencil.hpp.
|
inline |
Give the number of points in a stencil entry.
[in] | index | of the stencil entry for which to query the size |
Definition at line 243 of file FaceElementToCellStencil.hpp.