|
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.