19 #ifndef GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRTHERMALMULTIPHASEPOROMECHANICS_HPP_
20 #define GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRTHERMALMULTIPHASEPOROMECHANICS_HPP_
61 :
MGRStrategyBase( LvArray::integerConversion< HYPRE_Int >( numComponentsPerField[0] + numComponentsPerField[1] ) )
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 setPressureTemperatureAMG(HyprePrecWrapper &solver)
Set up BoomerAMG to perform the solve for the pressure/temperature system.
void setupLabels()
Call this after populating lv_cindexes.
HYPRE_Int m_levelFRelaxIters[numLevels]
Number of F-relaxation iterations for each level.
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.
void setMechanicsFSolver(HyprePrecWrapper &precond, HypreMGRData &mgrData)
Set up BoomerAMG to perform the mechanics F-solve for the first F-relaxation.
ThermalMultiphasePoromechanics strategy.
ThermalMultiphasePoromechanics(arrayView1d< int const > const &numComponentsPerField)
Constructor.
void setup(LinearSolverParameters::MGR const &, HyprePrecWrapper &precond, HypreMGRData &mgrData)
Setup the MGR strategy.
#define GEOS_LAI_CHECK_ERROR(call)
@ galerkin
Galerkin coarse grid computation using RAP.
@ amgVCycle
Full AMG VCycle solver.
@ none
no F-relaxation if performed
@ jacobi
Diagonal scaling.
@ none
no global smoothing is performed (default)
@ ilu0
incomplete LU factorization
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.
HYPRE_Solver ptr
pointer to preconditioner
Multigrid reduction parameters.