next up previous contents index
Next: Use: Up: 7 Solvers and Preconditioners Previous: 7 Solvers and Preconditioners

Setup:

  1. Pass to the solver the information defining the problem. In the typical user cycle, the user has passed this information into a matrix through one of the conceptual interfaces prior to setting up the solver. In this situation, the problem definition information is then passed to the solver by passing the constructed matrix into the solver. As described before, the matrix and solver must be compatible, in that the matrix must provide the services needed by the solver. Krylov solvers, for example, need only a matrix-vector multiplication. Most preconditioners, on the other hand, have additional requirements such as access to the matrix coefficients.
  2. Choose parameters for the preconditioner and/or solver. Parameters are chosen through the Set() calls provided by the solver. As is true throughout HYPRE, all parameters have reasonable defaults if not chosen. Note that in HYPRE, convergence criteria can be chosen after the preconditioner/solver has been setup.
  3. Pass the preconditioner to the solver. For solvers that are not preconditioned, this step is omitted. The preconditioner is passed through the SetPreconditioner() call.
  4. Set up the solver. This is just the Setup() routine.

At this point, the solver/preconditioner is fully constructed and ready for use.


next up previous contents index
Next: Use: Up: 7 Solvers and Preconditioners Previous: 7 Solvers and Preconditioners

Thomas Treadway
Fri Jul 27 10:01:25 PDT 2001