/[escript]/trunk/doc/user/finley.tex
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2417 by gross, Wed May 13 08:18:47 2009 UTC revision 2722 by gross, Fri Oct 16 06:45:01 2009 UTC
# Line 1  Line 1 
1    
2  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3  %  %
4  % Copyright (c) 2003-2008 by University of Queensland  % Copyright (c) 2003-2009 by University of Queensland
5  % Earth Systems Science Computational Center (ESSCC)  % Earth Systems Science Computational Center (ESSCC)
6  % http://www.uq.edu.au/esscc  % http://www.uq.edu.au/esscc
7  %  %
# 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  {\scriptsize
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  \hline\member{setReordering} & $\checkmark$ & & & & & & & \\
271  incomplete elimination process (default is 1.20).  \end{tabular}
272    }
273    \caption{Solvers available for
274    \finley
275    and the \PASO package and the relevant options in \class{SolverOptions}.
276    \MKL supports
277    \MINIMUMFILLIN
278    and
279    \NESTEDDESCTION
280    reordering.
281    Currently the \UMFPACK interface does not support any reordering.
282    \label{TAB FINLEY SOLVER OPTIONS 1} }
283    \end{table}
284    
285    \begin{table}
286    {\scriptsize
287    \begin{tabular}{l||c|c|c|c|c|c|c|c}
288    \member{setPreconditioner} &
289    \member{NO_PRECONDITIONER} &
290    \member{AMG} &
291    \member{JACOBI} &
292    \member{GAUSS_SEIDEL}&
293    \member{REC_ILU}&
294    \member{RILU} &
295    \member{ILU0} &
296    \member{DIRECT} \\
297     \hline
298     status: &
299    later &
300    later &
301    $\checkmark$ &
302    $\checkmark$&
303    $\checkmark$ &
304    later &
305    $\checkmark$ &
306    later \\
307    \hline
308    \hline
309    \member{setCoarsening}&
310     &
311    $\checkmark$ &
312    &
313    &
314    &
315     &
316     &
317     \\
318    
319    
320    \hline\member{setLevelMax}&
321     &
322    $\checkmark$ &
323     &
324    &
325    &
326     &
327     &
328     \\
329    
330    \hline\member{setCoarseningThreshold}&
331    &
332    $\checkmark$ &
333     &
334    &
335    &
336     &
337     &
338     \\
339    
340    \hline\member{setMinCoarseMatrixSize} &
341     &
342    $\checkmark$ &
343     &
344    &
345    &
346     &
347     &
348     \\
349    
350    \hline\member{setNumSweeps} &
351     &
352     &
353    $\checkmark$ &
354    $\checkmark$ &
355    &
356     &
357     &
358     \\
359    
360    \hline\member{setNumPreSweeps}&
361     &
362    $\checkmark$ &
363      &
364     &
365     &
366      &
367      &
368      \\
369    
370    \hline\member{setNumPostSweeps} &
371     &
372    $\checkmark$ &
373     &
374    &
375    &
376     &
377    &
378     \\
379    
380    \hline\member{setInnerTolerance}&
381     &
382     &
383     &
384    &
385    &
386     &
387    &
388     \\
389    
390    \hline\member{setDropTolerance}&
391     &
392     &
393     &
394    &
395    &
396     &
397    &
398     \\
399    
400    \hline\member{setDropStorage}&
401     &
402     &
403     &
404    &
405    &
406     &
407    &
408     \\
409    
410    \hline\member{setRelaxationFactor}&
411     &
412     &
413     &
414    &
415    &
416    $\checkmark$  &
417     &
418     \\
419    
420    \hline\member{adaptInnerTolerance}&
421     &
422     &
423     &
424    &
425    &
426     &
427    &
428     \\
429    
430    \hline\member{setInnerIterMax}&
431     &
432     &
433     &
434    &
435    &
436     &
437    &
438     \\
439    \end{tabular}
440    }
441    \caption{Preconditioners available for \finley and the \PASO package and the relevant options in \class{SolverOptions}. \label{TAB FINLEY SOLVER OPTIONS 2}}
442    \end{table}
443    
444    \subsection{Linear Solvers in \SolverOptions}
445    Table~\ref{TAB FINLEY SOLVER OPTIONS 1} and
446    Table~\ref{TAB FINLEY SOLVER OPTIONS 2} show the solvers and preconditioners supported by
447    \finley through the \PASO library. Currently direct solvers are not supported under MPI.
448    By default, \finley is using the iterative solvers \PCG for symmetric and \BiCGStab for non-symmetric problems.
449    If the direct solver is selected which can be useful when solving very ill-posedequations
450    \finley uses the \MKL solver package. If \MKL is not available \UMFPACK is used. If \UMFPACK is not available
451    a suitable iterative solver from the \PASO is used.
452    
453  \subsection{Functions}  \subsection{Functions}
454  \begin{funcdesc}{ReadMesh}{fileName,integrationOrder=-1}  \begin{funcdesc}{ReadMesh}{fileName \optional{, \optional{integrationOrder=-1}, optimize=True}}
455  creates a \Domain object form the FEM mesh defined in  creates a \Domain object form the FEM mesh defined in
456  file \var{fileName}. The file must be given the \finley file format.  file \var{fileName}. The file must be given the \finley file format.
457  If \var{integrationOrder} is positive, a numerical integration scheme  If \var{integrationOrder} is positive, a numerical integration scheme
458  chosen which is accurate on each element up to a polynomial of  chosen which is accurate on each element up to a polynomial of
459  degree \var{integrationOrder} \index{integration order}. Otherwise  degree \var{integrationOrder} \index{integration order}. Otherwise
460    an appropriate integration order is chosen independently.
461    By default the labeling of mesh nodes and element distribution is
462    optimized. Set \var{optimize=False} to switch off relabeling and redistribution.
463    \end{funcdesc}
464    
465    \begin{funcdesc}{ReadGmsh}{fileName \optional{, \optional{integrationOrder=-1}, optimize=True}}
466    creates a \Domain object form the FEM mesh defined in
467    file \var{fileName}. The file must be given the \gmshextern file format.
468    If \var{integrationOrder} is positive, a numerical integration scheme
469    chosen which is accurate on each element up to a polynomial of
470    degree \var{integrationOrder} \index{integration order}. Otherwise
471  an appropriate integration order is chosen independently.  an appropriate integration order is chosen independently.
472    By default the labeling of mesh nodes and element distribution is
473    optimized. Set \var{optimize=False} to switch off relabeling and redistribution.
474    Currently \function{ReadGmsh} does not support MPI.  
475  \end{funcdesc}  \end{funcdesc}
476    
477    
478  \begin{funcdesc}{load}{fileName}  \begin{funcdesc}{load}{fileName}
479  recovers a \Domain object from a dump file created by the \  recovers a \Domain object from a dump file created by the \
480  eateseates a \Domain object form the FEM mesh defined in  eateseates a \Domain object form the FEM mesh defined in
# Line 320  If \var{optimize}=\True mesh node relabe Line 515  If \var{optimize}=\True mesh node relabe
515  \end{funcdesc}  \end{funcdesc}
516    
517  \begin{funcdesc}{Brick}{n0,n1,n2,order=1,l0=1.,l1=1.,l2=1., integrationOrder=-1, \\  \begin{funcdesc}{Brick}{n0,n1,n2,order=1,l0=1.,l1=1.,l2=1., integrationOrder=-1, \\
518    periodic0=\False,periodic1=\False,periodic2=\False,useElementsOnFace=\False,optimize=\False}    periodic0=\False,periodic1=\False,periodic2=\False,useElementsOnFace=\False,useMacroElements=\False, optimize=\False}
519  Generates a \Domain object representing a three dimensional brick between  Generates a \Domain object representing a three dimensional brick between
520  $(0,0,0)$ and $(l0,l1,l2)$ with orthogonal faces. The brick is filled with  $(0,0,0)$ and $(l0,l1,l2)$ with orthogonal faces. The brick is filled with
521  \var{n0} elements along the $x_0$-axis,  \var{n0} elements along the $x_0$-axis,

Legend:
Removed from v.2417  
changed lines
  Added in v.2722

  ViewVC Help
Powered by ViewVC 1.1.26