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

Typedefs

SStruct Solvers
typedef struct hypre_SStructSolver_struct * HYPRE_SStructSolver
 The solver object.
 
typedef HYPRE_Int(* HYPRE_PtrToSStructSolverFcn) (HYPRE_SStructSolver, HYPRE_SStructMatrix, HYPRE_SStructVector, HYPRE_SStructVector)
 

Functions

SStruct SysPFMG Solver

SysPFMG is a semicoarsening multigrid solver similar to PFMG, but for systems of PDEs.

For periodic problems, users should try to set the grid size in periodic dimensions to be as close to a power-of-two as possible (for more details, see Struct PFMG Solver).

HYPRE_Int HYPRE_SStructSysPFMGCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructSysPFMGDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructSysPFMGSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Prepare to solve the system.
 
HYPRE_Int HYPRE_SStructSysPFMGSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Solve the system.
 
HYPRE_Int HYPRE_SStructSysPFMGSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance.
 
HYPRE_Int HYPRE_SStructSysPFMGSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations.
 
HYPRE_Int HYPRE_SStructSysPFMGSetRelChange (HYPRE_SStructSolver solver, HYPRE_Int rel_change)
 (Optional) Additionally require that the relative difference in successive iterates be small.
 
HYPRE_Int HYPRE_SStructSysPFMGSetZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a zero initial guess.
 
HYPRE_Int HYPRE_SStructSysPFMGSetNonZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a nonzero initial guess.
 
HYPRE_Int HYPRE_SStructSysPFMGSetRelaxType (HYPRE_SStructSolver solver, HYPRE_Int relax_type)
 (Optional) Set relaxation type.
 
HYPRE_Int HYPRE_SStructSysPFMGSetJacobiWeight (HYPRE_SStructSolver solver, HYPRE_Real weight)
 (Optional) Set Jacobi Weight.
 
HYPRE_Int HYPRE_SStructSysPFMGSetNumPreRelax (HYPRE_SStructSolver solver, HYPRE_Int num_pre_relax)
 (Optional) Set number of relaxation sweeps before coarse-grid correction.
 
HYPRE_Int HYPRE_SStructSysPFMGSetNumPostRelax (HYPRE_SStructSolver solver, HYPRE_Int num_post_relax)
 (Optional) Set number of relaxation sweeps after coarse-grid correction.
 
HYPRE_Int HYPRE_SStructSysPFMGSetSkipRelax (HYPRE_SStructSolver solver, HYPRE_Int skip_relax)
 (Optional) Skip relaxation on certain grids for isotropic problems.
 
HYPRE_Int HYPRE_SStructSysPFMGSetDxyz (HYPRE_SStructSolver solver, HYPRE_Real *dxyz)
 
HYPRE_Int HYPRE_SStructSysPFMGSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 (Optional) Set the amount of logging to do.
 
HYPRE_Int HYPRE_SStructSysPFMGSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int print_level)
 (Optional) Set the amount of printing to do to the screen.
 
HYPRE_Int HYPRE_SStructSysPFMGGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 Return the number of iterations taken.
 
HYPRE_Int HYPRE_SStructSysPFMGGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 Return the norm of the final relative residual.
 
