GEOSX
Public Member Functions | List of all members
geos::hypre::mgr::ReactiveCompositionalMultiphaseOBL Class Reference

ReactiveCompositionalMultiphaseOBL strategy. More...

#include <ReactiveCompositionalMultiphaseOBL.hpp>

Inheritance diagram for geos::hypre::mgr::ReactiveCompositionalMultiphaseOBL:
Inheritance graph
[legend]

Public Member Functions

 ReactiveCompositionalMultiphaseOBL (arrayView1d< int const > const &numComponentsPerField)
 Constructor. More...
 
void setup (LinearSolverParameters::MGR const &, HyprePrecWrapper &precond, HypreMGRData &mgrData)
 Setup the MGR strategy. More...
 

Additional Inherited Members

- Static Public Attributes inherited from geos::hypre::mgr::MGRStrategyBase< 1 >
static constexpr HYPRE_Int numLevels
 Number of levels.
 
- Protected Member Functions inherited from geos::hypre::mgr::MGRStrategyBase< 1 >
 MGRStrategyBase (HYPRE_Int const numBlocks)
 Constructor. More...
 
void setupLabels ()
 Call this after populating lv_cindexes.
 
void setReduction (HyprePrecWrapper &precond, HypreMGRData &mgrData)
 Helper function that sets the reduction features common to all mgr strategies. More...
 
void setDisplacementAMG (HyprePrecWrapper &solver)
 Set up BoomerAMG to perform the solve for the displacement system. More...
 
void setPressureAMG (HyprePrecWrapper &solver)
 Set up BoomerAMG to perform the solve for the pressure system. More...
 
void setPressureTemperatureAMG (HyprePrecWrapper &solver)
 Set up BoomerAMG to perform the solve for the pressure/temperature system. More...
 
void setMechanicsFSolver (HyprePrecWrapper &precond, HypreMGRData &mgrData)
 Set up BoomerAMG to perform the mechanics F-solve for the first F-relaxation. More...
 
- Protected Attributes inherited from geos::hypre::mgr::MGRStrategyBase< 1 >
HYPRE_Int m_numBlocks
 Number of different matrix blocks treated separately.
 
std::vector< HYPRE_Int > m_labels [numLevels]
 Dof labels kept at each level.
 
HYPRE_Int m_numLabels [numLevels]
 Number of dof labels kept.
 
HYPRE_Int * m_ptrLabels [numLevels]
 Pointers to each level's labels, as consumed by MGR.
 
MGRFRelaxationType m_levelFRelaxType [numLevels]
 F-relaxation type for each level.
 
HYPRE_Int m_levelFRelaxIters [numLevels]
 Number of F-relaxation iterations for each level.
 
MGRInterpolationType m_levelInterpType [numLevels]
 Interpolation type for each level.
 
MGRRestrictionType m_levelRestrictType [numLevels]
 Restriction type for each level.
 
MGRCoarseGridMethod m_levelCoarseGridMethod [numLevels]
 Coarse grid method for each level.
 
MGRGlobalSmootherType m_levelGlobalSmootherType [numLevels]
 Global smoother type for each level.
 
HYPRE_Int m_levelGlobalSmootherIters [numLevels]
 Number of global smoother iterations for each level.
 

Detailed Description

ReactiveCompositionalMultiphaseOBL strategy.

Labels description stored in point_marker_array 0 = pressure 1 = component fraction c = 0 ... = component fraction numLabels - 1 = component fraction c = NC-2 where NC is the number of components

1-level MGR reduction strategy:

Note: in the OBL isothermal formulation, we have the following primary variables

TODO: the thermal formulation may require a specific treatment in which temperature is treated as an elliptic variable

Definition at line 53 of file ReactiveCompositionalMultiphaseOBL.hpp.

Constructor & Destructor Documentation

◆ ReactiveCompositionalMultiphaseOBL()

geos::hypre::mgr::ReactiveCompositionalMultiphaseOBL::ReactiveCompositionalMultiphaseOBL ( arrayView1d< int const > const &  numComponentsPerField)
inlineexplicit

Constructor.

Parameters
numComponentsPerFieldarray with number of components for each field

Definition at line 60 of file ReactiveCompositionalMultiphaseOBL.hpp.

Member Function Documentation

◆ setup()

void geos::hypre::mgr::ReactiveCompositionalMultiphaseOBL::setup ( LinearSolverParameters::MGR const &  ,
HyprePrecWrapper precond,
HypreMGRData mgrData 
)
inline

Setup the MGR strategy.

Parameters
precondpreconditioner wrapper
mgrDataauxiliary MGR data

Definition at line 81 of file ReactiveCompositionalMultiphaseOBL.hpp.


The documentation for this class was generated from the following file: