WebTrilinos is a web-based interface to Trilinos, or a portal to the Trilinos world. It is composed by three modules, contained in three separate directories:
  1. MatrixPortal, which is the matrix-testing environment;
  2. a C++ module, which allows the testing of C++ programs;
  3. a Python module, which allows the testing of PyTrilinos programs.

The goal of WebTrilinos is to make the usage of Trilinos (and PyTrilinos) as easy as possible. As such, WebTrilinos is targeted to new users, or to those who want to get a taste of Trilinos and its components without the hassles of downloading and installing it. Clearly, don't expect to unleash the full Trilinos power through WebTrilinos: the entire code (or script, for PyTrilinos) must be contained in the text form of the web page. However, if you are starting with Trilinos, or if you want to teach Trilinos, then you get enough flexibility to show the usage of algorithms to your students, without the need to install Trilinos on each student's machine.

If your focus are sparse linear system, you can experiment with various solution techniques, like direct solvers, Krylov solvers, relaxation preconditioners, incomplete factorizations, multilevel smoothed aggregation methods, in an easy-to-use way. You can either use the Galeri problem generator, or upload linear systems using the Harwell/Boeing format, or a custom XML matrix format.

A simplified workflow for WebTrilinos is reported in the figure below; note that, in the current implementation, the server and solver are hosted on the same machine.


We now give an overview of the MatrixPortal module of WebTrilinos. With MatrixPortal, you define a set of linear problems and a set of methods to solve them, then you compare the solution phases, in order to evaluate (using a criterion you specified) the effectiveness of the solution methods.

Matrix Portal operates as a sequence of five steps, defined as follows:

  1. Step 1: Select Data is the definition of the linear system matrices. After step 1, you have one or more ProblemID's or labels, and each of them identifies the linear problem you want to analyze or solve.
  2. Step 1C: Check Data (optional) is a simple, optional check on the selected data, aiming to verify the matrix dimension and nonzeros. You can also give a look to the sparsity pattern of the matrix.
  3. Step 2: Select Parameters defines the parameters for the Krylov accelerators, like CG and GMRES, and the preconditioners. You can choose among polynomial preconditioners, relaxation preconditioners like Jacobi, Gauss-Seidel and symmetric Gauss-Seidel, incomplete factorizations, and multilevel preconditioners. You also have to specify an evaluation criterion, in order to evaluate the different solvers. Typical evaluation parameters are the CPU time for the solution, or the iterations to converge, or the estimated condition number.
  4. Step 3: Compute performs all the computations and reports the result on the web browser. In this phase, each result is given a label, and as such is recordered.
  5. Step 4: Check Results collects the results and offers tools to analyze and compare them. A simple tool is given, to generate a bar chart for selected data. From here, you can go back to step 1 and select new problems, or go to step 2 and select new solution techniques for already defined problems.

You can move across these steps as shown in the following picture:


An overview of the installation procedure is reported in the FAQ page.