|
Teko Version of the Day
|
Teko is a Trilinos package for block and physics-based preconditioning. It provides tools to assemble and manipulate block linear operators, to decompose a fully coupled operator into its physical sub-blocks, and to build approximate inverses of those blocks using the full complement of Trilinos solvers and preconditioners (Ifpack2, MueLu, Amesos2, Belos, …). On top of that infrastructure Teko ships a library of generic block preconditioners (block Jacobi, block Gauss–Seidel, LU 2×2) and physics-based preconditioners for the Navier–Stokes equations (SIMPLE, LSC, PCD).
Teko means "fuse" in Greek — suggestive of what the package does: fusing multiple physics into a single preconditioner. The original motivation was preconditioners for magnetohydrodynamics and fusion-reactor simulation. For the theory behind the Navier–Stokes methods, see Cyr, Shadid & Tuminaro, Stabilization and Scalable Block Preconditioning for the Navier–Stokes Equations, JCP 2011.
This guide focuses on the parts of Teko that have historically been under-documented: the configuration options (the Teuchos::ParameterList / XML keys that control every preconditioner) and worked examples that show how the pieces fit together.
| Page | What it covers |
|---|---|
| Getting Started | Core concepts and a minimal end-to-end example: blocked operator → strategy → inverse → apply. |
| Configuration Model | The three-layer configuration model and the first complete Teko XML example. Start here for options. |
| The Inverse Library | How named inverses work and how they reference Ifpack2 / MueLu / Amesos2 / Belos. |
| Block Preconditioner Reference | Exhaustive parameter tables for every built-in block preconditioner. |
| Navier–Stokes Preconditioners | SIMPLE, LSC, PCD, and the operators they require from the application. |
| Examples | Walkthroughs of the in-tree example drivers, with run instructions. |
| Advanced Topics | The RequestHandler callback system, reordering, operator reuse, and writing your own factory. |
| Cookbook | Common blocking, solver-composition, reuse, debugging, and multiphysics recipes. |

Teko preconditioners are configured through nested Teuchos::ParameterLists (equivalently, XML). There are three layers, from the outside in:
The next page walks through this model with a complete example.