19 #ifndef GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRSINGLEPHASEPOROMECHANICSEMBEDDEDFRACTURES_HPP_
20 #define GEOS_LINEARALGEBRA_INTERFACES_HYPREMGRSINGLEPHASEPOROMECHANICSEMBEDDEDFRACTURES_HPP_
110 #if GEOS_USE_HYPRE_DEVICE == GEOS_USE_HYPRE_CUDA || GEOS_USE_HYPRE_DEVICE == GEOS_USE_HYPRE_HIP
Helper struct for strategies that provides some basic parameter arrays needed by MGR.
MGRCoarseGridMethod m_levelCoarseGridMethod[numLevels]
Coarse grid method for each level.
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.
MGRGlobalSmootherType m_levelGlobalSmootherType[numLevels]
Global smoother type for each level.
MGRRestrictionType m_levelRestrictType[numLevels]
Restriction type for each level.
SinglePhasePoromechanicsEmbeddedFractures strategy.
SinglePhasePoromechanicsEmbeddedFractures(arrayView1d< int const > const &)
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.
@ gsElimWPivoting
Gaussian Elimination with pivoting direct solver (for small systems)
HYPRE_Int getAMGRelaxationType(LinearSolverParameters::AMG::SmootherType const &type)
Returns hypre's identifier of the AMG smoother type.
HYPRE_Int getAMGCoarseningType(LinearSolverParameters::AMG::CoarseningType const &type)
Returns hypre's identifier of the AMG coarsening type.
@ jacobi
Diagonal scaling.
@ blockJacobi
Block-Jacobi.
@ none
no global smoothing is performed (default)
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Container for hypre preconditioner auxiliary data for MGR.
HyprePrecWrapper mechSolver
MGR mechanics fine solver pointer and functions.
HyprePrecWrapper coarseSolver
MGR coarse solver pointer and functions.
Container for hypre preconditioner function pointers.
HYPRE_Solver ptr
pointer to preconditioner
@ chebyshev
Chebyshev polynomial smoothing.
@ PMIS
Parallel coarsening as CLJP but with lower complexities (GPU support)
Multigrid reduction parameters.