SStruct FAC Solver
HYPRE_Int HYPRE_SStructFACCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructFACDestroy2 (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructFACAMR_RAP (HYPRE_SStructMatrix A, HYPRE_Int(*rfactors)[HYPRE_MAXDIM], HYPRE_SStructMatrix *fac_A)
 Re-distribute the composite matrix so that the amr hierachy is approximately nested.
 
HYPRE_Int HYPRE_SStructFACSetup2 (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Set up the FAC solver structure .
 
HYPRE_Int HYPRE_SStructFACSolve3 (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Solve the system.
 
HYPRE_Int HYPRE_SStructFACSetPLevels (HYPRE_SStructSolver solver, HYPRE_Int nparts, HYPRE_Int *plevels)
 Set up amr structure.
 
HYPRE_Int HYPRE_SStructFACSetPRefinements (HYPRE_SStructSolver solver, HYPRE_Int nparts, HYPRE_Int(*rfactors)[HYPRE_MAXDIM])
 Set up amr refinement factors.
 
HYPRE_Int HYPRE_SStructFACZeroCFSten (HYPRE_SStructMatrix A, HYPRE_SStructGrid grid, HYPRE_Int part, HYPRE_Int rfactors[HYPRE_MAXDIM])
 (Optional, but user must make sure that they do this function otherwise.) Zero off the coarse level stencils reaching into a fine level grid.
 
HYPRE_Int HYPRE_SStructFACZeroFCSten (HYPRE_SStructMatrix A, HYPRE_SStructGrid grid, HYPRE_Int part)
 (Optional, but user must make sure that they do this function otherwise.) Zero off the fine level stencils reaching into a coarse level grid.
 
HYPRE_Int HYPRE_SStructFACZeroAMRMatrixData (HYPRE_SStructMatrix A, HYPRE_Int part_crse, HYPRE_Int rfactors[HYPRE_MAXDIM])
 (Optional, but user must make sure that they do this function otherwise.) Places the identity in the coarse grid matrix underlying the fine patches.
 
HYPRE_Int HYPRE_SStructFACZeroAMRVectorData (HYPRE_SStructVector b, HYPRE_Int *plevels, HYPRE_Int(*rfactors)[HYPRE_MAXDIM])
 (Optional, but user must make sure that they do this function otherwise.) Places zeros in the coarse grid vector underlying the fine patches.
 
HYPRE_Int HYPRE_SStructFACSetMaxLevels (HYPRE_SStructSolver solver, HYPRE_Int max_levels)
 (Optional) Set maximum number of FAC levels.
 
HYPRE_Int HYPRE_SStructFACSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance.
 
HYPRE_Int HYPRE_SStructFACSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations.
 
HYPRE_Int HYPRE_SStructFACSetRelChange (HYPRE_SStructSolver solver, HYPRE_Int rel_change)
 (Optional) Additionally require that the relative difference in successive iterates be small.
 
HYPRE_Int HYPRE_SStructFACSetZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a zero initial guess.
 
HYPRE_Int HYPRE_SStructFACSetNonZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a nonzero initial guess.
 
HYPRE_Int HYPRE_SStructFACSetRelaxType (HYPRE_SStructSolver solver, HYPRE_Int relax_type)
 (Optional) Set relaxation type.
 
HYPRE_Int HYPRE_SStructFACSetJacobiWeight (HYPRE_SStructSolver solver, HYPRE_Real weight)
 (Optional) Set Jacobi weight if weighted Jacobi is used.
 
HYPRE_Int HYPRE_SStructFACSetNumPreRelax (HYPRE_SStructSolver solver, HYPRE_Int num_pre_relax)
 (Optional) Set number of relaxation sweeps before coarse-grid correction.
 
HYPRE_Int HYPRE_SStructFACSetNumPostRelax (HYPRE_SStructSolver solver, HYPRE_Int num_post_relax)
 (Optional) Set number of relaxation sweeps after coarse-grid correction.
 
HYPRE_Int HYPRE_SStructFACSetCoarseSolverType (HYPRE_SStructSolver solver, HYPRE_Int csolver_type)
 (Optional) Set coarsest solver type.
 
HYPRE_Int HYPRE_SStructFACSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 (Optional) Set the amount of logging to do.
 
HYPRE_Int HYPRE_SStructFACGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 Return the number of iterations taken.
 
HYPRE_Int HYPRE_SStructFACGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 Return the norm of the final relative residual.
 
SStruct Maxwell Solver
HYPRE_Int HYPRE_SStructMaxwellCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructMaxwellDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructMaxwellSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Prepare to solve the system.
 
HYPRE_Int HYPRE_SStructMaxwellSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Solve the system.
 
HYPRE_Int HYPRE_SStructMaxwellSolve2 (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Solve the system.
 
HYPRE_Int HYPRE_SStructMaxwellSetGrad (HYPRE_SStructSolver solver, HYPRE_ParCSRMatrix T)
 Sets the gradient operator in the Maxwell solver.
 
HYPRE_Int HYPRE_SStructMaxwellSetRfactors (HYPRE_SStructSolver solver, HYPRE_Int *rfactors)
 Sets the coarsening factor.
 
HYPRE_Int HYPRE_SStructMaxwellPhysBdy (HYPRE_SStructGrid *grid_l, HYPRE_Int num_levels, HYPRE_Int *rfactors, HYPRE_Int ***BdryRanks_ptr, HYPRE_Int **BdryRanksCnt_ptr)
 Finds the physical boundary row ranks on all levels.
 
HYPRE_Int HYPRE_SStructMaxwellEliminateRowsCols (HYPRE_ParCSRMatrix parA, HYPRE_Int nrows, HYPRE_Int *rows)
 Eliminates the rows and cols corresponding to the physical boundary in a parcsr matrix.
 
HYPRE_Int HYPRE_SStructMaxwellZeroVector (HYPRE_ParVector b, HYPRE_Int *rows, HYPRE_Int nrows)
 Zeros the rows corresponding to the physical boundary in a par vector.
 
HYPRE_Int HYPRE_SStructMaxwellSetSetConstantCoef (HYPRE_SStructSolver solver, HYPRE_Int flag)
 (Optional) Set the constant coefficient flag- Nedelec interpolation used.
 
HYPRE_Int HYPRE_SStructMaxwellGrad (HYPRE_SStructGrid grid, HYPRE_ParCSRMatrix *T)
 (Optional) Creates a gradient matrix from the grid.
 
HYPRE_Int HYPRE_SStructMaxwellSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance.
 
HYPRE_Int HYPRE_SStructMaxwellSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations.
 
HYPRE_Int HYPRE_SStructMaxwellSetRelChange (HYPRE_SStructSolver solver, HYPRE_Int rel_change)
 (Optional) Additionally require that the relative difference in successive iterates be small.
 
HYPRE_Int HYPRE_SStructMaxwellSetNumPreRelax (HYPRE_SStructSolver solver, HYPRE_Int num_pre_relax)
 (Optional) Set number of relaxation sweeps before coarse-grid correction.
 
HYPRE_Int HYPRE_SStructMaxwellSetNumPostRelax (HYPRE_SStructSolver solver, HYPRE_Int num_post_relax)
 (Optional) Set number of relaxation sweeps after coarse-grid correction.
 
HYPRE_Int HYPRE_SStructMaxwellSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 (Optional) Set the amount of logging to do.
 
HYPRE_Int HYPRE_SStructMaxwellGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 Return the number of iterations taken.
 
HYPRE_Int HYPRE_SStructMaxwellGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 Return the norm of the final relative residual.
 
SStruct PCG Solver

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

HYPRE_Int HYPRE_SStructPCGCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructPCGDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructPCGSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructPCGSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructPCGSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructPCGSetAbsoluteTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructPCGSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_SStructPCGSetTwoNorm (HYPRE_SStructSolver solver, HYPRE_Int two_norm)
 
HYPRE_Int HYPRE_SStructPCGSetRelChange (HYPRE_SStructSolver solver, HYPRE_Int rel_change)
 
HYPRE_Int HYPRE_SStructPCGSetPrecond (HYPRE_SStructSolver solver, HYPRE_PtrToSStructSolverFcn precond, HYPRE_PtrToSStructSolverFcn precond_setup, void *precond_solver)
 
HYPRE_Int HYPRE_SStructPCGSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_SStructPCGSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int level)
 
HYPRE_Int HYPRE_SStructPCGGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_SStructPCGGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_SStructPCGGetResidual (HYPRE_SStructSolver solver, void **residual)
 
HYPRE_Int HYPRE_SStructDiagScaleSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector y, HYPRE_SStructVector x)
 Setup routine for diagonal preconditioning.
 
HYPRE_Int HYPRE_SStructDiagScale (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector y, HYPRE_SStructVector x)
 Solve routine for diagonal preconditioning.
 
SStruct GMRES Solver

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

HYPRE_Int HYPRE_SStructGMRESCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructGMRESDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructGMRESSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructGMRESSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructGMRESSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructGMRESSetAbsoluteTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructGMRESSetMinIter (HYPRE_SStructSolver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_SStructGMRESSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_SStructGMRESSetKDim (HYPRE_SStructSolver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_SStructGMRESSetStopCrit (HYPRE_SStructSolver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_SStructGMRESSetPrecond (HYPRE_SStructSolver solver, HYPRE_PtrToSStructSolverFcn precond, HYPRE_PtrToSStructSolverFcn precond_setup, void *precond_solver)
 
HYPRE_Int HYPRE_SStructGMRESSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_SStructGMRESSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_SStructGMRESGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_SStructGMRESGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_SStructGMRESGetResidual (HYPRE_SStructSolver solver, void **residual)
 
SStruct FlexGMRES Solver

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

HYPRE_Int HYPRE_SStructFlexGMRESCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructFlexGMRESDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructFlexGMRESSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructFlexGMRESSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetAbsoluteTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetMinIter (HYPRE_SStructSolver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetKDim (HYPRE_SStructSolver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetPrecond (HYPRE_SStructSolver solver, HYPRE_PtrToSStructSolverFcn precond, HYPRE_PtrToSStructSolverFcn precond_setup, void *precond_solver)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_SStructFlexGMRESGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_SStructFlexGMRESGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_SStructFlexGMRESGetResidual (HYPRE_SStructSolver solver, void **residual)
 
HYPRE_Int HYPRE_SStructFlexGMRESSetModifyPC (HYPRE_SStructSolver solver, HYPRE_PtrToModifyPCFcn modify_pc)
 
SStruct LGMRES Solver

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

HYPRE_Int HYPRE_SStructLGMRESCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructLGMRESDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructLGMRESSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructLGMRESSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructLGMRESSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructLGMRESSetAbsoluteTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructLGMRESSetMinIter (HYPRE_SStructSolver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_SStructLGMRESSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_SStructLGMRESSetKDim (HYPRE_SStructSolver solver, HYPRE_Int k_dim)
 
HYPRE_Int HYPRE_SStructLGMRESSetAugDim (HYPRE_SStructSolver solver, HYPRE_Int aug_dim)
 
HYPRE_Int HYPRE_SStructLGMRESSetPrecond (HYPRE_SStructSolver solver, HYPRE_PtrToSStructSolverFcn precond, HYPRE_PtrToSStructSolverFcn precond_setup, void *precond_solver)
 
HYPRE_Int HYPRE_SStructLGMRESSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_SStructLGMRESSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int print_level)
 
HYPRE_Int HYPRE_SStructLGMRESGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_SStructLGMRESGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_SStructLGMRESGetResidual (HYPRE_SStructSolver solver, void **residual)
 
SStruct BiCGSTAB Solver

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

HYPRE_Int HYPRE_SStructBiCGSTABCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructBiCGSTABDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructBiCGSTABSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructBiCGSTABSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetAbsoluteTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetMinIter (HYPRE_SStructSolver solver, HYPRE_Int min_iter)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetStopCrit (HYPRE_SStructSolver solver, HYPRE_Int stop_crit)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetPrecond (HYPRE_SStructSolver solver, HYPRE_PtrToSStructSolverFcn precond, HYPRE_PtrToSStructSolverFcn precond_setup, void *precond_solver)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetLogging (HYPRE_SStructSolver solver, HYPRE_Int logging)
 
HYPRE_Int HYPRE_SStructBiCGSTABSetPrintLevel (HYPRE_SStructSolver solver, HYPRE_Int level)
 
HYPRE_Int HYPRE_SStructBiCGSTABGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 
HYPRE_Int HYPRE_SStructBiCGSTABGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 
HYPRE_Int HYPRE_SStructBiCGSTABGetResidual (HYPRE_SStructSolver solver, void **residual)
 
SStruct LOBPCG Eigensolver

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

HYPRE_Int HYPRE_SStructSetupInterpreter (mv_InterfaceInterpreter *i)
 Load interface interpreter.
 
HYPRE_Int HYPRE_SStructSetupMatvec (HYPRE_MatvecFunctions *mv)
 Load Matvec interpreter with hypre_SStructKrylov functions.
 

SStruct Split Solver

#define HYPRE_PFMG   10
 
#define HYPRE_SMG   11
 
#define HYPRE_Jacobi   17
 
HYPRE_Int HYPRE_SStructSplitCreate (MPI_Comm comm, HYPRE_SStructSolver *solver)
 Create a solver object.
 
HYPRE_Int HYPRE_SStructSplitDestroy (HYPRE_SStructSolver solver)
 Destroy a solver object.
 
HYPRE_Int HYPRE_SStructSplitSetup (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Prepare to solve the system.
 
HYPRE_Int HYPRE_SStructSplitSolve (HYPRE_SStructSolver solver, HYPRE_SStructMatrix A, HYPRE_SStructVector b, HYPRE_SStructVector x)
 Solve the system.
 
HYPRE_Int HYPRE_SStructSplitSetTol (HYPRE_SStructSolver solver, HYPRE_Real tol)
 (Optional) Set the convergence tolerance.
 
HYPRE_Int HYPRE_SStructSplitSetMaxIter (HYPRE_SStructSolver solver, HYPRE_Int max_iter)
 (Optional) Set maximum number of iterations.
 
HYPRE_Int HYPRE_SStructSplitSetZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a zero initial guess.
 
HYPRE_Int HYPRE_SStructSplitSetNonZeroGuess (HYPRE_SStructSolver solver)
 (Optional) Use a nonzero initial guess.
 
HYPRE_Int HYPRE_SStructSplitSetStructSolver (HYPRE_SStructSolver solver, HYPRE_Int ssolver)
 (Optional) Set up the type of diagonal struct solver.
 
HYPRE_Int HYPRE_SStructSplitGetNumIterations (HYPRE_SStructSolver solver, HYPRE_Int *num_iterations)
 Return the number of iterations taken.
 
HYPRE_Int HYPRE_SStructSplitGetFinalRelativeResidualNorm (HYPRE_SStructSolver solver, HYPRE_Real *norm)
 Return the norm of the final relative residual.