# Diff of /trunk/doc/user/finley.tex

revision 2557 by jfenwick, Mon Jul 20 06:20:06 2009 UTC revision 2558 by gross, Mon Jul 27 05:03:32 2009 UTC
# Line 254  $7$, $10$, $15$ and $20$, respectively. Line 254  $7$, $10$, $15$ and $20$, respectively.
254  \input{finleyelements}  \input{finleyelements}
255  \clearpage  \clearpage
256
257  \subsection{Linear Solvers in \LinearPDE}
258  Currently \finley supports the linear solvers \PCG, \GMRES, \PRESTWENTY and \BiCGStab.  \begin{table}
259  For \GMRES the options \var{truncation} and \var{restart} of the \method{getSolution} can be  {\small
260  used to control the truncation and restart during iteration. Default values are  \begin{tabular}{l||c|c|c|c|c|c|c|c}
261  \var{truncation}=5 and \var{restart}=20.  \member{setSolverMethod} & \member{DIRECT}& \member{PCG} & \member{GMRES} & \member{TFQMR} & \member{MINRES} & \member{PRES20} & \member{BICGSTAB} & \member{LUMPING} \\
262  The default solver is \BiCGStab  but if the symmetry flag is set \PCG is the default solver.  \hline
263  \finley supports the solver options \var{iter_max} which specifies the maximum number of iterations steps,   \hline
264  \var{verbose}=\True or \False and \var{preconditioner}=\constant{JACOBI} or \constant {ILU0}.   \member{setReordering} & $\checkmark$ & & & & & &\\
265  In some installations \finley supports the \Direct solver and the   \hline  \member{setRestart} &  & & $\checkmark$ & & & $20$ & \\
266  solver options \var{reordering}=\constant{util.NO_REORDERING},   \hline\member{setTruncation} &  & & $\checkmark$ & & & $5$ & \\
267  \constant{util.MINIMUM_FILL_IN} or \constant{util.NESTED_DISSECTION} (default is \constant{util.NO_REORDERING}),     \hline\member{setIterMax} &  & $\checkmark$& $\checkmark$ & $\checkmark$& $\checkmark$& $\checkmark$ & $\checkmark$ \\
268  \var{drop_tolerance} specifying the threshold for values to be dropped in the   \hline\member{setTolerance} &  & $\checkmark$& $\checkmark$ & $\checkmark$& $\checkmark$& $\checkmark$ & $\checkmark$ \\
269  incomplete elimination process (default is 0.01) and \var{drop_storage} specifying the maximum increase   \hline\member{setAbsoluteTolerance} &  & $\checkmark$& $\checkmark$ & $\checkmark$& $\checkmark$& $\checkmark$ & $\checkmark$ \\
270  in storage allowed in the  \end{tabular}
271  incomplete elimination process (default is 1.20).  }
272    \caption{Solvers available for \finley and the \PASO package and the relevant options in \class{SolverOptions}
273     \label{TAB FINLEY SOLVER OPTIONS 1}}
274    \end{table}
275
276    \begin{table}
277    {\scriptsize
278    \begin{tabular}{l||c|c|c|c|c|c|c|c}
279    \member{setPreconditioner} &
280    \member{NO_PRECONDITIONER} &
281    \member{AMG} &
282    \member{JACOBI} &
283    \member{GAUSS_SEIDEL}&
284    \member{REC_ILU}&
285    \member{RILU} &
286    \member{ILU0} &
287    \member{DIRECT} \\
288     \hline
289     status: &
290    later &
291    later &
292    $\checkmark$ &
293    $\checkmark$&
294    $\checkmark$ &
295    later &
296    $\checkmark$ &
297    later \\
298    \hline
299    \hline
300    \member{setCoarsening}&
301     &
302    $\checkmark$ &
303    &
304    &
305    &
306     &
307     &
308     \\
309
310
311    \hline\member{setLevelMax}&
312     &
313    $\checkmark$ &
314     &
315    &
316    &
317     &
318     &
319     \\
320
321    \hline\member{setCoarseningThreshold}&
322    &
323    $\checkmark$ &
324     &
325    &
326    &
327     &
328     &
329     \\
330
331    \hline\member{setMinCoarseMatrixSize} &
332     &
333    $\checkmark$ &
334     &
335    &
336    &
337     &
338     &
339     \\
340
341    \hline\member{setNumSweeps} &
342     &
343     &
344    $\checkmark$ &
345    $\checkmark$ &
346    &
347     &
348     &
349     \\
350
351    \hline\member{setNumPreSweeps}&
352     &
353    $\checkmark$ &
354      &
355     &
356     &
357      &
358      &
359      \\
360
361    \hline\member{setNumPostSweeps} &
362     &
363    $\checkmark$ &
364     &
365    &
366    &
367     &
368    &
369     \\
370
371    \hline\member{setInnerTolerance}&
372     &
373     &
374     &
375    &
376    &
377     &
378    &
379     \\
380
381    \hline\member{setDropTolerance}&
382     &
383     &
384     &
385    &
386    &
387     &
388    &
389     \\
390
391    \hline\member{setDropStorage}&
392     &
393     &
394     &
395    &
396    &
397     &
398    &
399     \\
400
401    \hline\member{setRelaxationFactor}&
402     &
403     &
404     &
405    &
406    &
407    $\checkmark$  &
408     &
409     \\
410
412     &
413     &
414     &
415    &
416    &
417     &
418    &
419     \\
420
421    \hline\member{setInnerIterMax}&
422     &
423     &
424     &
425    &
426    &
427     &
428    &
429     \\
430    \end{tabular}
431    }
432    \caption{Preconditioners available for \finley and the \PASO package and the relevant options in \class{SolverOptions}. \label{TAB FINLEY SOLVER OPTIONS 2}}
433    \end{table}
434
435    \subsection{Linear Solvers in \SolverOptions}
436    Table~\ref{TAB FINLEY SOLVER OPTIONS 1} and
437    Table~\ref{TAB FINLEY SOLVER OPTIONS 2} show the solvers and preconditioners supported by
438    \finley through the \PASO library. Currently direct solvers are not supported under MPI.
439    By default, \finley is using the iterative solvers \PCG for symmetric and \BiCGStab for non-symmetric problems.
440    If the direct solver is selected which can be useful when solving very ill-posedequations
441    \finley uses the \MKL solver package. If \MKL is not available \UMFPACK is used. If \UMFPACK is not available
442    a suitable iterative solver from the \PASO is used.
443
444  \subsection{Functions}  \subsection{Functions}