hypre 2.32.0
Loading...
Searching...
No Matches
HYPRE_parcsr_ls.h File Reference

Functions

HYPRE_Int HYPRE_SchwarzCreate (HYPRE_Solver *solver)
 
HYPRE_Int HYPRE_SchwarzDestroy (HYPRE_Solver solver)
 
HYPRE_Int HYPRE_SchwarzSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_SchwarzSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_SchwarzSetVariant (HYPRE_Solver solver, HYPRE_Int variant)
 
HYPRE_Int HYPRE_SchwarzSetOverlap (HYPRE_Solver solver, HYPRE_Int overlap)
 
HYPRE_Int HYPRE_SchwarzSetDomainType (HYPRE_Solver solver, HYPRE_Int domain_type)
 
HYPRE_Int HYPRE_SchwarzSetRelaxWeight (HYPRE_Solver solver, HYPRE_Real relax_weight)
 
HYPRE_Int HYPRE_SchwarzSetDomainStructure (HYPRE_Solver solver, HYPRE_CSRMatrix domain_structure)
 
HYPRE_Int HYPRE_SchwarzSetNumFunctions (HYPRE_Solver solver, HYPRE_Int num_functions)
 
HYPRE_Int HYPRE_SchwarzSetDofFunc (HYPRE_Solver solver, HYPRE_Int *dof_func)
 
HYPRE_Int HYPRE_SchwarzSetNonSymm (HYPRE_Solver solver, HYPRE_Int use_nonsymm)
 
HYPRE_Int HYPRE_ParCSRCGNRCreate (MPI_Comm comm, HYPRE_Solver *solver)
 
HYPRE_Int HYPRE_ParCSRCGNRDestroy (HYPRE_Solver solver)
 
