GEOSX
|
#include <SurfaceElementStencil.hpp>
Public Types | |
template<typename VIEWTYPE > | |
using | CoefficientAccessor = ElementRegionManager::ElementViewConst< VIEWTYPE > |
Coefficient view accessory type. | |
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 | |
SurfaceElementStencilWrapper (IndexContainerType const &elementRegionIndices, IndexContainerType const &elementSubRegionIndices, IndexContainerType const &elementIndices, WeightContainerType const &weights, ArrayOfArrays< R1Tensor > const &cellCenterToEdgeCenters, real64 const meanPermCoefficient) | |
Constructor. More... | |
virtual localIndex | size () const override final |
Give the number of stencil entries. More... | |
GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex | stencilSize (localIndex index) const |
Give the number of stencil entries for the provided index. More... | |
GEOSX_HOST_DEVICE GEOSX_FORCE_INLINE localIndex | numPointsInFlux (localIndex index) const |
Give the number of points between which the flux is. More... | |
GEOSX_HOST_DEVICE void | computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar, real64(&weight)[MAX_NUM_OF_CONNECTIONS][2], real64(&dWeight_dVar)[MAX_NUM_OF_CONNECTIONS][2]) const |
Compute weigths and derivatives w.r.t to one variable. More... | |
GEOSX_HOST_DEVICE void | computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar1, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar2, real64(&weight)[MAX_NUM_OF_CONNECTIONS][2], real64(&dWeight_dVar1)[MAX_NUM_OF_CONNECTIONS][2], real64(&dWeight_dVar2)[MAX_NUM_OF_CONNECTIONS][2]) const |
Compute weigths and derivatives w.r.t to one variable. More... | |
ArrayOfArraysView< R1Tensor const > | getCellCenterToEdgeCenters () const |
Accessor to the CellCenterToEdgeCenter vector. More... | |
Public Member Functions inherited from geosx::StencilWrapperBase< SurfaceElementStencil_Traits > | |
StencilWrapperBase (typename SurfaceElementStencil_Traits ::IndexContainerType const &elementRegionIndices, typename SurfaceElementStencil_Traits ::IndexContainerType const &elementSubRegionIndices, typename SurfaceElementStencil_Traits ::IndexContainerType const &elementIndices, typename SurfaceElementStencil_Traits ::WeightContainerType const &weights) | |
Constructor. 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::StencilWrapperBase< SurfaceElementStencil_Traits > | |
SurfaceElementStencil_Traits ::IndexContainerViewConstType | m_elementRegionIndices |
The container for the element region indices for each point in each stencil. | |
SurfaceElementStencil_Traits ::IndexContainerViewConstType | m_elementSubRegionIndices |
The container for the element sub region indices for each point in each stencil. | |
SurfaceElementStencil_Traits ::IndexContainerViewConstType | m_elementIndices |
The container for the element indices for each point in each stencil. | |
SurfaceElementStencil_Traits ::WeightContainerViewConstType | m_weights |
The container for the weights for each point in each stencil. | |
Class to provide access to the SurfaceElementStencil that may be called from a kernel function.
Definition at line 87 of file SurfaceElementStencil.hpp.
|
inline |
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 |
cellCenterToEdgeCenters | Cell center to Edge center vector |
meanPermCoefficient | Mean permeability coefficient |
Definition at line 105 of file SurfaceElementStencil.hpp.
|
inline |
Compute weigths and derivatives w.r.t to one variable.
[in] | iconn | connection index |
[in] | coefficient | view accessor to the coefficient used to compute the weights |
[in] | dCoeff_dVar | view accessor to the derivative of the coefficient w.r.t to the variable |
[out] | weight | view weights |
[out] | dWeight_dVar | derivative of the weigths w.r.t to the variable |
Definition at line 292 of file SurfaceElementStencil.hpp.
|
inline |
Compute weigths and derivatives w.r.t to one variable.
[in] | iconn | connection index |
[in] | coefficient | view accessor to the coefficient used to compute the weights |
[in] | dCoeff_dVar1 | view accessor to the derivative of the coefficient w.r.t to the variable 1 |
[in] | dCoeff_dVar2 | view accessor to the derivative of the coefficient w.r.t to the variable 2 |
[out] | weight | view weights |
[out] | dWeight_dVar1 | derivative of the weigths w.r.t to the variable 1 |
[out] | dWeight_dVar2 | derivative of the weigths w.r.t to the variable 2 |
Definition at line 358 of file SurfaceElementStencil.hpp.
|
inline |
Accessor to the CellCenterToEdgeCenter vector.
Definition at line 186 of file SurfaceElementStencil.hpp.
|
inline |
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 142 of file SurfaceElementStencil.hpp.
|
inlinefinaloverridevirtual |
Give the number of stencil entries.
Implements geosx::StencilWrapperBase< SurfaceElementStencil_Traits >.
Definition at line 121 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 131 of file SurfaceElementStencil.hpp.