19 #ifndef GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRCOMPOSITIONALMULTIPHASEHYBRIDFVM_HPP_
20 #define GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRCOMPOSITIONALMULTIPHASEHYBRIDFVM_HPP_
57 :
MGRStrategyBase( LvArray::integerConversion< HYPRE_Int >( numComponentsPerField[0] + numComponentsPerField[1] ) )
Labels description stored in point_marker_array 0 = pressure 1 = density ... = ......
void setup(LinearSolverParameters::MGR const &, HyprePrecWrapper &precond, HypreMGRData &mgrData)
Setup the MGR strategy.
CompositionalMultiphaseHybridFVM(arrayView1d< int const > const &numComponentsPerField)
Constructor.
Helper struct for strategies that provides some basic parameter arrays needed by MGR.
MGRCoarseGridMethod m_levelCoarseGridMethod[numLevels]
Coarse grid method for each level.
HYPRE_Int m_numBlocks
Number of different matrix blocks treated separately.
MGRInterpolationType m_levelInterpType[numLevels]
Interpolation type for each level.
std::vector< HYPRE_Int > m_labels[numLevels]
Dof labels kept at each level.
void setupLabels()
Call this after populating lv_cindexes.
HYPRE_Int m_levelFRelaxIters[numLevels]
Number of F-relaxation iterations for each level.
void setPressureAMG(HyprePrecWrapper &solver)
Set up BoomerAMG to perform the solve for the pressure system.
void setReduction(HyprePrecWrapper &precond, HypreMGRData &mgrData)
Helper function that sets the reduction features common to all mgr strategies.
MGRFRelaxationType m_levelFRelaxType[numLevels]
F-relaxation type for each level.
HYPRE_Int m_levelGlobalSmootherIters[numLevels]
Number of global smoother iterations for each level.
MGRGlobalSmootherType m_levelGlobalSmootherType[numLevels]
Global smoother type for each level.
MGRRestrictionType m_levelRestrictType[numLevels]
Restriction type for each level.
@ galerkinRAI
Galerkin coarse grid computation with arbitrary classical restriction and injective prolongation.
@ galerkin
Galerkin coarse grid computation using RAP.
@ blockColLumped
Block column-lumped approximation.
@ none
no F-relaxation if performed
@ jacobi
Diagonal scaling.
@ none
no global smoothing is performed (default)
@ blockGaussSeidel
block Jacobi
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Container for hypre preconditioner auxiliary data for MGR.
HyprePrecWrapper coarseSolver
MGR coarse solver pointer and functions.
Container for hypre preconditioner function pointers.
Multigrid reduction parameters.