GEOS
|
Define the interface for the assembly kernel in charge of flux terms. More...
#include <ThermalCompositionalMultiphaseWellKernels.hpp>
Classes | |
struct | StackVariables |
Public Member Functions | |
FaceBasedAssemblyKernel (real64 const dt, globalIndex const rankOffset, string const wellDofKey, WellControls const &wellControls, WellElementSubRegion const &subRegion, MultiFluidBase const &fluid, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, BitFlags< isothermalCompositionalMultiphaseBaseKernels::KernelFlags > kernelFlags) | |
Constructor for the kernel interface. More... | |
GEOS_HOST_DEVICE void | setup (localIndex const iwelem, StackVariables &stack) const |
GEOS_HOST_DEVICE void | complete (localIndex const iwelem, StackVariables &stack) const |
GEOS_HOST_DEVICE void | computeFlux (localIndex const iwelem, StackVariables &stack) const |
Compute the local flux contributions to the residual and Jacobian. More... | |
![]() | |
FaceBasedAssemblyKernel (real64 const dt, globalIndex const rankOffset, string const wellDofKey, WellControls const &wellControls, WellElementSubRegion const &subRegion, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, BitFlags< isothermalCompositionalMultiphaseBaseKernels::KernelFlags > kernelFlags) | |
Constructor for the kernel interface. More... | |
GEOS_HOST_DEVICE void | setup (localIndex const iconn, StackVariables &stack) const |
Performs the setup phase for the kernel. More... | |
GEOS_HOST_DEVICE void | complete (localIndex const iconn, StackVariables &stack) const |
Performs the setup phase for the kernel. More... | |
GEOS_HOST_DEVICE void | computeExit (real64 const &dt, real64 const(&compFlux)[NC], StackVariables &stack, real64(&dCompFlux)[NC][numDof]) const |
GEOS_HOST_DEVICE void | compute (real64 const &dt, real64 const(&compFlux)[NC], StackVariables &stack, real64(&dCompFlux)[(NC)][numDof]) const |
GEOS_HOST_DEVICE void | computeFlux (localIndex const iwelem, StackVariables &stack, FUNC &&compFluxKernelOp=NoOpFunc{}) const |
Compute the local flux contributions to the residual and Jacobian. More... | |
Static Public Member Functions | |
template<typename POLICY , typename KERNEL_TYPE > | |
static void | launch (localIndex const numElements, KERNEL_TYPE const &kernelComponent) |
Performs the kernel launch. More... | |
![]() | |
static void | launch (localIndex const numElements, KERNEL_TYPE const &kernelComponent) |
Performs the kernel launch. More... | |
Public Attributes | |
bool const | m_isProducer |
Well type. | |
real64 const | m_dt |
Time step size. | |
arrayView1d< real64 > const | m_localRhs |
View on the local RHS. | |
CRSMatrixView< real64, globalIndex const > const | m_localMatrix |
View on the local CRS matrix. | |
integer const | m_rankOffset |
Rank offset for calculating row/col Jacobian indices. | |
integer const | m_useTotalMassEquation |
Kernel option flag. | |
Static Public Attributes | |
static constexpr integer | IS_THERMAL = 1 |
static constexpr integer | numComp = NC |
Compile time value for the number of components. | |
static constexpr integer | numDof = WJ_COFFSET::nDer |
Compute time value for the number of degrees of freedom. | |
static constexpr integer | numEqn = WJ_ROFFSET::nEqn - 2 |
Compile time value for the number of equations except volume and momentum. | |
static constexpr integer | maxNumElems |
static constexpr integer | maxStencilSize |
![]() | |
static constexpr integer | numComp |
Compile time value for the number of components. | |
static constexpr integer | numDof |
Number of Dof's set in this kernal. | |
static constexpr integer | numEqn |
Compile time value for the number of equations except rate, momentum, energy. | |
static constexpr integer | maxNumElems |
static constexpr integer | maxStencilSize |
Protected Attributes | |
integer const | m_numPhases |
Number of phases. | |
arrayView1d< globalIndex const > | m_globalWellElementIndex |
Global index of local element. | |
arrayView3d< real64 const, multifluid::USD_PHASE > const | m_phaseFraction |
Element phase fraction. | |
arrayView4d< real64 const, multifluid::USD_PHASE_DC > const | m_dPhaseFraction |
arrayView3d< real64 const, multifluid::USD_PHASE > | m_phaseEnthalpy |
Views on phase enthalpy. | |
arrayView4d< real64 const, multifluid::USD_PHASE_DC > | m_dPhaseEnthalpy |
![]() | |
real64 const | m_dt |
Time step size. | |
integer const | m_rankOffset |
Rank offset for calculating row/col Jacobian indices. | |
arrayView1d< globalIndex const > const | m_wellElemDofNumber |
Reference to the degree-of-freedom numbers. | |
arrayView1d< localIndex const > const | m_nextWellElemIndex |
Next element index, needed since iterating over element nodes, not edges. | |
arrayView1d< real64 const > const | m_connRate |
Connection rate. | |
arrayView2d< real64 const, compflow::USD_COMP > const | m_wellElemCompFrac |
Element component fraction. | |
arrayView3d< real64 const, compflow::USD_COMP_DC > const | m_dWellElemCompFrac_dCompDens |
Element component fraction derivatives. | |
CRSMatrixView< real64, globalIndex const > const | m_localMatrix |
View on the local CRS matrix. | |
arrayView1d< real64 > const | m_localRhs |
View on the local RHS. | |
integer const | m_useTotalMassEquation |
Kernel option flag. | |
bool const | m_isProducer |
Well type. | |
arrayView1d< real64 const > const | m_injection |
Injection stream composition. | |
Define the interface for the assembly kernel in charge of flux terms.
NUM_COMP | number of fluid components |
Definition at line 669 of file ThermalCompositionalMultiphaseWellKernels.hpp.
|
inline |
Constructor for the kernel interface.
[in] | rankOffset | the offset of my MPI rank |
[in] | stencilWrapper | reference to the stencil wrapper |
[in] | dofNumberAccessor | |
[in] | compFlowAccessors | |
[in] | multiFluidAccessors | |
[in] | capPressureAccessors | |
[in] | permeabilityAccessors | |
[in] | dt | time step size |
[in,out] | localMatrix | the local CRS matrix |
[in,out] | localRhs | the local right-hand side vector |
[in] | kernelFlags | flags packed together |
Definition at line 716 of file ThermalCompositionalMultiphaseWellKernels.hpp.
|
inline |
Compute the local flux contributions to the residual and Jacobian.
FUNC | the type of the function that can be used to customize the computation of the phase fluxes |
[in] | ie | the element index |
[in,out] | stack | the stack variables |
[in] | compFluxKernelOp | the function used to customize the computation of the component fluxes |
Definition at line 902 of file ThermalCompositionalMultiphaseWellKernels.hpp.
|
inlinestatic |
Performs the kernel launch.
POLICY | the policy used in the RAJA kernels |
KERNEL_TYPE | the kernel type |
[in] | numElements | the number of elements |
[in,out] | kernelComponent | the kernel component providing access to setup/compute/complete functions and stack variables |
Definition at line 1033 of file ThermalCompositionalMultiphaseWellKernels.hpp.