#include "codingUtilities/Utilities.hpp"
#include "common/DataTypes.hpp"
#include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
#include "constitutive/fluid/multifluid/MultiFluidFields.hpp"
#include "constitutive/permeability/PermeabilityBase.hpp"
#include "constitutive/solid/porosity/PorosityBase.hpp"
#include "constitutive/solid/porosity/PorosityFields.hpp"
#include "constitutive/relativePermeability/RelativePermeabilityBase.hpp"
#include "mesh/ElementRegionManager.hpp"
#include "mesh/ObjectManagerBase.hpp"
#include "physicsSolvers/PhysicsSolverBaseKernels.hpp"
#include "physicsSolvers/fluidFlow/CompositionalMultiphaseBaseFields.hpp"
#include "physicsSolvers/fluidFlow/StencilAccessors.hpp"
#include "physicsSolvers/fluidFlow/kernels/compositional/PropertyKernelBase.hpp"
#include "physicsSolvers/fluidFlow/kernels/compositional/KernelLaunchSelectors.hpp"
Go to the source code of this file.
|
|
template<typename KERNELWRAPPER , typename INNER_PRODUCT , typename ... ARGS> |
| void | geos::compositionalMultiphaseHybridFVMKernels::simpleKernelLaunchSelector (localIndex numFacesInElem, ARGS &&... args) |
| |
|
template<typename KERNELWRAPPER , typename IP_TYPE , typename ... ARGS> |
| void | geos::compositionalMultiphaseHybridFVMKernels::kernelLaunchSelector (integer numFacesInElem, integer numComps, integer numPhases, ARGS &&... args) |
| |
| template<integer NC, integer NP> |
| void | geos::compositionalMultiphaseHybridFVMKernels::evaluateBCFaceProperties (integer const numPhases, SortedArrayView< localIndex const > const &boundaryFaceSet, arrayView1d< real64 const > const &facePres, arrayView1d< real64 const > const &faceTemp, arrayView2d< real64 const, compflow::USD_COMP > const &faceCompFrac, arrayView2d< localIndex const > const &elemRegionList, arrayView2d< localIndex const > const &elemSubRegionList, arrayView2d< localIndex const > const &elemList, localIndex const er, localIndex const esr, constitutive::MultiFluidBase &fluid, constitutive::RelativePermeabilityBase &relperm, arrayView2d< real64, compflow::USD_PHASE > const &facePhaseMob, arrayView2d< real64, compflow::USD_PHASE > const &facePhaseMassDens, arrayView3d< real64, compflow::USD_PHASE_COMP > const &facePhaseCompFrac) |
| | Evaluate constitutive properties at BC face conditions. More...
|
| |
◆ evaluateBCFaceProperties()
template<integer NC, integer NP>
| void geos::compositionalMultiphaseHybridFVMKernels::evaluateBCFaceProperties |
( |
integer const |
numPhases, |
|
|
SortedArrayView< localIndex const > const & |
boundaryFaceSet, |
|
|
arrayView1d< real64 const > const & |
facePres, |
|
|
arrayView1d< real64 const > const & |
faceTemp, |
|
|
arrayView2d< real64 const, compflow::USD_COMP > const & |
faceCompFrac, |
|
|
arrayView2d< localIndex const > const & |
elemRegionList, |
|
|
arrayView2d< localIndex const > const & |
elemSubRegionList, |
|
|
arrayView2d< localIndex const > const & |
elemList, |
|
|
localIndex const |
er, |
|
|
localIndex const |
esr, |
|
|
constitutive::MultiFluidBase & |
fluid, |
|
|
constitutive::RelativePermeabilityBase & |
relperm, |
|
|
arrayView2d< real64, compflow::USD_PHASE > const & |
facePhaseMob, |
|
|
arrayView2d< real64, compflow::USD_PHASE > const & |
facePhaseMassDens, |
|
|
arrayView3d< real64, compflow::USD_PHASE_COMP > const & |
facePhaseCompFrac |
|
) |
| |
Evaluate constitutive properties at BC face conditions.
Evaluate constitutive properties at BC face conditions using flash calculations.
- Template Parameters
-
| NC | number of components |
| NP | number of phases |
- Parameters
-
| [in] | numPhases | number of phases |
| [in] | boundaryFaceSet | set of boundary faces |
| [in] | facePres | face pressures at BC |
| [in] | faceTemp | face temperatures at BC |
| [in] | faceCompFrac | face component fractions at BC |
| [in] | elemRegionList | face to element region list |
| [in] | elemSubRegionList | face to element subregion list |
| [in] | elemList | face to element list |
| [in] | er | target element region index |
| [in] | esr | target element subregion index |
| [in] | fluid | multifluid model |
| [in] | relperm | relative permeability model |
| [out] | facePhaseMob | output: face phase mobility at BC |
| [out] | facePhaseMassDens | output: face phase mass density at BC |
| [out] | facePhaseCompFrac | output: face phase component fraction at BC |
- Template Parameters
-
| NC | number of components |
| NP | number of phases |
- Parameters
-
| [in] | numPhases | number of phases in the simulation |
| [in] | boundaryFaceSet | sorted array view of boundary face indices |
| [in] | facePres | pressure values at boundary faces |
| [in] | faceTemp | temperature values at boundary faces |
| [in] | faceCompFrac | component fraction values at boundary faces |
| [in] | elemRegionList | face-to-element region mapping |
| [in] | elemSubRegionList | face-to-element subregion mapping |
| [in] | elemList | face-to-element index mapping |
| [in] | er | target element region index |
| [in] | esr | target element subregion index |
| [in] | fluid | reference to multifluid constitutive model |
| [in] | relperm | reference to relative permeability constitutive model |
| [out] | facePhaseMob | computed phase mobility at BC faces |
| [out] | facePhaseMassDens | computed phase mass density at BC faces |
| [out] | facePhaseCompFrac | computed phase component fractions at BC faces |
- Note
- This function uses serialPolicy (host execution) because CUDA does not allow extended device lambdas inside generic lambda expressions. The output arrays must be explicitly moved to device memory after this function completes.
Definition at line 1696 of file CompositionalMultiphaseHybridFVMKernels_impl.hpp.