GEOS
|
Define the interface for the assembly kernel in charge of accumulation. More...
#include <ImmiscibleMultiphaseKernels.hpp>
Classes | |
struct | StackVariables |
Kernel variables (dof numbers, jacobian and residual) located on the stack. More... | |
Public Member Functions | |
AccumulationKernel (localIndex const numPhases, globalIndex const rankOffset, string const dofKey, ElementSubRegionBase const &subRegion, constitutive::TwoPhaseImmiscibleFluid const &fluid, constitutive::CoupledSolidBase const &solid, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, BitFlags< KernelFlags > const kernelFlags) | |
Constructor. More... | |
GEOS_HOST_DEVICE integer | elemGhostRank (localIndex const ei) const |
Getter for the ghost rank of an element. More... | |
GEOS_HOST_DEVICE void | setup (localIndex const ei, StackVariables &stack) const |
Performs the setup phase for the kernel. More... | |
GEOS_HOST_DEVICE void | computeAccumulation (localIndex const ei, StackVariables &stack) const |
Compute the local accumulation contributions to the residual and Jacobian. More... | |
GEOS_HOST_DEVICE void | complete (localIndex const GEOS_UNUSED_PARAM(ei), StackVariables &stack) const |
Performs the complete phase for the kernel. More... | |
Static Public Member Functions | |
template<typename POLICY , typename KERNEL_TYPE > | |
static void | launch (localIndex const numElems, KERNEL_TYPE const &kernelComponent) |
Performs the kernel launch. More... | |
Public Attributes | |
integer const | m_numPhases |
Number of fluid phases. | |
Static Public Attributes | |
static constexpr integer | numDof = NUM_DOF |
Compute time value for the number of degrees of freedom. | |
static constexpr integer | numEqn = NUM_EQN |
Compute time value for the number of equations. | |
Protected Attributes | |
globalIndex const | m_rankOffset |
Offset for my MPI rank. | |
arrayView1d< globalIndex const > const | m_dofNumber |
View on the dof numbers. | |
arrayView1d< integer const > const | m_elemGhostRank |
View on the ghost ranks. | |
arrayView1d< real64 const > const | m_volume |
View on the element volumes. | |
arrayView2d< real64 const > const | m_porosity |
Views on the porosity. | |
arrayView2d< real64 const > const | m_dPoro_dPres |
arrayView2d< real64 const, immiscibleFlow::USD_PHASE > const | m_phaseVolFrac |
Views on the phase volume fractions. | |
arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > const | m_phaseDens |
Views on the phase densities. | |
arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > const | m_dPhaseDens |
arrayView2d< real64 const, immiscibleFlow::USD_PHASE > | m_phaseMass_n |
CRSMatrixView< real64, globalIndex const > const | m_localMatrix |
View on the local CRS matrix. | |
arrayView1d< real64 > const | m_localRhs |
View on the local RHS. | |
BitFlags< KernelFlags > const | m_kernelFlags |
Define the interface for the assembly kernel in charge of accumulation.
NUM_EQN | number of fluid phases |
NUM_DOF | number of degrees of freedom |
Definition at line 817 of file ImmiscibleMultiphaseKernels.hpp.
|
inline |
Constructor.
[in] | numPhases | the number of fluid phases |
[in] | rankOffset | the offset of my MPI rank |
[in] | dofKey | the string key to retrieve the degress of freedom numbers |
[in] | subRegion | the element subregion |
[in] | fluid | the fluid model |
[in] | solid | the solid model |
[in,out] | localMatrix | the local CRS matrix |
[in,out] | localRhs | the local right-hand side vector |
[in,out] | kernelFlags | the kernel options |
Definition at line 842 of file ImmiscibleMultiphaseKernels.hpp.
|
inline |
Performs the complete phase for the kernel.
[in] | ei | the element index |
[in,out] | stack | the stack variables |
Definition at line 964 of file ImmiscibleMultiphaseKernels.hpp.
|
inline |
Compute the local accumulation contributions to the residual and Jacobian.
[in] | ei | the element index |
[in,out] | stack | the stack variables |
Definition at line 936 of file ImmiscibleMultiphaseKernels.hpp.
|
inline |
Getter for the ghost rank of an element.
[in] | ei | the element index |
Definition at line 905 of file ImmiscibleMultiphaseKernels.hpp.
|
inlinestatic |
Performs the kernel launch.
POLICY | the policy used in the RAJA kernels |
KERNEL_TYPE | the kernel type |
[in] | numElems | the number of elements |
[in,out] | kernelComponent | the kernel component providing access to setup/compute/complete functions and stack variables |
Definition at line 1000 of file ImmiscibleMultiphaseKernels.hpp.
|
inline |
Performs the setup phase for the kernel.
[in] | ei | the element index |
[in] | stack | the stack variables |
Definition at line 915 of file ImmiscibleMultiphaseKernels.hpp.