HYPRE_Int HYPRE_ParCSRCGNRSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRCGNRSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRCGNRSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRCGNRSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRCGNRSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRCGNRSetStopCrit (HYPRE_Solver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_ParCSRCGNRSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precondT, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRCGNRGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRCGNRSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRCGNRGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRCGNRGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
ParCSR BoomerAMG Solver and Preconditioner

Parallel unstructured algebraic multigrid solver and preconditioner

HYPRE_Int HYPRE_BoomerAMGCreate (HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_BoomerAMGDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_BoomerAMGSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the BoomerAMG solver or preconditioner.
 
HYPRE_Int HYPRE_BoomerAMGSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply AMG as a preconditioner.
 
HYPRE_Int HYPRE_BoomerAMGSolveT (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the transpose system $A^T x = b$ or apply AMG as a preconditioner to the transpose system .
 
HYPRE_Int HYPRE_BoomerAMGSetOldDefault (HYPRE_Solver solver)
 Recovers old default for coarsening and interpolation, i.e Falgout coarsening and untruncated modified classical interpolation.
 
HYPRE_Int HYPRE_BoomerAMGGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 Returns the residual.
 
HYPRE_Int HYPRE_BoomerAMGGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 Returns the number of iterations taken.
 
HYPRE_Int HYPRE_BoomerAMGGetCumNnzAP (HYPRE_Solver solver, HYPRE_Real *cum_nnz_AP)
 Returns cumulative num of nonzeros for A and P operators.
 
HYPRE_Int HYPRE_BoomerAMGSetCumNnzAP (HYPRE_Solver solver, HYPRE_Real cum_nnz_AP)
 Activates cumulative num of nonzeros for A and P operators.
 
HYPRE_Int HYPRE_BoomerAMGGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *rel_resid_norm)
 Returns the norm of the final relative residual.
 
HYPRE_Int HYPRE_BoomerAMGSetNumFunctions (HYPRE_Solver solver, HYPRE_Int num_functions)
 (Optional) Sets the size of the system of PDEs, if using the systems version.
 
HYPRE_Int HYPRE_BoomerAMGSetFilterFunctions (HYPRE_Solver solver, HYPRE_Int filter_functions)
 (Optional) Sets filtering for system of PDEs (num_functions > 1).
 
HYPRE_Int HYPRE_BoomerAMGSetDofFunc (HYPRE_Solver solver, HYPRE_Int *dof_func)
 (Optional) Sets the mapping that assigns the function to each variable, if using the systems version.
 
HYPRE_Int HYPRE_BoomerAMGSetConvergeType (HYPRE_Solver solver, HYPRE_Int type)
 (Optional) Set the type convergence checking 0: (default) norm(r)/norm(b), or norm(r) when b == 0 1: nomr(r) / norm(r_0)
 
HYPRE_Int HYPRE_BoomerAMGSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance, if BoomerAMG is used as a solver.
 
HYPRE_Int HYPRE_BoomerAMGSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 (Optional) Sets maximum number of iterations, if BoomerAMG is used as a solver.
 
HYPRE_Int HYPRE_BoomerAMGSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 (Optional)
 
HYPRE_Int HYPRE_BoomerAMGSetMaxCoarseSize (HYPRE_Solver solver, HYPRE_Int max_coarse_size)
 (Optional) Sets maximum size of coarsest grid.
 
HYPRE_Int HYPRE_BoomerAMGSetMinCoarseSize (HYPRE_Solver solver, HYPRE_Int min_coarse_size)
 (Optional) Sets minimum size of coarsest grid.
 
HYPRE_Int HYPRE_BoomerAMGSetMaxLevels (HYPRE_Solver solver, HYPRE_Int max_levels)
 (Optional) Sets maximum number of multigrid levels.
 
HYPRE_Int HYPRE_BoomerAMGSetCoarsenCutFactor (HYPRE_Solver solver, HYPRE_Int coarsen_cut_factor)
 (Optional) Sets cut factor for choosing isolated points during coarsening according to the rows' density.
 
HYPRE_Int HYPRE_BoomerAMGSetStrongThreshold (HYPRE_Solver solver, HYPRE_Real strong_threshold)
 (Optional) Sets AMG strength threshold.
 
HYPRE_Int HYPRE_BoomerAMGSetStrongThresholdR (HYPRE_Solver solver, HYPRE_Real strong_threshold)
 (Optional) The strong threshold for R is strong connections used in building an approximate ideal restriction.
 
HYPRE_Int HYPRE_BoomerAMGSetFilterThresholdR (HYPRE_Solver solver, HYPRE_Real filter_threshold)
 (Optional) The filter threshold for R is used to eliminate small entries of the approximate ideal restriction after building it.
 
HYPRE_Int HYPRE_BoomerAMGSetSCommPkgSwitch (HYPRE_Solver solver, HYPRE_Real S_commpkg_switch)
 (Optional) Deprecated.
 
HYPRE_Int HYPRE_BoomerAMGSetMaxRowSum (HYPRE_Solver solver, HYPRE_Real max_row_sum)
 (Optional) Sets a parameter to modify the definition of strength for diagonal dominant portions of the matrix.
 
HYPRE_Int HYPRE_BoomerAMGSetCoarsenType (HYPRE_Solver solver, HYPRE_Int coarsen_type)
 (Optional) Defines which parallel coarsening algorithm is used.
 
HYPRE_Int HYPRE_BoomerAMGSetNonGalerkinTol (HYPRE_Solver solver, HYPRE_Real nongalerkin_tol)
 (Optional) Defines the non-Galerkin drop-tolerance for sparsifying coarse grid operators and thus reducing communication.
 
HYPRE_Int HYPRE_BoomerAMGSetLevelNonGalerkinTol (HYPRE_Solver solver, HYPRE_Real nongalerkin_tol, HYPRE_Int level)
 (Optional) Defines the level specific non-Galerkin drop-tolerances for sparsifying coarse grid operators and thus reducing communication.
 
HYPRE_Int HYPRE_BoomerAMGSetNonGalerkTol (HYPRE_Solver solver, HYPRE_Int nongalerk_num_tol, HYPRE_Real *nongalerk_tol)
 (Optional) Defines the non-Galerkin drop-tolerance (old version)
 
HYPRE_Int HYPRE_BoomerAMGSetMeasureType (HYPRE_Solver solver, HYPRE_Int measure_type)
 (Optional) Defines whether local or global measures are used.
 
HYPRE_Int HYPRE_BoomerAMGSetAggNumLevels (HYPRE_Solver solver, HYPRE_Int agg_num_levels)
 (Optional) Defines the number of levels of aggressive coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetNumPaths (HYPRE_Solver solver, HYPRE_Int num_paths)
 (Optional) Defines the degree of aggressive coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetCGCIts (HYPRE_Solver solver, HYPRE_Int its)
 (optional) Defines the number of pathes for CGC-coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetNodal (HYPRE_Solver solver, HYPRE_Int nodal)
 (Optional) Sets whether to use the nodal systems coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetNodalDiag (HYPRE_Solver solver, HYPRE_Int nodal_diag)
 (Optional) Sets whether to give special treatment to diagonal elements in the nodal systems version.
 
HYPRE_Int HYPRE_BoomerAMGSetKeepSameSign (HYPRE_Solver solver, HYPRE_Int keep_same_sign)
 
HYPRE_Int HYPRE_BoomerAMGSetInterpType (HYPRE_Solver solver, HYPRE_Int interp_type)
 (Optional) Defines which parallel interpolation operator is used.
 
HYPRE_Int HYPRE_BoomerAMGSetTruncFactor (HYPRE_Solver solver, HYPRE_Real trunc_factor)
 (Optional) Defines a truncation factor for the interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetPMaxElmts (HYPRE_Solver solver, HYPRE_Int P_max_elmts)
 (Optional) Defines the maximal number of elements per row for the interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetSepWeight (HYPRE_Solver solver, HYPRE_Int sep_weight)
 (Optional) Defines whether separation of weights is used when defining strength for standard interpolation or multipass interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetAggInterpType (HYPRE_Solver solver, HYPRE_Int agg_interp_type)
 (Optional) Defines the interpolation used on levels of aggressive coarsening The default is 4, i.e.
 
HYPRE_Int HYPRE_BoomerAMGSetAggTruncFactor (HYPRE_Solver solver, HYPRE_Real agg_trunc_factor)
 (Optional) Defines the truncation factor for the interpolation used for aggressive coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetAggP12TruncFactor (HYPRE_Solver solver, HYPRE_Real agg_P12_trunc_factor)
 (Optional) Defines the truncation factor for the matrices P1 and P2 which are used to build 2-stage interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetAggPMaxElmts (HYPRE_Solver solver, HYPRE_Int agg_P_max_elmts)
 (Optional) Defines the maximal number of elements per row for the interpolation used for aggressive coarsening.
 
HYPRE_Int HYPRE_BoomerAMGSetAggP12MaxElmts (HYPRE_Solver solver, HYPRE_Int agg_P12_max_elmts)
 (Optional) Defines the maximal number of elements per row for the matrices P1 and P2 which are used to build 2-stage interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetInterpVectors (HYPRE_Solver solver, HYPRE_Int num_vectors, HYPRE_ParVector *interp_vectors)
 (Optional) Allows the user to incorporate additional vectors into the interpolation for systems AMG, e.g.
 
HYPRE_Int HYPRE_BoomerAMGSetInterpVecVariant (HYPRE_Solver solver, HYPRE_Int var)
 (Optional) Defines the interpolation variant used for HYPRE_BoomerAMGSetInterpVectors:
 
HYPRE_Int HYPRE_BoomerAMGSetInterpVecQMax (HYPRE_Solver solver, HYPRE_Int q_max)
 (Optional) Defines the maximal elements per row for Q, the additional columns added to the original interpolation matrix P, to reduce complexity.
 
HYPRE_Int HYPRE_BoomerAMGSetInterpVecAbsQTrunc (HYPRE_Solver solver, HYPRE_Real q_trunc)
 (Optional) Defines a truncation factor for Q, the additional columns added to the original interpolation matrix P, to reduce complexity.
 
HYPRE_Int HYPRE_BoomerAMGSetGSMG (HYPRE_Solver solver, HYPRE_Int gsmg)
 (Optional) Specifies the use of GSMG - geometrically smooth coarsening and interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetNumSamples (HYPRE_Solver solver, HYPRE_Int num_samples)
 (Optional) Defines the number of sample vectors used in GSMG or LS interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetCycleType (HYPRE_Solver solver, HYPRE_Int cycle_type)
 (Optional) Defines the type of cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetFCycle (HYPRE_Solver solver, HYPRE_Int fcycle)
 (Optional) Specifies the use of Full multigrid cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetAdditive (HYPRE_Solver solver, HYPRE_Int addlvl)
 (Optional) Defines use of an additive V(1,1)-cycle using the classical additive method starting at level 'addlvl'.
 
HYPRE_Int HYPRE_BoomerAMGSetMultAdditive (HYPRE_Solver solver, HYPRE_Int addlvl)
 (Optional) Defines use of an additive V(1,1)-cycle using the mult-additive method starting at level 'addlvl'.
 
HYPRE_Int HYPRE_BoomerAMGSetSimple (HYPRE_Solver solver, HYPRE_Int addlvl)
 (Optional) Defines use of an additive V(1,1)-cycle using the simplified mult-additive method starting at level 'addlvl'.
 
HYPRE_Int HYPRE_BoomerAMGSetAddLastLvl (HYPRE_Solver solver, HYPRE_Int add_last_lvl)
 (Optional) Defines last level where additive, mult-additive or simple cycle is used.
 
HYPRE_Int HYPRE_BoomerAMGSetMultAddTruncFactor (HYPRE_Solver solver, HYPRE_Real add_trunc_factor)
 (Optional) Defines the truncation factor for the smoothed interpolation used for mult-additive or simple method.
 
HYPRE_Int HYPRE_BoomerAMGSetMultAddPMaxElmts (HYPRE_Solver solver, HYPRE_Int add_P_max_elmts)
 (Optional) Defines the maximal number of elements per row for the smoothed interpolation used for mult-additive or simple method.
 
HYPRE_Int HYPRE_BoomerAMGSetAddRelaxType (HYPRE_Solver solver, HYPRE_Int add_rlx_type)
 (Optional) Defines the relaxation type used in the (mult)additive cycle portion (also affects simple method.) The default is 18 (L1-Jacobi).
 
HYPRE_Int HYPRE_BoomerAMGSetAddRelaxWt (HYPRE_Solver solver, HYPRE_Real add_rlx_wt)
 (Optional) Defines the relaxation weight used for Jacobi within the (mult)additive or simple cycle portion.
 
HYPRE_Int HYPRE_BoomerAMGSetSeqThreshold (HYPRE_Solver solver, HYPRE_Int seq_threshold)
 (Optional) Sets maximal size for agglomeration or redundant coarse grid solve.
 
HYPRE_Int HYPRE_BoomerAMGSetRedundant (HYPRE_Solver solver, HYPRE_Int redundant)
 (Optional) operates switch for redundancy.
 
HYPRE_Int HYPRE_BoomerAMGSetNumGridSweeps (HYPRE_Solver solver, HYPRE_Int *num_grid_sweeps)
 (Optional) Defines the number of sweeps for the fine and coarse grid, the up and down cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetNumSweeps (HYPRE_Solver solver, HYPRE_Int num_sweeps)
 (Optional) Sets the number of sweeps.
 
HYPRE_Int HYPRE_BoomerAMGSetCycleNumSweeps (HYPRE_Solver solver, HYPRE_Int num_sweeps, HYPRE_Int k)
 (Optional) Sets the number of sweeps at a specified cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetGridRelaxType (HYPRE_Solver solver, HYPRE_Int *grid_relax_type)
 (Optional) Defines which smoother is used on the fine and coarse grid, the up and down cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetRelaxType (HYPRE_Solver solver, HYPRE_Int relax_type)
 (Optional) Defines the smoother to be used.
 
HYPRE_Int HYPRE_BoomerAMGSetCycleRelaxType (HYPRE_Solver solver, HYPRE_Int relax_type, HYPRE_Int k)
 (Optional) Defines the smoother at a given cycle.
 
HYPRE_Int HYPRE_BoomerAMGSetRelaxOrder (HYPRE_Solver solver, HYPRE_Int relax_order)
 (Optional) Defines in which order the points are relaxed.
 
HYPRE_Int HYPRE_BoomerAMGSetGridRelaxPoints (HYPRE_Solver solver, HYPRE_Int **grid_relax_points)
 (Optional) Defines in which order the points are relaxed.
 
HYPRE_Int HYPRE_BoomerAMGSetRelaxWeight (HYPRE_Solver solver, HYPRE_Real *relax_weight)
 (Optional) Defines the relaxation weight for smoothed Jacobi and hybrid SOR.
 
HYPRE_Int HYPRE_BoomerAMGSetRelaxWt (HYPRE_Solver solver, HYPRE_Real relax_weight)
 (Optional) Defines the relaxation weight for smoothed Jacobi and hybrid SOR on all levels.
 
HYPRE_Int HYPRE_BoomerAMGSetLevelRelaxWt (HYPRE_Solver solver, HYPRE_Real relax_weight, HYPRE_Int level)
 (Optional) Defines the relaxation weight for smoothed Jacobi and hybrid SOR on the user defined level.
 
HYPRE_Int HYPRE_BoomerAMGSetOmega (HYPRE_Solver solver, HYPRE_Real *omega)
 (Optional) Defines the outer relaxation weight for hybrid SOR.
 
HYPRE_Int HYPRE_BoomerAMGSetOuterWt (HYPRE_Solver solver, HYPRE_Real omega)
 (Optional) Defines the outer relaxation weight for hybrid SOR and SSOR on all levels.
 
HYPRE_Int HYPRE_BoomerAMGSetLevelOuterWt (HYPRE_Solver solver, HYPRE_Real omega, HYPRE_Int level)
 (Optional) Defines the outer relaxation weight for hybrid SOR or SSOR on the user defined level.
 
HYPRE_Int HYPRE_BoomerAMGSetChebyOrder (HYPRE_Solver solver, HYPRE_Int order)
 (Optional) Defines the Order for Chebyshev smoother.
 
HYPRE_Int HYPRE_BoomerAMGSetChebyFraction (HYPRE_Solver solver, HYPRE_Real ratio)
 (Optional) Fraction of the spectrum to use for the Chebyshev smoother.
 
HYPRE_Int HYPRE_BoomerAMGSetChebyScale (HYPRE_Solver solver, HYPRE_Int scale)
 (Optional) Defines whether matrix should be scaled.
 
HYPRE_Int HYPRE_BoomerAMGSetChebyVariant (HYPRE_Solver solver, HYPRE_Int variant)
 (Optional) Defines which polynomial variant should be used.
 
HYPRE_Int HYPRE_BoomerAMGSetChebyEigEst (HYPRE_Solver solver, HYPRE_Int eig_est)
 (Optional) Defines how to estimate eigenvalues.
 
HYPRE_Int HYPRE_BoomerAMGSetSmoothType (HYPRE_Solver solver, HYPRE_Int smooth_type)
 (Optional) Enables the use of more complex smoothers.
 
HYPRE_Int HYPRE_BoomerAMGSetSmoothNumLevels (HYPRE_Solver solver, HYPRE_Int smooth_num_levels)
 (Optional) Sets the number of levels for more complex smoothers.
 
HYPRE_Int HYPRE_BoomerAMGSetSmoothNumSweeps (HYPRE_Solver solver, HYPRE_Int smooth_num_sweeps)
 (Optional) Sets the number of sweeps for more complex smoothers.
 
HYPRE_Int HYPRE_BoomerAMGSetVariant (HYPRE_Solver solver, HYPRE_Int variant)
 (Optional) Defines which variant of the Schwarz method is used.
 
HYPRE_Int HYPRE_BoomerAMGSetOverlap (HYPRE_Solver solver, HYPRE_Int overlap)
 (Optional) Defines the overlap for the Schwarz method.
 
HYPRE_Int HYPRE_BoomerAMGSetDomainType (HYPRE_Solver solver, HYPRE_Int domain_type)
 (Optional) Defines the type of domain used for the Schwarz method.
 
HYPRE_Int HYPRE_BoomerAMGSetSchwarzRlxWeight (HYPRE_Solver solver, HYPRE_Real schwarz_rlx_weight)
 (Optional) Defines a smoothing parameter for the additive Schwarz method.
 
HYPRE_Int HYPRE_BoomerAMGSetSchwarzUseNonSymm (HYPRE_Solver solver, HYPRE_Int use_nonsymm)
 (Optional) Indicates that the aggregates may not be SPD for the Schwarz method.
 
HYPRE_Int HYPRE_BoomerAMGSetSym (HYPRE_Solver solver, HYPRE_Int sym)
 (Optional) Defines symmetry for ParaSAILS.
 
HYPRE_Int HYPRE_BoomerAMGSetLevel (HYPRE_Solver solver, HYPRE_Int level)
 (Optional) Defines number of levels for ParaSAILS.
 
HYPRE_Int HYPRE_BoomerAMGSetThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Defines threshold for ParaSAILS.
 
HYPRE_Int HYPRE_BoomerAMGSetFilter (HYPRE_Solver solver, HYPRE_Real filter)
 (Optional) Defines filter for ParaSAILS.
 
HYPRE_Int HYPRE_BoomerAMGSetDropTol (HYPRE_Solver solver, HYPRE_Real drop_tol)
 (Optional) Defines drop tolerance for PILUT.
 
HYPRE_Int HYPRE_BoomerAMGSetMaxNzPerRow (HYPRE_Solver solver, HYPRE_Int max_nz_per_row)
 (Optional) Defines maximal number of nonzeros for PILUT.
 
HYPRE_Int HYPRE_BoomerAMGSetEuclidFile (HYPRE_Solver solver, char *euclidfile)
 (Optional) Defines name of an input file for Euclid parameters.
 
HYPRE_Int HYPRE_BoomerAMGSetEuLevel (HYPRE_Solver solver, HYPRE_Int eu_level)
 (Optional) Defines number of levels for ILU(k) in Euclid.
 
HYPRE_Int HYPRE_BoomerAMGSetEuSparseA (HYPRE_Solver solver, HYPRE_Real eu_sparse_A)
 (Optional) Defines filter for ILU(k) for Euclid.
 
HYPRE_Int HYPRE_BoomerAMGSetEuBJ (HYPRE_Solver solver, HYPRE_Int eu_bj)
 (Optional) Defines use of block jacobi ILUT for Euclid.
 
HYPRE_Int HYPRE_BoomerAMGSetILUType (HYPRE_Solver solver, HYPRE_Int ilu_type)
 Defines type of ILU smoother to use For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILULevel (HYPRE_Solver solver, HYPRE_Int ilu_lfil)
 Defines level k for ILU(k) smoother For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILUMaxRowNnz (HYPRE_Solver solver, HYPRE_Int ilu_max_row_nnz)
 Defines max row nonzeros for ILUT smoother For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILUMaxIter (HYPRE_Solver solver, HYPRE_Int ilu_max_iter)
 Defines number of iterations for ILU smoother on each level For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILUDroptol (HYPRE_Solver solver, HYPRE_Real ilu_droptol)
 Defines drop tolorance for iLUT smoother For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILUTriSolve (HYPRE_Solver solver, HYPRE_Int ilu_tri_solve)
 (Optional) Defines triangular solver for ILU(k,T) smoother: 0-iterative, 1-direct (default) For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILULowerJacobiIters (HYPRE_Solver solver, HYPRE_Int ilu_lower_jacobi_iters)
 (Optional) Defines number of lower Jacobi iterations for ILU(k,T) smoother triangular solve.
 
HYPRE_Int HYPRE_BoomerAMGSetILUUpperJacobiIters (HYPRE_Solver solver, HYPRE_Int ilu_upper_jacobi_iters)
 (Optional) Defines number of upper Jacobi iterations for ILU(k,T) smoother triangular solve.
 
HYPRE_Int HYPRE_BoomerAMGSetILULocalReordering (HYPRE_Solver solver, HYPRE_Int ilu_reordering_type)
 (Optional) Set Local Reordering paramter (1==RCM, 0==None) For further explanation see description of ILU.
 
HYPRE_Int HYPRE_BoomerAMGSetILUIterSetupType (HYPRE_Solver solver, HYPRE_Int ilu_iter_setup_type)
 (Optional) Set iterative ILU's algorithm type.
 
HYPRE_Int HYPRE_BoomerAMGSetILUIterSetupOption (HYPRE_Solver solver, HYPRE_Int ilu_iter_setup_option)
 (Optional) Set iterative ILU's option.
 
HYPRE_Int HYPRE_BoomerAMGSetILUIterSetupMaxIter (HYPRE_Solver solver, HYPRE_Int ilu_iter_setup_max_iter)
 (Optional) Set iterative ILU's max.
 
HYPRE_Int HYPRE_BoomerAMGSetILUIterSetupTolerance (HYPRE_Solver solver, HYPRE_Real ilu_iter_setup_tolerance)
 (Optional) Set iterative ILU's tolerance.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIAlgoType (HYPRE_Solver solver, HYPRE_Int algo_type)
 (Optional) Defines the algorithm type for setting up FSAI For further explanation see HYPRE_FSAISetAlgoType.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAILocalSolveType (HYPRE_Solver solver, HYPRE_Int local_solve_type)
 (Optional) Sets the solver type for solving local linear systems in FSAI.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxSteps (HYPRE_Solver solver, HYPRE_Int max_steps)
 (Optional) Defines maximum number of steps for FSAI.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxStepSize (HYPRE_Solver solver, HYPRE_Int max_step_size)
 (Optional) Defines maximum step size for FSAI.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIMaxNnzRow (HYPRE_Solver solver, HYPRE_Int max_nnz_row)
 (Optional) Defines maximum number of nonzero entries per row for FSAI.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAINumLevels (HYPRE_Solver solver, HYPRE_Int num_levels)
 (Optional) Defines number of levels for computing the candidate pattern for FSAI For further explanation see HYPRE_FSAISetNumLevels.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Defines the threshold for computing the candidate pattern for FSAI For further explanation see HYPRE_FSAISetThreshold.
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIEigMaxIters (HYPRE_Solver solver, HYPRE_Int eig_max_iters)
 (Optional) Defines maximum number of iterations for estimating the largest eigenvalue of the FSAI preconditioned matrix (G^T * G * A).
 
HYPRE_Int HYPRE_BoomerAMGSetFSAIKapTolerance (HYPRE_Solver solver, HYPRE_Real kap_tolerance)
 (Optional) Defines the kaporin dropping tolerance.
 
HYPRE_Int HYPRE_BoomerAMGSetRestriction (HYPRE_Solver solver, HYPRE_Int restr_par)
 (Optional) Defines which parallel restriction operator is used.
 
HYPRE_Int HYPRE_BoomerAMGSetIsTriangular (HYPRE_Solver solver, HYPRE_Int is_triangular)
 (Optional) Assumes the matrix is triangular in some ordering to speed up the setup time of approximate ideal restriction.
 
HYPRE_Int HYPRE_BoomerAMGSetGMRESSwitchR (HYPRE_Solver solver, HYPRE_Int gmres_switch)
 (Optional) Set local problem size at which GMRES is used over a direct solve in approximating ideal restriction.
 
HYPRE_Int HYPRE_BoomerAMGSetADropTol (HYPRE_Solver solver, HYPRE_Real A_drop_tol)
 (Optional) Defines the drop tolerance for the A-matrices from the 2nd level of AMG.
 
HYPRE_Int HYPRE_BoomerAMGSetADropType (HYPRE_Solver solver, HYPRE_Int A_drop_type)
 (Optional) Drop the entries that are not on the diagonal and smaller than its row norm: type 1: 1-norm, 2: 2-norm, -1: infinity norm
 
HYPRE_Int HYPRE_BoomerAMGSetPrintFileName (HYPRE_Solver solver, const char *print_file_name)
 (Optional) Name of file to which BoomerAMG will print; cf HYPRE_BoomerAMGSetPrintLevel.
 
HYPRE_Int HYPRE_BoomerAMGSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Requests automatic printing of setup and solve information.
 
HYPRE_Int HYPRE_BoomerAMGSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 (Optional) Requests additional computations for diagnostic and similar data to be logged by the user.
 
HYPRE_Int HYPRE_BoomerAMGSetDebugFlag (HYPRE_Solver solver, HYPRE_Int debug_flag)
 (Optional)
 
HYPRE_Int HYPRE_BoomerAMGInitGridRelaxation (HYPRE_Int **num_grid_sweeps_ptr, HYPRE_Int **grid_relax_type_ptr, HYPRE_Int ***grid_relax_points_ptr, HYPRE_Int coarsen_type, HYPRE_Real **relax_weights_ptr, HYPRE_Int max_levels)
 (Optional) This routine will be eliminated in the future.
 
HYPRE_Int HYPRE_BoomerAMGSetRAP2 (HYPRE_Solver solver, HYPRE_Int rap2)
 (Optional) If rap2 not equal 0, the triple matrix product RAP is replaced by two matrix products.
 
HYPRE_Int HYPRE_BoomerAMGSetModuleRAP2 (HYPRE_Solver solver, HYPRE_Int mod_rap2)
 (Optional) If mod_rap2 not equal 0, the triple matrix product RAP is replaced by two matrix products with modularized kernels (Required for triple matrix product generation on GPUs)
 
HYPRE_Int HYPRE_BoomerAMGSetKeepTranspose (HYPRE_Solver solver, HYPRE_Int keepTranspose)
 (Optional) If set to 1, the local interpolation transposes will be saved to use more efficient matvecs instead of matvecTs (Recommended for efficient use on GPUs)
 
HYPRE_Int HYPRE_BoomerAMGSetPlotGrids (HYPRE_Solver solver, HYPRE_Int plotgrids)
 HYPRE_BoomerAMGSetPlotGrids.
 
HYPRE_Int HYPRE_BoomerAMGSetPlotFileName (HYPRE_Solver solver, const char *plotfilename)
 HYPRE_BoomerAMGSetPlotFilename.
 
HYPRE_Int HYPRE_BoomerAMGSetCoordDim (HYPRE_Solver solver, HYPRE_Int coorddim)
 HYPRE_BoomerAMGSetCoordDim.
 
HYPRE_Int HYPRE_BoomerAMGSetCoordinates (HYPRE_Solver solver, float *coordinates)
 HYPRE_BoomerAMGSetCoordinates.
 
HYPRE_Int HYPRE_BoomerAMGGetGridHierarchy (HYPRE_Solver solver, HYPRE_Int *cgrid)
 (Optional) Get the coarse grid hierarchy.
 
HYPRE_Int HYPRE_BoomerAMGSetCPoints (HYPRE_Solver solver, HYPRE_Int cpt_coarse_level, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index)
 (Optional) Fix C points to be kept till a specified coarse level.
 
HYPRE_Int HYPRE_BoomerAMGSetCpointsToKeep (HYPRE_Solver solver, HYPRE_Int cpt_coarse_level, HYPRE_Int num_cpt_coarse, HYPRE_BigInt *cpt_coarse_index)
 (Optional) Deprecated function.
 
HYPRE_Int HYPRE_BoomerAMGSetFPoints (HYPRE_Solver solver, HYPRE_Int num_fpt, HYPRE_BigInt *fpt_index)
 (Optional) Set fine points in the first level.
 
HYPRE_Int HYPRE_BoomerAMGSetIsolatedFPoints (HYPRE_Solver solver, HYPRE_Int num_isolated_fpt, HYPRE_BigInt *isolated_fpt_index)
 (Optional) Set isolated fine points in the first level.
 
HYPRE_Int HYPRE_BoomerAMGSetSabs (HYPRE_Solver solver, HYPRE_Int Sabs)
 (Optional) if Sabs equals 1, the strength of connection test is based on the absolute value of the matrix coefficients
 
ParCSR BoomerAMGDD Solver and Preconditioner

Communication reducing solver and preconditioner built on top of algebraic multigrid

HYPRE_Int HYPRE_BoomerAMGDDCreate (HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_BoomerAMGDDDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_BoomerAMGDDSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the BoomerAMGDD solver or preconditioner.
 
HYPRE_Int HYPRE_BoomerAMGDDSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply AMG-DD as a preconditioner.
 
HYPRE_Int HYPRE_BoomerAMGDDSetFACNumRelax (HYPRE_Solver solver, HYPRE_Int amgdd_fac_num_relax)
 (Optional) Set the number of pre- and post-relaxations per level for AMG-DD inner FAC cycles.
 
HYPRE_Int HYPRE_BoomerAMGDDSetFACNumCycles (HYPRE_Solver solver, HYPRE_Int amgdd_fac_num_cycles)
 (Optional) Set the number of inner FAC cycles per AMG-DD iteration.
 
HYPRE_Int HYPRE_BoomerAMGDDSetFACCycleType (HYPRE_Solver solver, HYPRE_Int amgdd_fac_cycle_type)
 (Optional) Set the cycle type for the AMG-DD inner FAC cycles.
 
HYPRE_Int HYPRE_BoomerAMGDDSetFACRelaxType (HYPRE_Solver solver, HYPRE_Int amgdd_fac_relax_type)
 (Optional) Set the relaxation type for the AMG-DD inner FAC cycles.
 
HYPRE_Int HYPRE_BoomerAMGDDSetFACRelaxWeight (HYPRE_Solver solver, HYPRE_Real amgdd_fac_relax_weight)
 (Optional) Set the relaxation weight for the AMG-DD inner FAC cycles.
 
HYPRE_Int HYPRE_BoomerAMGDDSetStartLevel (HYPRE_Solver solver, HYPRE_Int start_level)
 (Optional) Set the AMG-DD start level.
 
HYPRE_Int HYPRE_BoomerAMGDDSetPadding (HYPRE_Solver solver, HYPRE_Int padding)
 (Optional) Set the AMG-DD padding.
 
HYPRE_Int HYPRE_BoomerAMGDDSetNumGhostLayers (HYPRE_Solver solver, HYPRE_Int num_ghost_layers)
 (Optional) Set the AMG-DD number of ghost layers.
 
HYPRE_Int HYPRE_BoomerAMGDDSetUserFACRelaxation (HYPRE_Solver solver, HYPRE_Int(*userFACRelaxation)(void *amgdd_vdata, HYPRE_Int level, HYPRE_Int cycle_param))
 (Optional) Pass a custom user-defined function as a relaxation method for the AMG-DD FAC cycles.
 
HYPRE_Int HYPRE_BoomerAMGDDGetAMG (HYPRE_Solver solver, HYPRE_Solver *amg_solver)
 (Optional) Get the underlying AMG hierarchy as a HYPRE_Solver object.
 
HYPRE_Int HYPRE_BoomerAMGDDGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *rel_resid_norm)
 Returns the norm of the final relative residual.
 
HYPRE_Int HYPRE_BoomerAMGDDGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 Returns the number of iterations taken.
 
ParCSR FSAI Solver and Preconditioner

An adaptive factorized sparse approximate inverse solver/preconditioner/smoother that computes a sparse approximation G to the inverse of the lower cholesky factor of A such that M^{-1} \approx G^T * G.

HYPRE_Int HYPRE_FSAICreate (HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_FSAIDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_FSAISetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the FSAI solver or preconditioner.
 
HYPRE_Int HYPRE_FSAISolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply FSAI as a preconditioner.
 
HYPRE_Int HYPRE_FSAISetAlgoType (HYPRE_Solver solver, HYPRE_Int algo_type)
 (Optional) Sets the algorithm type used to compute the lower triangular factor G
 
HYPRE_Int HYPRE_FSAISetLocalSolveType (HYPRE_Solver solver, HYPRE_Int local_solve_type)
 (Optional) Sets the solver type for solving local linear systems in FSAI.
 
HYPRE_Int HYPRE_FSAISetMaxSteps (HYPRE_Solver solver, HYPRE_Int max_steps)
 (Optional) Sets the maximum number of steps for computing the sparsity pattern of G.
 
HYPRE_Int HYPRE_FSAISetMaxStepSize (HYPRE_Solver solver, HYPRE_Int max_step_size)
 (Optional) Sets the maximum step size for computing the sparsity pattern of G.
 
HYPRE_Int HYPRE_FSAISetMaxNnzRow (HYPRE_Solver solver, HYPRE_Int max_nnz_row)
 (Optional) Sets the maximum number of off-diagonal entries per row of G.
 
HYPRE_Int HYPRE_FSAISetNumLevels (HYPRE_Solver solver, HYPRE_Int num_levels)
 (Optional) Sets the number of levels for computing the candidate pattern of G.
 
HYPRE_Int HYPRE_FSAISetThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Sets the threshold for computing the candidate pattern of G This input parameter makes sense when using static FSAI, i.e., algorithm type 3.
 
HYPRE_Int HYPRE_FSAISetKapTolerance (HYPRE_Solver solver, HYPRE_Real kap_tolerance)
 (Optional) Sets the kaporin gradient reduction factor for computing the sparsity pattern of G.
 
HYPRE_Int HYPRE_FSAISetOmega (HYPRE_Solver solver, HYPRE_Real omega)
 (Optional) Sets the relaxation factor for FSAI.
 
HYPRE_Int HYPRE_FSAISetMaxIterations (HYPRE_Solver solver, HYPRE_Int max_iterations)
 (Optional) Sets the maximum number of iterations (sweeps) for FSAI.
 
HYPRE_Int HYPRE_FSAISetEigMaxIters (HYPRE_Solver solver, HYPRE_Int eig_max_iters)
 (Optional) Set number of iterations for computing maximum eigenvalue of the preconditioned operator.
 
HYPRE_Int HYPRE_FSAISetTolerance (HYPRE_Solver solver, HYPRE_Real tolerance)
 (Optional) Set the convergence tolerance, if FSAI is used as a solver.
 
HYPRE_Int HYPRE_FSAISetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Requests automatic printing of setup information.
 
HYPRE_Int HYPRE_FSAISetZeroGuess (HYPRE_Solver solver, HYPRE_Int zero_guess)
 (Optional) Use a zero initial guess.
 
ParCSR ParaSails Preconditioner

Parallel sparse approximate inverse preconditioner for the ParCSR matrix format.

HYPRE_Int HYPRE_ParaSailsCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsDestroy (HYPRE_Solver solver)
 Destroy a ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Apply the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetParams (HYPRE_Solver solver, HYPRE_Real thresh, HYPRE_Int nlevels)
 Set the threshold and levels parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetFilter (HYPRE_Solver solver, HYPRE_Real filter)
 Set the filter parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetSym (HYPRE_Solver solver, HYPRE_Int sym)
 Set the symmetry parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetLoadbal (HYPRE_Solver solver, HYPRE_Real loadbal)
 Set the load balance parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetReuse (HYPRE_Solver solver, HYPRE_Int reuse)
 Set the pattern reuse parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 Set the logging parameter for the ParaSails preconditioner.
 
HYPRE_Int HYPRE_ParaSailsBuildIJMatrix (HYPRE_Solver solver, HYPRE_IJMatrix *pij_A)
 Build IJ Matrix of the sparse approximate inverse (factor).
 
HYPRE_Int HYPRE_ParCSRParaSailsCreate (MPI_Comm comm, HYPRE_Solver *solver)
 
HYPRE_Int HYPRE_ParCSRParaSailsDestroy (HYPRE_Solver solver)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRParaSailsSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetParams (HYPRE_Solver solver, HYPRE_Real thresh, HYPRE_Int nlevels)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetFilter (HYPRE_Solver solver, HYPRE_Real filter)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetSym (HYPRE_Solver solver, HYPRE_Int sym)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetLoadbal (HYPRE_Solver solver, HYPRE_Real loadbal)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetReuse (HYPRE_Solver solver, HYPRE_Int reuse)
 
HYPRE_Int HYPRE_ParCSRParaSailsSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
ParCSR Euclid Preconditioner

MPI Parallel ILU preconditioner

Options summary:

Option Default Synopsis
-level 1 ILU(k) factorization level
-bj 0 (false) Use Block Jacobi ILU instead of PILU
-eu_stats 0 (false) Print internal timing and statistics
-eu_mem 0 (false) Print internal memory usage
HYPRE_Int HYPRE_EuclidCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a Euclid object.
 
HYPRE_Int HYPRE_EuclidDestroy (HYPRE_Solver solver)
 Destroy a Euclid object.
 
HYPRE_Int HYPRE_EuclidSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the Euclid preconditioner.
 
HYPRE_Int HYPRE_EuclidSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Apply the Euclid preconditioner.
 
HYPRE_Int HYPRE_EuclidSetParams (HYPRE_Solver solver, HYPRE_Int argc, char *argv[])
 Insert (name, value) pairs in Euclid's options database by passing Euclid the command line (or an array of strings).
 
HYPRE_Int HYPRE_EuclidSetParamsFromFile (HYPRE_Solver solver, char *filename)
 Insert (name, value) pairs in Euclid's options database.
 
HYPRE_Int HYPRE_EuclidSetLevel (HYPRE_Solver solver, HYPRE_Int level)
 Set level k for ILU(k) factorization, default: 1.
 
HYPRE_Int HYPRE_EuclidSetBJ (HYPRE_Solver solver, HYPRE_Int bj)
 Use block Jacobi ILU preconditioning instead of PILU.
 
HYPRE_Int HYPRE_EuclidSetStats (HYPRE_Solver solver, HYPRE_Int eu_stats)
 If eu_stats not equal 0, a summary of runtime settings and timing information is printed to stdout.
 
HYPRE_Int HYPRE_EuclidSetMem (HYPRE_Solver solver, HYPRE_Int eu_mem)
 If eu_mem not equal 0, a summary of Euclid's memory usage is printed to stdout.
 
HYPRE_Int HYPRE_EuclidSetSparseA (HYPRE_Solver solver, HYPRE_Real sparse_A)
 Defines a drop tolerance for ILU(k).
 
HYPRE_Int HYPRE_EuclidSetRowScale (HYPRE_Solver solver, HYPRE_Int row_scale)
 If row_scale not equal 0, values are scaled prior to factorization so that largest value in any row is +1 or -1.
 
HYPRE_Int HYPRE_EuclidSetILUT (HYPRE_Solver solver, HYPRE_Real drop_tol)
 uses ILUT and defines a drop tolerance relative to the largest absolute value of any entry in the row being factored.
 
ParCSR Pilut Preconditioner
HYPRE_Int HYPRE_ParCSRPilutCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a preconditioner object.
 
HYPRE_Int HYPRE_ParCSRPilutDestroy (HYPRE_Solver solver)
 Destroy a preconditioner object.
 
HYPRE_Int HYPRE_ParCSRPilutSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRPilutSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Precondition the system.
 
HYPRE_Int HYPRE_ParCSRPilutSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations.
 
HYPRE_Int HYPRE_ParCSRPilutSetDropTolerance (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional)
 
HYPRE_Int HYPRE_ParCSRPilutSetFactorRowSize (HYPRE_Solver solver, HYPRE_Int size)
 (Optional)
 
HYPRE_Int HYPRE_ParCSRPilutSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
ParCSR AMS Solver and Preconditioner

Parallel auxiliary space Maxwell solver and preconditioner

HYPRE_Int HYPRE_AMSCreate (HYPRE_Solver *solver)
 Create an AMS solver object.
 
HYPRE_Int HYPRE_AMSDestroy (HYPRE_Solver solver)
 Destroy an AMS solver object.
 
HYPRE_Int HYPRE_AMSSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the AMS solver or preconditioner.
 
HYPRE_Int HYPRE_AMSSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply AMS as a preconditioner.
 
HYPRE_Int HYPRE_AMSSetDimension (HYPRE_Solver solver, HYPRE_Int dim)
 (Optional) Sets the problem dimension (2 or 3).
 
HYPRE_Int HYPRE_AMSSetDiscreteGradient (HYPRE_Solver solver, HYPRE_ParCSRMatrix G)
 Sets the discrete gradient matrix G.
 
HYPRE_Int HYPRE_AMSSetCoordinateVectors (HYPRE_Solver solver, HYPRE_ParVector x, HYPRE_ParVector y, HYPRE_ParVector z)
 Sets the x, y and z coordinates of the vertices in the mesh.
 
HYPRE_Int HYPRE_AMSSetEdgeConstantVectors (HYPRE_Solver solver, HYPRE_ParVector Gx, HYPRE_ParVector Gy, HYPRE_ParVector Gz)
 Sets the vectors Gx, Gy and Gz which give the representations of the constant vector fields (1,0,0), (0,1,0) and (0,0,1) in the edge element basis.
 
HYPRE_Int HYPRE_AMSSetInterpolations (HYPRE_Solver solver, HYPRE_ParCSRMatrix Pi, HYPRE_ParCSRMatrix Pix, HYPRE_ParCSRMatrix Piy, HYPRE_ParCSRMatrix Piz)
 (Optional) Set the (components of) the Nedelec interpolation matrix $\Pi = [ \Pi^x, \Pi^y, \Pi^z ]$.
 
HYPRE_Int HYPRE_AMSSetAlphaPoissonMatrix (HYPRE_Solver solver, HYPRE_ParCSRMatrix A_alpha)
 (Optional) Sets the matrix $A_\alpha$ corresponding to the Poisson problem with coefficient $\alpha$ (the curl-curl term coefficient in the Maxwell problem).
 
HYPRE_Int HYPRE_AMSSetBetaPoissonMatrix (HYPRE_Solver solver, HYPRE_ParCSRMatrix A_beta)
 (Optional) Sets the matrix $A_\beta$ corresponding to the Poisson problem with coefficient $\beta$ (the mass term coefficient in the Maxwell problem).
 
HYPRE_Int HYPRE_AMSSetInteriorNodes (HYPRE_Solver solver, HYPRE_ParVector interior_nodes)
 (Optional) Set the list of nodes which are interior to a zero-conductivity region.
 
HYPRE_Int HYPRE_AMSSetProjectionFrequency (HYPRE_Solver solver, HYPRE_Int projection_frequency)
 (Optional) Set the frequency at which a projection onto the compatible subspace for problems with zero-conductivity regions is performed.
 
HYPRE_Int HYPRE_AMSSetMaxIter (HYPRE_Solver solver, HYPRE_Int maxit)
 (Optional) Sets maximum number of iterations, if AMS is used as a solver.
 
HYPRE_Int HYPRE_AMSSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance, if AMS is used as a solver.
 
HYPRE_Int HYPRE_AMSSetCycleType (HYPRE_Solver solver, HYPRE_Int cycle_type)
 (Optional) Choose which three-level solver to use.
 
HYPRE_Int HYPRE_AMSSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Control how much information is printed during the solution iterations.
 
HYPRE_Int HYPRE_AMSSetSmoothingOptions (HYPRE_Solver solver, HYPRE_Int relax_type, HYPRE_Int relax_times, HYPRE_Real relax_weight, HYPRE_Real omega)
 (Optional) Sets relaxation parameters for $A$.
 
HYPRE_Int HYPRE_AMSSetAlphaAMGOptions (HYPRE_Solver solver, HYPRE_Int alpha_coarsen_type, HYPRE_Int alpha_agg_levels, HYPRE_Int alpha_relax_type, HYPRE_Real alpha_strength_threshold, HYPRE_Int alpha_interp_type, HYPRE_Int alpha_Pmax)
 (Optional) Sets AMG parameters for $B_\Pi$.
 
HYPRE_Int HYPRE_AMSSetAlphaAMGCoarseRelaxType (HYPRE_Solver solver, HYPRE_Int alpha_coarse_relax_type)
 (Optional) Sets the coarsest level relaxation in the AMG solver for $B_\Pi$.
 
HYPRE_Int HYPRE_AMSSetBetaAMGOptions (HYPRE_Solver solver, HYPRE_Int beta_coarsen_type, HYPRE_Int beta_agg_levels, HYPRE_Int beta_relax_type, HYPRE_Real beta_strength_threshold, HYPRE_Int beta_interp_type, HYPRE_Int beta_Pmax)
 (Optional) Sets AMG parameters for $B_G$.
 
HYPRE_Int HYPRE_AMSSetBetaAMGCoarseRelaxType (HYPRE_Solver solver, HYPRE_Int beta_coarse_relax_type)
 (Optional) Sets the coarsest level relaxation in the AMG solver for $B_G$.
 
HYPRE_Int HYPRE_AMSGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 Returns the number of iterations taken.
 
HYPRE_Int HYPRE_AMSGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *rel_resid_norm)
 Returns the norm of the final relative residual.
 
HYPRE_Int HYPRE_AMSProjectOutGradients (HYPRE_Solver solver, HYPRE_ParVector x)
 For problems with zero-conductivity regions, project the vector onto the compatible subspace: $x = (I - G_0 (G_0^t G_0)^{-1} G_0^T) x$, where $G_0$ is the discrete gradient restricted to the interior nodes of the regions with zero conductivity.
 
HYPRE_Int HYPRE_AMSConstructDiscreteGradient (HYPRE_ParCSRMatrix A, HYPRE_ParVector x_coord, HYPRE_BigInt *edge_vertex, HYPRE_Int edge_orientation, HYPRE_ParCSRMatrix *G)
 Construct and return the lowest-order discrete gradient matrix G using some edge and vertex information.
 
ParCSR ADS Solver and Preconditioner

Parallel auxiliary space divergence solver and preconditioner

HYPRE_Int HYPRE_ADSCreate (HYPRE_Solver *solver)
 Create an ADS solver object.
 
HYPRE_Int HYPRE_ADSDestroy (HYPRE_Solver solver)
 Destroy an ADS solver object.
 
HYPRE_Int HYPRE_ADSSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Set up the ADS solver or preconditioner.
 
HYPRE_Int HYPRE_ADSSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply ADS as a preconditioner.
 
HYPRE_Int HYPRE_ADSSetDiscreteCurl (HYPRE_Solver solver, HYPRE_ParCSRMatrix C)
 Sets the discrete curl matrix C.
 
HYPRE_Int HYPRE_ADSSetDiscreteGradient (HYPRE_Solver solver, HYPRE_ParCSRMatrix G)
 Sets the discrete gradient matrix G.
 
HYPRE_Int HYPRE_ADSSetCoordinateVectors (HYPRE_Solver solver, HYPRE_ParVector x, HYPRE_ParVector y, HYPRE_ParVector z)
 Sets the x, y and z coordinates of the vertices in the mesh.
 
HYPRE_Int HYPRE_ADSSetInterpolations (HYPRE_Solver solver, HYPRE_ParCSRMatrix RT_Pi, HYPRE_ParCSRMatrix RT_Pix, HYPRE_ParCSRMatrix RT_Piy, HYPRE_ParCSRMatrix RT_Piz, HYPRE_ParCSRMatrix ND_Pi, HYPRE_ParCSRMatrix ND_Pix, HYPRE_ParCSRMatrix ND_Piy, HYPRE_ParCSRMatrix ND_Piz)
 (Optional) Set the (components of) the Raviart-Thomas ( $\Pi_{RT}$) and the Nedelec ( $\Pi_{ND}$) interpolation matrices.
 
HYPRE_Int HYPRE_ADSSetMaxIter (HYPRE_Solver solver, HYPRE_Int maxit)
 (Optional) Sets maximum number of iterations, if ADS is used as a solver.
 
HYPRE_Int HYPRE_ADSSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance, if ADS is used as a solver.
 
HYPRE_Int HYPRE_ADSSetCycleType (HYPRE_Solver solver, HYPRE_Int cycle_type)
 (Optional) Choose which auxiliary-space solver to use.
 
HYPRE_Int HYPRE_ADSSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Control how much information is printed during the solution iterations.
 
HYPRE_Int HYPRE_ADSSetSmoothingOptions (HYPRE_Solver solver, HYPRE_Int relax_type, HYPRE_Int relax_times, HYPRE_Real relax_weight, HYPRE_Real omega)
 (Optional) Sets relaxation parameters for $A$.
 
HYPRE_Int HYPRE_ADSSetChebySmoothingOptions (HYPRE_Solver solver, HYPRE_Int cheby_order, HYPRE_Real cheby_fraction)
 (Optional) Sets parameters for Chebyshev relaxation.
 
HYPRE_Int HYPRE_ADSSetAMSOptions (HYPRE_Solver solver, HYPRE_Int cycle_type, HYPRE_Int coarsen_type, HYPRE_Int agg_levels, HYPRE_Int relax_type, HYPRE_Real strength_threshold, HYPRE_Int interp_type, HYPRE_Int Pmax)
 (Optional) Sets AMS parameters for $B_C$.
 
HYPRE_Int HYPRE_ADSSetAMGOptions (HYPRE_Solver solver, HYPRE_Int coarsen_type, HYPRE_Int agg_levels, HYPRE_Int relax_type, HYPRE_Real strength_threshold, HYPRE_Int interp_type, HYPRE_Int Pmax)
 (Optional) Sets AMG parameters for $B_\Pi$.
 
HYPRE_Int HYPRE_ADSGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 Returns the number of iterations taken.
 
HYPRE_Int HYPRE_ADSGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *rel_resid_norm)
 Returns the norm of the final relative residual.
 
ParCSR PCG Solver

These routines should be used in conjunction with the generic interface in Krylov Solvers.

HYPRE_Int HYPRE_ParCSRPCGCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRPCGDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRPCGSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRPCGSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRPCGSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRPCGSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRPCGSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRPCGSetStopCrit (HYPRE_Solver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_ParCSRPCGSetTwoNorm (HYPRE_Solver solver, HYPRE_Int two_norm)
 
HYPRE_Int HYPRE_ParCSRPCGSetRelChange (HYPRE_Solver solver, HYPRE_Int rel_change)
 
HYPRE_Int HYPRE_ParCSRPCGSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRPCGSetPreconditioner (HYPRE_Solver solver, HYPRE_Solver precond)
 
HYPRE_Int HYPRE_ParCSRPCGGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRPCGSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRPCGSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRPCGGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRPCGGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRPCGGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 Returns the residual.
 
HYPRE_Int HYPRE_ParCSRDiagScaleSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector y, HYPRE_ParVector x)
 Setup routine for diagonal preconditioning.
 
HYPRE_Int HYPRE_ParCSRDiagScale (HYPRE_Solver solver, HYPRE_ParCSRMatrix HA, HYPRE_ParVector Hy, HYPRE_ParVector Hx)
 Solve routine for diagonal preconditioning.
 
HYPRE_Int HYPRE_ParCSROnProcTriSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix HA, HYPRE_ParVector Hy, HYPRE_ParVector Hx)
 Setup routine for on-processor triangular solve as preconditioning.
 
