20 #ifndef GEOS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONAL_HYDROSTATICPRESSUREKERNEL_HPP
21 #define GEOS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONAL_HYDROSTATICPRESSUREKERNEL_HPP
24 #include "constitutive/fluid/multifluid/Layouts.hpp"
30 namespace isothermalCompositionalMultiphaseBaseKernels
35 template<
typename FLUID_WRAPPER >
40 FAILED_TO_CONVERGE = 0,
41 DETECTED_MULTIPHASE_FLOW = 1,
43 DETECTED_SINGLEPHASE_FLOW = 3,
44 PHASE_CORRECTION_NOT_NEEDED = 4
48 computeHydrostaticPressure(
integer const & numComps,
56 integer const maxNumEquilIterations,
57 real64 const & equilTolerance,
58 real64 const (&gravVector)[ 3 ],
59 FLUID_WRAPPER fluidWrapper,
62 real64 const & refElevation,
65 real64 const & newElevation,
72 computeHydrostaticPressureAtMultipleElevations(
localIndex const & startElevationIndex,
82 integer const & maxNumEquilIterations,
83 real64 const & equilTolerance,
84 real64 const (&gravVector)[ 3 ],
85 FLUID_WRAPPER fluidWrapper,
95 marchBetweenTwoElevations(
real64 const & startElevation,
96 real64 const & endElevation,
105 integer const maxNumEquilIterations,
106 real64 const & equilTolerance,
107 real64 const (&gravVector)[ 3 ],
108 FLUID_WRAPPER fluidWrapper,
125 integer const & maxNumEquilIterations,
128 real64 const equilTolerance,
129 real64 const (&gravVector)[ 3 ],
130 real64 const & datumElevation,
132 FLUID_WRAPPER fluidWrapper,
141 phaseCorrection(
integer const & numComps,
151 FLUID_WRAPPER fluidWrapper );
154 applyPhaseCorrection(
integer const & numComps,
163 FLUID_WRAPPER fluidWrapper );
165 static void mixingStep(
integer const & numComps,
171 static integer evaluateFlashPhaseIndex(
integer const & numPhases,
179 static void evaluatePrimaryAndContactPhaseIndices(
integer const & numPhases,
183 real64 const & startElevation,
184 real64 const & endElevation,
190 computeDatumPhaseMassDens(
integer const & numComps,
195 real64 const & datumElevation,
201 FLUID_WRAPPER fluidWrapper );
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
ArraySlice< T, 2, USD > arraySlice2d
Alias for 2D array slice.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
ArraySlice< T, 1, USD > arraySlice1d
Alias for 1D array slice.
ArrayView< T, 4, USD > arrayView4d
Alias for 4D array view.
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
int integer
Signed integer type.
ArrayView< T, 3, USD > arrayView3d
Alias for 3D array view.