20 #ifndef GEOS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONAL_AQUIFERBCKERNEL_HPP
21 #define GEOS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONAL_AQUIFERBCKERNEL_HPP
23 #include "codingUtilities/Utilities.hpp"
26 #include "common/GEOS_RAJA_Interface.hpp"
27 #include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
28 #include "constitutive/fluid/multifluid/MultiFluidFields.hpp"
39 namespace isothermalCompositionalMultiphaseFVMKernels
56 template<
typename VIEWTYPE >
61 fields::flow::pressure,
62 fields::flow::pressure_n,
63 fields::flow::gravityCoefficient,
64 fields::flow::phaseVolumeFraction,
65 fields::flow::dPhaseVolumeFraction,
66 fields::flow::dGlobalCompFraction_dGlobalCompDensity >;
70 fields::multifluid::phaseDensity,
71 fields::multifluid::dPhaseDensity,
72 fields::multifluid::phaseCompFraction,
73 fields::multifluid::dPhaseCompFraction >;
75 template<
integer NC >
79 compute(
integer const numPhases,
81 bool const allowAllPhasesIntoAquifer,
82 real64 const aquiferVolFlux,
83 real64 const dAquiferVolFlux_dPres,
84 real64 const aquiferWaterPhaseDens,
95 real64 ( &localFluxJacobian )[NC][NC+1] );
97 template<
integer NC >
99 launch(
integer const numPhases,
101 bool const allowAllPhasesIntoAquifer,
102 integer const useTotalMassEquation,
107 real64 const aquiferWaterPhaseDens,
120 real64 const timeAtBeginningOfStep,
#define GEOS_HOST_DEVICE
Marks a host-device function.
Provides management of the boundary stencil points (stencils used to prescribe boundary conditions on...
typename ElementViewAccessor< VIEWTYPE >::NestedViewTypeConst ElementViewConst
The ElementViewAccessor at the ElementRegionManager level is the type resulting from ElementViewAcces...
A struct to automatically construct and store element view accessors.
A struct to automatically construct and store element view accessors.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
LvArray::CRSMatrixView< T, COL_INDEX, localIndex const, LvArray::ChaiBuffer > CRSMatrixView
Alias for CRS Matrix View.
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
ArraySlice< T, 2, USD > arraySlice2d
Alias for 2D array slice.
ArraySlice< T, 3, USD > arraySlice3d
Alias for 3D array slice.
ArrayView< T, 5, USD > arrayView5d
Alias for 5D array view.
double real64
64-bit floating point type.
ArraySlice< T, 1, USD > arraySlice1d
Alias for 1D array slice.
std::int32_t integer
Signed integer type.
ArrayView< T, 4, USD > arrayView4d
Alias for 4D array view.
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
ArrayView< T, 3, USD > arrayView3d
Alias for 3D array view.
Trait struct for ghostRank data.
Functions to assemble aquifer boundary condition contributions to residual and Jacobian.
ElementRegionManager::ElementViewConst< VIEWTYPE > ElementViewConst
The type for element-based data. Consists entirely of ArrayView's.