HYPRE_Int HYPRE_ParCSROnProcTriSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix HA, HYPRE_ParVector Hy, HYPRE_ParVector Hx)
 Solve routine for on-processor triangular solve as preconditioning.
 
ParCSR GMRES Solver

These routines should be used in conjunction with the generic interface in Krylov Solvers.

HYPRE_Int HYPRE_ParCSRGMRESCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRGMRESDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRGMRESSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRGMRESSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRGMRESSetKDim (HYPRE_Solver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_ParCSRGMRESSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRGMRESSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real a_tol)
 
HYPRE_Int HYPRE_ParCSRGMRESSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRGMRESSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRGMRESSetStopCrit (HYPRE_Solver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_ParCSRGMRESSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRGMRESGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRGMRESSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRGMRESSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRGMRESGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRGMRESGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRGMRESGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 Returns the residual.
 
HYPRE_Int HYPRE_ParCSRCOGMRESCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRCOGMRESDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetKDim (HYPRE_Solver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetUnroll (HYPRE_Solver solver, HYPRE_Int unroll)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetCGS (HYPRE_Solver solver, HYPRE_Int cgs)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real a_tol)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRCOGMRESGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRCOGMRESSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRCOGMRESGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRCOGMRESGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRCOGMRESGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 Returns the residual.
 
ParCSR FlexGMRES Solver

These routines should be used in conjunction with the generic interface in Krylov Solvers.

HYPRE_Int HYPRE_ParCSRFlexGMRESCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRFlexGMRESDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetKDim (HYPRE_Solver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real a_tol)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 
HYPRE_Int HYPRE_ParCSRFlexGMRESSetModifyPC (HYPRE_Solver solver, HYPRE_PtrToModifyPCFcn modify_pc)
 
ParCSR LGMRES Solver

These routines should be used in conjunction with the generic interface in Krylov Solvers.

HYPRE_Int HYPRE_ParCSRLGMRESCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRLGMRESDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRLGMRESSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRLGMRESSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetKDim (HYPRE_Solver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetAugDim (HYPRE_Solver solver, HYPRE_Int aug_dim)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real a_tol)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRLGMRESGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRLGMRESSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRLGMRESGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRLGMRESGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRLGMRESGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 
ParCSR BiCGSTAB Solver

These routines should be used in conjunction with the generic interface in Krylov Solvers.

HYPRE_Int HYPRE_ParCSRBiCGSTABCreate (MPI_Comm comm, HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ParCSRBiCGSTABDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real a_tol)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetMinIter (HYPRE_Solver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetStopCrit (HYPRE_Solver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_ParCSRBiCGSTABGetResidual (HYPRE_Solver solver, HYPRE_ParVector *residual)
 
ParCSR Hybrid Solver
HYPRE_Int HYPRE_ParCSRHybridCreate (HYPRE_Solver *solver)
 Create solver object.
 
HYPRE_Int HYPRE_ParCSRHybridDestroy (HYPRE_Solver solver)
 Destroy solver object.
 
HYPRE_Int HYPRE_ParCSRHybridSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Setup the hybrid solver.
 
HYPRE_Int HYPRE_ParCSRHybridSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve linear system.
 
HYPRE_Int HYPRE_ParCSRHybridSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 Set the convergence tolerance for the Krylov solver.
 
HYPRE_Int HYPRE_ParCSRHybridSetAbsoluteTol (HYPRE_Solver solver, HYPRE_Real tol)
 Set the absolute convergence tolerance for the Krylov solver.
 
HYPRE_Int HYPRE_ParCSRHybridSetConvergenceTol (HYPRE_Solver solver, HYPRE_Real cf_tol)
 Set the desired convergence factor.
 
HYPRE_Int HYPRE_ParCSRHybridSetDSCGMaxIter (HYPRE_Solver solver, HYPRE_Int dscg_max_its)
 Set the maximal number of iterations for the diagonally preconditioned solver.
 
HYPRE_Int HYPRE_ParCSRHybridSetPCGMaxIter (HYPRE_Solver solver, HYPRE_Int pcg_max_its)
 Set the maximal number of iterations for the AMG preconditioned solver.
 
HYPRE_Int HYPRE_ParCSRHybridSetSetupType (HYPRE_Solver solver, HYPRE_Int setup_type)
 
HYPRE_Int HYPRE_ParCSRHybridSetSolverType (HYPRE_Solver solver, HYPRE_Int solver_type)
 Set the desired solver type.
 
HYPRE_Int HYPRE_ParCSRHybridSetRecomputeResidual (HYPRE_Solver solver, HYPRE_Int recompute_residual)
 (Optional) Set recompute residual (don't rely on 3-term recurrence).
 
HYPRE_Int HYPRE_ParCSRHybridGetRecomputeResidual (HYPRE_Solver solver, HYPRE_Int *recompute_residual)
 (Optional) Get recompute residual option.
 
HYPRE_Int HYPRE_ParCSRHybridSetRecomputeResidualP (HYPRE_Solver solver, HYPRE_Int recompute_residual_p)
 (Optional) Set recompute residual period (don't rely on 3-term recurrence).
 
HYPRE_Int HYPRE_ParCSRHybridGetRecomputeResidualP (HYPRE_Solver solver, HYPRE_Int *recompute_residual_p)
 (Optional) Get recompute residual period option.
 
HYPRE_Int HYPRE_ParCSRHybridSetKDim (HYPRE_Solver solver, HYPRE_Int k_dim)
 Set the Krylov dimension for restarted GMRES.
 
HYPRE_Int HYPRE_ParCSRHybridSetTwoNorm (HYPRE_Solver solver, HYPRE_Int two_norm)
 Set the type of norm for PCG.
 
HYPRE_Int HYPRE_ParCSRHybridSetStopCrit (HYPRE_Solver solver, HYPRE_Int stop_crit)
 RE-VISIT.
 
HYPRE_Int HYPRE_ParCSRHybridSetRelChange (HYPRE_Solver solver, HYPRE_Int rel_change)
 
HYPRE_Int HYPRE_ParCSRHybridSetPrecond (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn precond, HYPRE_PtrToParSolverFcn precond_setup, HYPRE_Solver precond_solver)
 Set preconditioner if wanting to use one that is not set up by the hybrid solver.
 
HYPRE_Int HYPRE_ParCSRHybridSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 Set logging parameter (default: 0, no logging).
 
HYPRE_Int HYPRE_ParCSRHybridSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 Set print level (default: 0, no printing) 2 will print residual norms per iteration 10 will print AMG setup information if AMG is used 12 both Setup information and iterations.
 
HYPRE_Int HYPRE_ParCSRHybridSetStrongThreshold (HYPRE_Solver solver, HYPRE_Real strong_threshold)
 (Optional) Sets AMG strength threshold.
 
HYPRE_Int HYPRE_ParCSRHybridSetMaxRowSum (HYPRE_Solver solver, HYPRE_Real max_row_sum)
 (Optional) Sets a parameter to modify the definition of strength for diagonal dominant portions of the matrix.
 
HYPRE_Int HYPRE_ParCSRHybridSetTruncFactor (HYPRE_Solver solver, HYPRE_Real trunc_factor)
 (Optional) Defines a truncation factor for the interpolation.
 
HYPRE_Int HYPRE_ParCSRHybridSetPMaxElmts (HYPRE_Solver solver, HYPRE_Int P_max_elmts)
 (Optional) Defines the maximal number of elements per row for the interpolation.
 
HYPRE_Int HYPRE_ParCSRHybridSetMaxLevels (HYPRE_Solver solver, HYPRE_Int max_levels)
 (Optional) Defines the maximal number of levels used for AMG.
 
HYPRE_Int HYPRE_ParCSRHybridSetMeasureType (HYPRE_Solver solver, HYPRE_Int measure_type)
 (Optional) Defines whether local or global measures are used.
 
HYPRE_Int HYPRE_ParCSRHybridSetCoarsenType (HYPRE_Solver solver, HYPRE_Int coarsen_type)
 (Optional) Defines which parallel coarsening algorithm is used.
 
HYPRE_Int HYPRE_ParCSRHybridSetInterpType (HYPRE_Solver solver, HYPRE_Int interp_type)
 (Optional) Specifies which interpolation operator is used The default is ext+i interpolation truncated to at most 4 elements per row.
 
HYPRE_Int HYPRE_ParCSRHybridSetCycleType (HYPRE_Solver solver, HYPRE_Int cycle_type)
 (Optional) Defines the type of cycle.
 
HYPRE_Int HYPRE_ParCSRHybridSetGridRelaxType (HYPRE_Solver solver, HYPRE_Int *grid_relax_type)
 
HYPRE_Int HYPRE_ParCSRHybridSetGridRelaxPoints (HYPRE_Solver solver, HYPRE_Int **grid_relax_points)
 
HYPRE_Int HYPRE_ParCSRHybridSetNumSweeps (HYPRE_Solver solver, HYPRE_Int num_sweeps)
 (Optional) Sets the number of sweeps.
 
HYPRE_Int HYPRE_ParCSRHybridSetCycleNumSweeps (HYPRE_Solver solver, HYPRE_Int num_sweeps, HYPRE_Int k)
 (Optional) Sets the number of sweeps at a specified cycle.
 
HYPRE_Int HYPRE_ParCSRHybridSetRelaxType (HYPRE_Solver solver, HYPRE_Int relax_type)
 (Optional) Defines the smoother to be used.
 
HYPRE_Int HYPRE_ParCSRHybridSetCycleRelaxType (HYPRE_Solver solver, HYPRE_Int relax_type, HYPRE_Int k)
 (Optional) Defines the smoother at a given cycle.
 
HYPRE_Int HYPRE_ParCSRHybridSetRelaxOrder (HYPRE_Solver solver, HYPRE_Int relax_order)
 (Optional) Defines in which order the points are relaxed.
 
HYPRE_Int HYPRE_ParCSRHybridSetRelaxWt (HYPRE_Solver solver, HYPRE_Real relax_wt)
 (Optional) Defines the relaxation weight for smoothed Jacobi and hybrid SOR on all levels.
 
HYPRE_Int HYPRE_ParCSRHybridSetLevelRelaxWt (HYPRE_Solver solver, HYPRE_Real relax_wt, HYPRE_Int level)
 (Optional) Defines the relaxation weight for smoothed Jacobi and hybrid SOR on the user defined level.
 
HYPRE_Int HYPRE_ParCSRHybridSetOuterWt (HYPRE_Solver solver, HYPRE_Real outer_wt)
 (Optional) Defines the outer relaxation weight for hybrid SOR and SSOR on all levels.
 
HYPRE_Int HYPRE_ParCSRHybridSetLevelOuterWt (HYPRE_Solver solver, HYPRE_Real outer_wt, HYPRE_Int level)
 (Optional) Defines the outer relaxation weight for hybrid SOR or SSOR on the user defined level.
 
HYPRE_Int HYPRE_ParCSRHybridSetMaxCoarseSize (HYPRE_Solver solver, HYPRE_Int max_coarse_size)
 (Optional) Defines the maximal coarse grid size.
 
HYPRE_Int HYPRE_ParCSRHybridSetMinCoarseSize (HYPRE_Solver solver, HYPRE_Int min_coarse_size)
 (Optional) Defines the minimal coarse grid size.
 
HYPRE_Int HYPRE_ParCSRHybridSetSeqThreshold (HYPRE_Solver solver, HYPRE_Int seq_threshold)
 (Optional) enables redundant coarse grid size.
 
HYPRE_Int HYPRE_ParCSRHybridSetRelaxWeight (HYPRE_Solver solver, HYPRE_Real *relax_weight)
 
HYPRE_Int HYPRE_ParCSRHybridSetOmega (HYPRE_Solver solver, HYPRE_Real *omega)
 
HYPRE_Int HYPRE_ParCSRHybridSetAggNumLevels (HYPRE_Solver solver, HYPRE_Int agg_num_levels)
 (Optional) Defines the number of levels of aggressive coarsening, starting with the finest level.
 
HYPRE_Int HYPRE_ParCSRHybridSetAggInterpType (HYPRE_Solver solver, HYPRE_Int agg_interp_type)
 (Optional) Defines the interpolation used on levels of aggressive coarsening The default is 4, i.e.
 
HYPRE_Int HYPRE_ParCSRHybridSetNumPaths (HYPRE_Solver solver, HYPRE_Int num_paths)
 (Optional) Defines the degree of aggressive coarsening.
 
HYPRE_Int HYPRE_ParCSRHybridSetNumFunctions (HYPRE_Solver solver, HYPRE_Int num_functions)
 (Optional) Sets the size of the system of PDEs, if using the systems version.
 
HYPRE_Int HYPRE_ParCSRHybridSetDofFunc (HYPRE_Solver solver, HYPRE_Int *dof_func)
 (Optional) Sets the mapping that assigns the function to each variable, if using the systems version.
 
HYPRE_Int HYPRE_ParCSRHybridSetNodal (HYPRE_Solver solver, HYPRE_Int nodal)
 (Optional) Sets whether to use the nodal systems version.
 
HYPRE_Int HYPRE_ParCSRHybridSetKeepTranspose (HYPRE_Solver solver, HYPRE_Int keepT)
 (Optional) Sets whether to store local transposed interpolation The default is 0 (don't store).
 
HYPRE_Int HYPRE_ParCSRHybridSetNonGalerkinTol (HYPRE_Solver solver, HYPRE_Int num_levels, HYPRE_Real *nongalerkin_tol)
 (Optional) Sets whether to use non-Galerkin option The default is no non-Galerkin option num_levels sets the number of levels where to use it nongalerkin_tol contains the tolerances for <num_levels> levels
 
HYPRE_Int HYPRE_ParCSRHybridGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_its)
 Retrieves the total number of iterations.
 
HYPRE_Int HYPRE_ParCSRHybridGetDSCGNumIterations (HYPRE_Solver solver, HYPRE_Int *dscg_num_its)
 Retrieves the number of iterations used by the diagonally scaled solver.
 
HYPRE_Int HYPRE_ParCSRHybridGetPCGNumIterations (HYPRE_Solver solver, HYPRE_Int *pcg_num_its)
 Retrieves the number of iterations used by the AMG preconditioned solver.
 
HYPRE_Int HYPRE_ParCSRHybridGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *norm)
 Retrieves the final relative residual norm.
 
HYPRE_Int HYPRE_ParCSRHybridSetNumGridSweeps (HYPRE_Solver solver, HYPRE_Int *num_grid_sweeps)
 
HYPRE_Int HYPRE_ParCSRHybridGetSetupSolveTime (HYPRE_Solver solver, HYPRE_Real *time)
 
ParCSR MGR Solver

Parallel multigrid reduction solver and preconditioner.

This solver or preconditioner is designed with systems of PDEs in mind. However, it can also be used for scalar linear systems, particularly for problems where the user can exploit information from the physics of the problem. In this way, the MGR solver could potentially be used as a foundation for a physics-based preconditioner.

HYPRE_Int HYPRE_MGRCreate (HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_MGRDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_MGRSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Setup the MGR solver or preconditioner.
 
HYPRE_Int HYPRE_MGRSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply MGR as a preconditioner.
 
HYPRE_Int HYPRE_MGRSetCpointsByContiguousBlock (HYPRE_Solver solver, HYPRE_Int block_size, HYPRE_Int max_num_levels, HYPRE_BigInt *idx_array, HYPRE_Int *num_block_coarse_points, HYPRE_Int **block_coarse_indexes)
 Set the block data assuming that the physical variables are ordered contiguously, i.e.
 
HYPRE_Int HYPRE_MGRSetCpointsByBlock (HYPRE_Solver solver, HYPRE_Int block_size, HYPRE_Int max_num_levels, HYPRE_Int *num_block_coarse_points, HYPRE_Int **block_coarse_indexes)
 Set the block data (by grid points) and prescribe the coarse indexes per block for each reduction level.
 
HYPRE_Int HYPRE_MGRSetCpointsByPointMarkerArray (HYPRE_Solver solver, HYPRE_Int block_size, HYPRE_Int max_num_levels, HYPRE_Int *num_block_coarse_points, HYPRE_Int **lvl_block_coarse_indexes, HYPRE_Int *point_marker_array)
 Set the coarse indices for the levels using an array of tags for all the local degrees of freedom.
 
HYPRE_Int HYPRE_MGRSetNonCpointsToFpoints (HYPRE_Solver solver, HYPRE_Int nonCptToFptFlag)
 (Optional) Set non C-points to F-points.
 
HYPRE_Int HYPRE_MGRSetMaxCoarseLevels (HYPRE_Solver solver, HYPRE_Int maxlev)
 (Optional) Set maximum number of coarsening (or reduction) levels.
 
HYPRE_Int HYPRE_MGRSetBlockSize (HYPRE_Solver solver, HYPRE_Int bsize)
 (Optional) Set the system block size.
 
HYPRE_Int HYPRE_MGRSetReservedCoarseNodes (HYPRE_Solver solver, HYPRE_Int reserved_coarse_size, HYPRE_BigInt *reserved_coarse_nodes)
 (Optional) Defines indexes of coarse nodes to be kept to the coarsest level.
 
HYPRE_Int HYPRE_MGRSetReservedCpointsLevelToKeep (HYPRE_Solver solver, HYPRE_Int level)
 (Optional) Set the level for reducing the reserved Cpoints before the coarse grid solve.
 
HYPRE_Int HYPRE_MGRSetRelaxType (HYPRE_Solver solver, HYPRE_Int relax_type)
 (Optional) Set the relaxation type for F-relaxation.
 
HYPRE_Int HYPRE_MGRSetFRelaxMethod (HYPRE_Solver solver, HYPRE_Int relax_method)
 (Optional) Set the strategy for F-relaxation.
 
HYPRE_Int HYPRE_MGRSetLevelFRelaxMethod (HYPRE_Solver solver, HYPRE_Int *relax_method)
 (Optional) This function is an extension of HYPRE_MGRSetFRelaxMethod.
 
HYPRE_Int HYPRE_MGRSetLevelFRelaxType (HYPRE_Solver solver, HYPRE_Int *relax_type)
 (Optional) Set the relaxation type for F-relaxation at each level.
 
HYPRE_Int HYPRE_MGRSetCoarseGridMethod (HYPRE_Solver solver, HYPRE_Int *cg_method)
 (Optional) Set the strategy for coarse grid computation.
 
HYPRE_Int HYPRE_MGRSetNonGalerkinMaxElmts (HYPRE_Solver solver, HYPRE_Int max_elmts)
 (Optional) Set the maximum number of nonzeros per row of the coarse grid correction operator computed in the Non-Galerkin approach.
 
HYPRE_Int HYPRE_MGRSetLevelNonGalerkinMaxElmts (HYPRE_Solver solver, HYPRE_Int *max_elmts)
 (Optional) Set the maximum number of nonzeros per row of the coarse grid correction operator computed in the Non-Galerkin approach at each MGR level.
 
HYPRE_Int HYPRE_MGRSetLevelFRelaxNumFunctions (HYPRE_Solver solver, HYPRE_Int *num_functions)
 (Optional) Set the number of functions for F-relaxation V-cycle.
 
HYPRE_Int HYPRE_MGRSetRestrictType (HYPRE_Solver solver, HYPRE_Int restrict_type)
 (Optional) Set the strategy for computing the MGR restriction operator.
 
HYPRE_Int HYPRE_MGRSetLevelRestrictType (HYPRE_Solver solver, HYPRE_Int *restrict_type)
 (Optional) This function is an extension of HYPRE_MGRSetRestrictType.
 
HYPRE_Int HYPRE_MGRSetNumRestrictSweeps (HYPRE_Solver solver, HYPRE_Int nsweeps)
 (Optional) Set number of restriction sweeps.
 
HYPRE_Int HYPRE_MGRSetInterpType (HYPRE_Solver solver, HYPRE_Int interp_type)
 (Optional) Set the strategy for computing the MGR interpolation operator.
 
HYPRE_Int HYPRE_MGRSetLevelInterpType (HYPRE_Solver solver, HYPRE_Int *interp_type)
 (Optional) This function is an extension of HYPRE_MGRSetInterpType.
 
HYPRE_Int HYPRE_MGRSetNumRelaxSweeps (HYPRE_Solver solver, HYPRE_Int nsweeps)
 (Optional) Set number of relaxation sweeps.
 
HYPRE_Int HYPRE_MGRSetLevelNumRelaxSweeps (HYPRE_Solver solver, HYPRE_Int *nsweeps)
 (Optional) This function is an extension of HYPRE_MGRSetNumRelaxSweeps.
 
HYPRE_Int HYPRE_MGRSetNumInterpSweeps (HYPRE_Solver solver, HYPRE_Int nsweeps)
 (Optional) Set number of interpolation sweeps.
 
HYPRE_Int HYPRE_MGRSetBlockJacobiBlockSize (HYPRE_Solver solver, HYPRE_Int blk_size)
 (Optional) Set block size for block (global) smoother and interp/restriction.
 
HYPRE_Int HYPRE_MGRSetFSolver (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn fine_grid_solver_solve, HYPRE_PtrToParSolverFcn fine_grid_solver_setup, HYPRE_Solver fsolver)
 (Optional) Set the fine grid solver.
 
HYPRE_Int HYPRE_MGRSetFSolverAtLevel (HYPRE_Solver solver, HYPRE_Solver fsolver, HYPRE_Int level)
 (Optional) Set the F-relaxation solver at a given level.
 
HYPRE_Int HYPRE_MGRBuildAff (HYPRE_ParCSRMatrix A, HYPRE_Int *CF_marker, HYPRE_Int debug_flag, HYPRE_ParCSRMatrix *A_ff)
 (Optional) Extract A_FF block from matrix A.
 
HYPRE_Int HYPRE_MGRSetCoarseSolver (HYPRE_Solver solver, HYPRE_PtrToParSolverFcn coarse_grid_solver_solve, HYPRE_PtrToParSolverFcn coarse_grid_solver_setup, HYPRE_Solver coarse_grid_solver)
 (Optional) Set the coarse grid solver.
 
HYPRE_Int HYPRE_MGRSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_MGRSetFrelaxPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Set the print level of the F-relaxation solver
 
HYPRE_Int HYPRE_MGRSetCoarseGridPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Set the print level of the coarse grid solver
 
HYPRE_Int HYPRE_MGRSetTruncateCoarseGridThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Set the threshold for dropping small entries on the coarse grid at each level.
 
HYPRE_Int HYPRE_MGRSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 (Optional) Requests logging of solver diagnostics.
 
HYPRE_Int HYPRE_MGRSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations if used as a solver.
 
HYPRE_Int HYPRE_MGRSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance for the MGR solver.
 
HYPRE_Int HYPRE_MGRSetMaxGlobalSmoothIters (HYPRE_Solver solver, HYPRE_Int smooth_iter)
 (Optional) Determines how many sweeps of global smoothing to do.
 
HYPRE_Int HYPRE_MGRSetLevelSmoothIters (HYPRE_Solver solver, HYPRE_Int *smooth_iters)
 (Optional) Determines how many sweeps of global smoothing to do on each level.
 
HYPRE_Int HYPRE_MGRSetGlobalSmoothCycle (HYPRE_Solver solver, HYPRE_Int global_smooth_cycle)
 (Optional) Set the cycle for global smoothing.
 
HYPRE_Int HYPRE_MGRSetGlobalSmoothType (HYPRE_Solver solver, HYPRE_Int smooth_type)
 (Optional) Determines type of global smoother.
 
HYPRE_Int HYPRE_MGRSetLevelSmoothType (HYPRE_Solver solver, HYPRE_Int *smooth_type)
 Sets the type of global smoother for each level in the multigrid reduction (MGR) solver.
 
HYPRE_Int HYPRE_MGRSetGlobalSmootherAtLevel (HYPRE_Solver solver, HYPRE_Solver smoother, HYPRE_Int level)
 Sets the global smoother method for a specified MGR level using a HYPRE solver object.
 
HYPRE_Int HYPRE_MGRGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 (Optional) Return the number of MGR iterations.
 
HYPRE_Int HYPRE_MGRGetCoarseGridConvergenceFactor (HYPRE_Solver solver, HYPRE_Real *conv_factor)
 (Optional) Return the relative residual for the coarse level system.
 
HYPRE_Int HYPRE_MGRSetPMaxElmts (HYPRE_Solver solver, HYPRE_Int P_max_elmts)
 (Optional) Set the maximum number of nonzeros per row for interpolation operators.
 
HYPRE_Int HYPRE_MGRSetLevelPMaxElmts (HYPRE_Solver solver, HYPRE_Int *P_max_elmts)
 (Optional) Set the maximum number of nonzeros per row for interpolation operators for each level.
 
HYPRE_Int HYPRE_MGRGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *res_norm)
 (Optional) Return the norm of the final relative residual.
 
ParCSR ILU Solver

(Parallel) Incomplete LU factorization.

HYPRE_Int HYPRE_ILUCreate (HYPRE_Solver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_ILUDestroy (HYPRE_Solver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_ILUSetup (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Setup the ILU solver or preconditioner.
 
HYPRE_Int HYPRE_ILUSolve (HYPRE_Solver solver, HYPRE_ParCSRMatrix A, HYPRE_ParVector b, HYPRE_ParVector x)
 Solve the system or apply ILU as a preconditioner.
 
HYPRE_Int HYPRE_ILUSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations if used as a solver.
 
HYPRE_Int HYPRE_ILUSetIterativeSetupType (HYPRE_Solver solver, HYPRE_Int iter_setup_type)
 (Optional) Set the algorithm type to compute the ILU factorization.
 
HYPRE_Int HYPRE_ILUSetIterativeSetupOption (HYPRE_Solver solver, HYPRE_Int iter_setup_option)
 (Optional) Set the compute option for iterative ILU in an additive fashion, i.e.; multiple options can be turned on by summing their respective numeric codes as given below:
 
HYPRE_Int HYPRE_ILUSetIterativeSetupMaxIter (HYPRE_Solver solver, HYPRE_Int iter_setup_max_iter)
 (Optional) Set the max.
 
HYPRE_Int HYPRE_ILUSetIterativeSetupTolerance (HYPRE_Solver solver, HYPRE_Real iter_setup_tolerance)
 (Optional) Set the stop tolerance for the iterative ILU algorithm.
 
HYPRE_Int HYPRE_ILUSetTriSolve (HYPRE_Solver solver, HYPRE_Int tri_solve)
 (Optional) Set triangular solver type.
 
HYPRE_Int HYPRE_ILUSetLowerJacobiIters (HYPRE_Solver solver, HYPRE_Int lower_jacobi_iterations)
 (Optional) Set number of lower Jacobi iterations for the triangular L solves Set this to integer > 0 when using iterative tri_solve (0).
 
HYPRE_Int HYPRE_ILUSetUpperJacobiIters (HYPRE_Solver solver, HYPRE_Int upper_jacobi_iterations)
 (Optional) Set number of upper Jacobi iterations for the triangular U solves Set this to integer > 0 when using iterative tri_solve (0).
 
HYPRE_Int HYPRE_ILUSetTol (HYPRE_Solver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance for ILU.
 
HYPRE_Int HYPRE_ILUSetLevelOfFill (HYPRE_Solver solver, HYPRE_Int lfil)
 (Optional) Set the level of fill k, for level-based ILU(k) The default is 0 (for ILU(0)).
 
HYPRE_Int HYPRE_ILUSetMaxNnzPerRow (HYPRE_Solver solver, HYPRE_Int nzmax)
 (Optional) Set the max non-zeros per row in L and U factors (for ILUT) The default is 1000.
 
HYPRE_Int HYPRE_ILUSetDropThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Set the threshold for dropping in L and U factors (for ILUT).
 
HYPRE_Int HYPRE_ILUSetDropThresholdArray (HYPRE_Solver solver, HYPRE_Real *threshold)
 (Optional) Set the array of thresholds for dropping in ILUT.
 
HYPRE_Int HYPRE_ILUSetNSHDropThreshold (HYPRE_Solver solver, HYPRE_Real threshold)
 (Optional) Set the threshold for dropping in Newton–Schulz–Hotelling iteration (NSH-ILU).
 
HYPRE_Int HYPRE_ILUSetNSHDropThresholdArray (HYPRE_Solver solver, HYPRE_Real *threshold)
 (Optional) Set the array of thresholds for dropping in Newton–Schulz–Hotelling iteration (for NSH-ILU).
 
HYPRE_Int HYPRE_ILUSetSchurMaxIter (HYPRE_Solver solver, HYPRE_Int ss_max_iter)
 (Optional) Set maximum number of iterations for Schur System Solve.
 
HYPRE_Int HYPRE_ILUSetType (HYPRE_Solver solver, HYPRE_Int ilu_type)
 Set the type of ILU factorization.
 
HYPRE_Int HYPRE_ILUSetLocalReordering (HYPRE_Solver solver, HYPRE_Int reordering_type)
 Set the type of reordering for the local matrix.
 
HYPRE_Int HYPRE_ILUSetPrintLevel (HYPRE_Solver solver, HYPRE_Int print_level)
 (Optional) Set the print level to print setup and solve information.
 
HYPRE_Int HYPRE_ILUSetLogging (HYPRE_Solver solver, HYPRE_Int logging)
 (Optional) Requests logging of solver diagnostics.
 
HYPRE_Int HYPRE_ILUGetNumIterations (HYPRE_Solver solver, HYPRE_Int *num_iterations)
 (Optional) Return the number of ILU iterations.
 
HYPRE_Int HYPRE_ILUGetFinalRelativeResidualNorm (HYPRE_Solver solver, HYPRE_Real *res_norm)
 (Optional) Return the norm of the final relative residual.
 
HYPRE_ParCSRMatrix GenerateLaplacian (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real *value)
 
HYPRE_ParCSRMatrix GenerateLaplacian27pt (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real *value)
 
HYPRE_ParCSRMatrix GenerateLaplacian9pt (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int p, HYPRE_Int q, HYPRE_Real *value)
 
HYPRE_ParCSRMatrix GenerateDifConv (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real *value)
 
HYPRE_ParCSRMatrix GenerateRotate7pt (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int p, HYPRE_Int q, HYPRE_Real alpha, HYPRE_Real eps)
 
HYPRE_ParCSRMatrix GenerateVarDifConv (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real eps, HYPRE_ParVector *rhs_ptr)
 
HYPRE_ParCSRMatrix GenerateRSVarDifConv (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Real eps, HYPRE_ParVector *rhs_ptr, HYPRE_Int type)
 
float * hypre_GenerateCoordinates (MPI_Comm comm, HYPRE_BigInt nx, HYPRE_BigInt ny, HYPRE_BigInt nz, HYPRE_Int P, HYPRE_Int Q, HYPRE_Int R, HYPRE_Int p, HYPRE_Int q, HYPRE_Int r, HYPRE_Int coorddim)
 
HYPRE_Int HYPRE_BoomerAMGSetPostInterpType (HYPRE_Solver solver, HYPRE_Int post_interp_type)
 (Optional) Switches on use of Jacobi interpolation after computing an original interpolation
 
HYPRE_Int HYPRE_BoomerAMGSetJacobiTruncThreshold (HYPRE_Solver solver, HYPRE_Real jacobi_trunc_threshold)
 (Optional) Sets a truncation threshold for Jacobi interpolation.
 
HYPRE_Int HYPRE_BoomerAMGSetNumCRRelaxSteps (HYPRE_Solver solver, HYPRE_Int num_CR_relax_steps)
 (Optional) Defines the number of relaxation steps for CR The default is 2.
 
HYPRE_Int HYPRE_BoomerAMGSetCRRate (HYPRE_Solver solver, HYPRE_Real CR_rate)
 (Optional) Defines convergence rate for CR The default is 0.7.
 
HYPRE_Int HYPRE_BoomerAMGSetCRStrongTh (HYPRE_Solver solver, HYPRE_Real CR_strong_th)
 (Optional) Defines strong threshold for CR The default is 0.0.
 
HYPRE_Int HYPRE_BoomerAMGSetCRUseCG (HYPRE_Solver solver, HYPRE_Int CR_use_CG)
 (Optional) Defines whether to use CG
 
HYPRE_Int HYPRE_BoomerAMGSetISType (HYPRE_Solver solver, HYPRE_Int IS_type)
 (Optional) Defines the Type of independent set algorithm used for CR
 
ParCSR LOBPCG Eigensolver

These routines should be used in conjunction with the generic interface in Eigensolvers.

HYPRE_Int HYPRE_ParCSRSetupInterpreter (mv_InterfaceInterpreter *i)
 Load interface interpreter.
 
HYPRE_Int HYPRE_ParCSRSetupMatvec (HYPRE_MatvecFunctions *mv)
 Load Matvec interpreter with hypre_ParKrylov functions.
 
HYPRE_Int HYPRE_ParCSRMultiVectorPrint (void *x_, const char *fileName)
 
void * HYPRE_ParCSRMultiVectorRead (MPI_Comm comm, void *ii_, const char *fileName)
 

ParCSR Solvers

#define HYPRE_MODIFYPC
 
typedef HYPRE_Int(* HYPRE_PtrToParSolverFcn) (HYPRE_Solver, HYPRE_ParCSRMatrix, HYPRE_ParVector, HYPRE_ParVector)
 The solver object.
 
typedef HYPRE_Int(* HYPRE_PtrToModifyPCFcn) (HYPRE_Solver, HYPRE_Int, HYPRE_Real)