1
<html><head><TITLE>Struct SMG Solver</TITLE></head>
3
<H2><A HREF ="#DOC.DOCU" > <IMG BORDER=0 SRC=down.gif></A> Struct SMG Solver </H2>
7
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGCreate</B>(MPI_Comm comm, <!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> *solver)
9
Create a solver object</I>
11
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGDestroy</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver)
13
Destroy a solver object</I>
15
<IMG BORDER=0 SRC=icon1.gif> <A HREF=HYPRE_StructSMGSetup.html><B>HYPRE_StructSMGSetup</B></A>
17
Prepare to solve the system</I>
19
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSolve</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, <!2><A HREF="StructMatrices.html#DOC.1.3.13">HYPRE_StructMatrix</A> A, <!2><A HREF="StructVectors.html#DOC.1.4.8">HYPRE_StructVector</A> b, <!2><A HREF="StructVectors.html#DOC.1.4.8">HYPRE_StructVector</A> x)
23
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetTol</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, double tol)
25
(Optional) Set the convergence tolerance</I>
27
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetMaxIter</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int max_iter)
29
(Optional) Set maximum number of iterations</I>
31
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetRelChange</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int rel_change)
33
(Optional) Additionally require that the relative difference in
34
successive iterates be small</I>
36
<IMG BORDER=0 SRC=icon1.gif> <A HREF=HYPRE_StructSMGSetZeroGuess.html><B>HYPRE_StructSMGSetZeroGuess</B></A>
38
(Optional) Use a zero initial guess</I>
40
<IMG BORDER=0 SRC=icon1.gif> <A HREF=HYPRE_StructSMGSetNonZeroGuess.html><B>HYPRE_StructSMGSetNonZeroGuess</B></A>
42
(Optional) Use a nonzero initial guess</I>
44
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetNumPreRelax</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int num_pre_relax)
46
(Optional) Set number of relaxation sweeps before coarse-grid correction</I>
48
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetNumPostRelax</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int num_post_relax)
50
(Optional) Set number of relaxation sweeps after coarse-grid correction</I>
52
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetLogging</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int logging)
54
(Optional) Set the amount of logging to do</I>
56
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGSetPrintLevel</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int print_level)
58
(Optional) Set the amount of printing to do to the screen</I>
60
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGGetNumIterations</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, int *num_iterations)
62
Return the number of iterations taken</I>
64
<IMG BORDER=0 SRC=icon1.gif>int <B>HYPRE_StructSMGGetFinalRelativeResidualNorm</B>(<!2><A HREF="StructSolvers.2.html#DOC.4.1.1">HYPRE_StructSolver</A> solver, double *norm)
66
Return the norm of the final relative residual</I>
69
<DL></DL><P><I><A HREF="aindex.html"> alphabetic index</A></I> <I><A HREF="HIER.html"> hierarchy of classes</A></I><P><hr>
71
<img src="hypre_wiw.gif">
74
<P Align=right><I>generated by <A HREF="http://www.zib.de/Visual/software/doc++/index.html">doc++</A></I>