GEOS
|
Provides access to the SurfaceElementStencil that may be called from a kernel function. More...
#include <SurfaceElementStencil.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 | |
SurfaceElementStencilWrapper (IndexContainerType const &elementRegionIndices, IndexContainerType const &elementSubRegionIndices, IndexContainerType const &elementIndices, WeightContainerType const &weights, ArrayOfArrays< R1Tensor > const &cellCenterToEdgeCenters, real64 const meanPermCoefficient) | |
Constructor. More... | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE localIndex | size () const |
Give the number of stencil entries. More... | |
GEOS_HOST_DEVICE GEOS_FORCE_INLINE localIndex | stencilSize (localIndex index) const |
Give the number of stencil entries for the provided index. More... | |
GEOS_HOST_DEVICE 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)[maxNumConnections][2], real64(&dWeight_dVar)[maxNumConnections][2]) const |
Compute weights and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex iconn, real64(&weight)[maxNumConnections][2], real64(&dWeight_dVar)[maxNumConnections][2]) const |
Compute weights 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< arrayView4d< real64 const > > const &dCoeff_dVar2, real64(&weight)[maxNumConnections][2], real64(&dWeight_dVar1)[maxNumConnections][2], real64(&dWeight_dVar2)[maxNumConnections][2][3]) const |
Compute weights and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient, CoefficientAccessor< arrayView3d< real64 const > > const &coefficientMultiplier, R1Tensor const &gravityVector, real64(&weight)[maxNumConnections][2]) const |
Compute weights and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeWeights (localIndex iconn, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient1, CoefficientAccessor< arrayView3d< real64 const > > const &coefficient1Multiplier, CoefficientAccessor< arrayView1d< real64 const > > const &coefficient2, R1Tensor const &gravityVector, real64(&weight1)[maxNumPointsInFlux], real64(&weight2)[maxNumPointsInFlux], real64(&geometricWeight)[maxNumPointsInFlux]) const |
Compute weights and derivatives w.r.t to one variable. More... | |
GEOS_HOST_DEVICE void | computeStabilizationWeights (localIndex iconn, real64(&stabilizationWeight)[maxNumConnections][2]) const |
Compute the stabilization weights. More... | |
ArrayOfArraysView< R1Tensor const > | getCellCenterToEdgeCenters () const |
Accessor to the CellCenterToEdgeCenter vector. 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< SurfaceElementStencilTraits > | |
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... | |
Static Public Attributes | |
static constexpr real64 | MULTIPLIER_THRESHOLD = 1e-10 |
Threshold for the application of the permeability multiplier. | |
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. | |
Additional Inherited Members | |
Protected Attributes inherited from geos::StencilWrapperBase< SurfaceElementStencilTraits > | |
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 SurfaceElementStencil that may be called from a kernel function.
Definition at line 39 of file SurfaceElementStencil.hpp.
geos::SurfaceElementStencilWrapper::SurfaceElementStencilWrapper | ( | IndexContainerType const & | elementRegionIndices, |
IndexContainerType const & | elementSubRegionIndices, | ||
IndexContainerType const & | elementIndices, | ||
WeightContainerType const & | weights, | ||
ArrayOfArrays< R1Tensor > const & | cellCenterToEdgeCenters, | ||
real64 const | meanPermCoefficient | ||
) |
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 |
|
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 615 of file SurfaceElementStencil.hpp.
|
inline |
Compute the stabilization weights.
[in] | iconn | connection index |
[out] | stabilizationWeight | view weights |
Definition at line 188 of file SurfaceElementStencil.hpp.
|
inline |
Compute weights 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] | coefficientMultiplier | view accessor to the coefficient multiplier used to compute the weights |
[in] | gravityVector | gravity vector |
[out] | weight | view weights |
Definition at line 500 of file SurfaceElementStencil.hpp.
|
inline |
Compute weights 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 weights w.r.t to the variable |
Definition at line 305 of file SurfaceElementStencil.hpp.
|
inline |
Compute weights 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 weights w.r.t to the variable 1 |
[out] | dWeight_dVar2 | derivative of the weights w.r.t to the variable 2 |
Definition at line 421 of file SurfaceElementStencil.hpp.
|
inline |
Compute weights and derivatives w.r.t to one variable.
[in] | iconn | connection index |
[in] | coefficient1 | view accessor to the first coefficient used to compute the first weights |
[in] | coefficient1Multiplier | view accessor to the coefficient multiplier used to compute the first weights |
[in] | coefficient2 | view accessor to the first coefficient used to compute the second weights |
[in] | gravityVector | gravity vector |
[out] | weight1 | view on the first weights |
[out] | weight2 | view on the second weights |
[out] | geometricWeight | view on the purely geometric weights |
Definition at line 559 of file SurfaceElementStencil.hpp.
|
inline |
Compute weights 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 weights w.r.t to the variable |
Definition at line 369 of file SurfaceElementStencil.hpp.
|
inline |
Accessor to the CellCenterToEdgeCenter vector.
Definition at line 196 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 93 of file SurfaceElementStencil.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 600 of file SurfaceElementStencil.hpp.
|
inline |
Give the number of stencil entries.
Definition at line 72 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 82 of file SurfaceElementStencil.hpp.