next up previous contents index
Next: Linear Solvers in SolverOptions Up: The Module esys.finley Previous: Meshes   Contents   Index


Macro Elements

esys.finley supports the usage of macro elements  which can be used to achieve LBB compliance when solving incompressible fluid flow problems. LBB compliance is required to get a problem which has a unique solution for pressure and velocity. For macro elements the pressure and velocity are approximated by a polynomial of order 1 but the velocity approximation bases on a refinement of the element. The nodes of a triangle and quadrilateral element is shown in Figures 7.6(a) and 7.6(b), respectively. In essence, the velocity uses the same nodes like a quadratic polynomial approximation but replaces the quadratic polynomial by piecewise linear polynomials. In fact, this is the way esys.finley is defining the macro elements. In particular esys.finley uses the same local ordering of the nodes for the macro element as for the corresponding quadratic element. Another interpretation is that one uses a linear approximation of the velocity together with a linear approximation of the pressure but on elements created by combining elements to macro elements. Notice that the macro elements still use quadratic interpolation to represent the element and domain boundary. However, if elements have linear boundary a macro element approximation for the velocity is equivalent to using a linear approximation on a mesh which is created through a one step, global refinement. Typically macro elements are only required to use when an incompressible fluid flow problem is solved, e.g the Stokes problem in Section 6.1. Please see Section 7.2 for more details on the supported macro elements.


Table: Solvers available for esys.finley and the PASO package and the relevant options in SolverOptions. MKL supports SolverOptions.MINIMUMFILLIN and SolverOptions.NESTEDDISSECTION reordering. Currently the UMFPACK interface does not support any reordering.
setSolverMethod DIRECT PCG GMRES TFQMR MINRES PRES20 BICGSTAB LUMPING
setReordering $ \checkmark$
setRestart $ \checkmark$ $ 20$
setTruncation $ \checkmark$ $ 5$
setIterMax $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$
setTolerance $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$
setAbsoluteTolerance $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$ $ \checkmark$
setReordering $ \checkmark$



Table: Preconditioners available for esys.finley and the PASO package and the relevant options in SolverOptions.
setPreconditioner NO_PRECONDITIONER AMG JACOBI GAUSS_SEIDEL REC_ILU RILU ILU0 DIRECT
status: later later $ \checkmark$ $ \checkmark$ $ \checkmark$ later $ \checkmark$ later
setCoarsening $ \checkmark$
setLevelMax $ \checkmark$
setCoarseningThreshold $ \checkmark$
setMinCoarseMatrixSize $ \checkmark$
setNumSweeps $ \checkmark$ $ \checkmark$
setNumPreSweeps $ \checkmark$
setNumPostSweeps $ \checkmark$
setInnerTolerance
setDropTolerance
setDropStorage
setRelaxationFactor $ \checkmark$
adaptInnerTolerance
setInnerIterMax



next up previous contents index
Next: Linear Solvers in SolverOptions Up: The Module esys.finley Previous: Meshes   Contents   Index
esys@esscc.uq.edu.au