GEOS
|
Provides access to the FaceElementToCellStencil that may be called from a kernel function. More...
#include <FaceElementToCellStencil.hpp>
Public Types | |
template<typename VIEWTYPE > | |
using | CoefficientAccessor = ElementRegionManager::ElementViewConst< VIEWTYPE > |
Coefficient view accessory type. | |
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 | |
FaceElementToCellStencilWrapper (IndexContainerType const &elementRegionIndices, IndexContainerType const &elementSubRegionIndices, IndexContainerType const &elementIndices, WeightContainerType const &weights, arrayView2d< real64 > const &faceNormal, arrayView2d< real64 > const &cellToFaceVec, arrayView1d< real64 > const &transMultiplier) | |
Constructor. More... | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE localIndex | size () const |
Give the number of stencil entries. More... | |
GEOS_HOST_DEVICE constexpr GEOS_FORCE_INLINE localIndex | stencilSize (localIndex index) const |
Give the number of stencil entries for the provided index. More... | |
GEOS_HOST_DEVICE constexpr GEOS_FORCE_INLINE localIndex | numPointsInFlux (localIndex index) const |
Give the number of points between which the flux is. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &dCoeff_dVar, real64(&weight)[1][2], real64(&dWeight_dVar)[1][2]) const |
Compute weigths and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex iconn, real64(&weight)[1][2], real64(&dWeight_dVar)[1][2]) const |
Compute weigths and derivatives w.r.t to one variable without coefficient Used in ReactiveCompositionalMultiphaseOBL solver for thermal transmissibility computation: here, conductivity is a part of operator and connot be used directly as a coefficient. More... | |
GEOS_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)[1][2], real64(&dWeight_dVar1)[1][2], real64(&dWeight_dVar2)[1][2]) const |
Compute weigths and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeStabilizationWeights (localIndex iconn, real64(&stabilizationWeight)[1][2]) const |
Compute the stabilization weights. More... | |
GEOS_HOST_DEVICE void | removeHydraulicApertureContribution (localIndex const iconn, ElementRegionManager::ElementViewConst< arrayView1d< real64 const > > hydraulicAperture) const |
Remove the contribution of the aperture from the weight in the stencil (done before aperture update) More... | |
GEOS_HOST_DEVICE void | addHydraulicApertureContribution (localIndex const iconn, ElementRegionManager::ElementViewConst< arrayView1d< real64 const > > hydraulicAperture) const |
Add the contribution of the aperture to the weight in the stencil (done after aperture update) More... | |
Public Member Functions inherited from geos::StencilWrapperBase< TwoPointStencilTraits > | |
StencilWrapperBase (typename TRAITS::IndexContainerType const &elementRegionIndices, typename TRAITS::IndexContainerType const &elementSubRegionIndices, typename TRAITS::IndexContainerType const &elementIndices, typename TRAITS::WeightContainerType const &weights) | |
Constructor. 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::StencilWrapperBase< TwoPointStencilTraits > | |
TRAITS::IndexContainerViewConstType | m_elementRegionIndices |
The container for the element region indices for each point in each stencil. | |
TRAITS::IndexContainerViewConstType | m_elementSubRegionIndices |
The container for the element sub region indices for each point in each stencil. | |
TRAITS::IndexContainerViewConstType | m_elementIndices |
The container for the element indices for each point in each stencil. | |
TRAITS::WeightContainerViewType | m_weights |
The container for the weights for each point in each stencil. | |
Provides access to the FaceElementToCellStencil that may be called from a kernel function.
Definition at line 31 of file FaceElementToCellStencil.hpp.
geos::FaceElementToCellStencilWrapper::FaceElementToCellStencilWrapper | ( | IndexContainerType const & | elementRegionIndices, |
IndexContainerType const & | elementSubRegionIndices, | ||
IndexContainerType const & | elementIndices, | ||
WeightContainerType const & | weights, | ||
arrayView2d< real64 > const & | faceNormal, | ||
arrayView2d< real64 > const & | cellToFaceVec, | ||
arrayView1d< real64 > const & | transMultiplier | ||
) |
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 |
faceNormal | Face normal vector |
cellToFaceVec | Cell center to face center vector |
transMultiplier | Transmissibility multiplier |
|
inline |
Add the contribution of the aperture to the weight in the stencil (done after aperture update)
iconn | connection index |
hydraulicAperture | hydraulic apertures of the fractures |
Definition at line 375 of file FaceElementToCellStencil.hpp.
|
inline |
Compute the stabilization weights.
[in] | iconn | connection index |
[out] | stabilizationWeight | view weights |
Definition at line 147 of file FaceElementToCellStencil.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 255 of file FaceElementToCellStencil.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 315 of file FaceElementToCellStencil.hpp.
|
inline |
Compute weigths and derivatives w.r.t to one variable without coefficient Used in ReactiveCompositionalMultiphaseOBL solver for thermal transmissibility computation: here, conductivity is a part of operator and connot be used directly as a coefficient.
[in] | iconn | connection index |
[out] | weight | view weights |
[out] | dWeight_dVar | derivative of the weigths w.r.t to the variable |
Definition at line 294 of file FaceElementToCellStencil.hpp.
|
inlineconstexpr |
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 88 of file FaceElementToCellStencil.hpp.
|
inline |
Remove the contribution of the aperture from the weight in the stencil (done before aperture update)
iconn | connection index |
hydraulicAperture | hydraulic apertures of the fractures |
Definition at line 361 of file FaceElementToCellStencil.hpp.
|
inline |
Give the number of stencil entries.
Definition at line 63 of file FaceElementToCellStencil.hpp.
|
inlineconstexpr |
Give the number of stencil entries for the provided index.
[in] | index | the index of which the stencil size is request |
Definition at line 75 of file FaceElementToCellStencil.hpp.