| [Overview] [Kernel] [Adaptivity] [Datafilter] [Multilevel] [Parallel I] |
| Diffpack Multilevel Toolbox 1.2 |
Multilevel Toolbox Demos
|
|
Linear Solvers at Theoretically Optimal Speed When multilevel solvers were discovered in the mid 70'ties, many experts would simply not believe the work count to be O(N). Today, thousands of papers have established a rich theory and the optimality of these solvers is well understood. Being super-algorithms, i.e. compositions of advanced sub-algorithms, multilevel solvers are not only the fastest but also the most complicated and configurable of all types of linear solvers. For large problem classes the solution is reached in const x N flops, but the constant can be large and it is strongly configuration and problem dependent. Optimal problem-specific configurations are seldom known from analysis. The design of fast multilevel solvers therefore relies on experiments, something that puts high demands on the functionality and flexibility of multilevel software. A Complete Framework for Multigrid SolversThe Diffpack Multilevel Toolbox is a complete and flexible laboratory for building fast problem-dependent multigrid solvers. The open design allows extensions to also other multilevel solvers, e.g. based on domain decomposition techniques. The example below shows the number of iterations and CPU time required for solving the Poisson equation on the unit square using structured meshes of different sizes.
From left to right, the different solvers are conjugate gradients (CG) with RILU preconditioner, CG with multigrid (MG) preconditioner and pure multigrid. The configuration of multigrid in this example was optimized by using the multiple loop feature. Simple to UseAbout 10 lines of code are all it takes to make the full gallery of multigrid options available to an existing Diffpack application. When converting your program to a multigrid code it is equipped with:
You can select structured or unstructured meshes in 1, 2 or 3 space dimensions, and the mesh hierarchy can support both nested and non-nested multigrid. You can select the pre- and post-smoothers from Diffpack's iterative solver library or you can link in your favorite smoothers from other sources. You have the same great flexibility when dealing with other parameters as e.g. projections, residuals, smoother sweeps, V- and W cycles, etc. Using the menu system you could for example set up multiple runs over different sweeps, V- and W-cycles to optimize these parameters for some given problem. You can use the multigrid solvers directly or as preconditioners for other iterative solvers, as e.g. the Krylov solvers available from the Diffpack Kernel. For Industrial Production Runs or Pure ResearchObviously, the Multilevel Toolbox can give great savings in connection to large industrial calculations. Due to its run time flexibility, the Multilevel Toolbox is also the perfect "lab" for those who are mainly interested in pure multilevel research. Further Reading
| ||||||||||||||||||||||||||||||||||||||||||
Copyright © inuTech GmbH. All rights reserved.Questions and comments regarding this web site should be directed to diffpack@inutech.de |