Trilinos provides abstract, object-oriented interfaces to established libraries such as PETSc, Metis/ParMetis, SuperLU, Aztec, BLAS, and LAPACK.

Note:The Trilinos module is dependent on thepetsc,xt-libsci, andxt-asyncpemodules. Make certain these modules are loaded before using Trilinos.

The Trilinos Project is an ongoing effort to develop and implement robust algorithms and enabling technologies using modern object-oriented software design. Trilinos emphasizes abstract interfaces for maximum component interchangeability and provides a full-featured set of concrete classes that implement all abstract interfaces. Each Trilinos package is a self-contained and independently developed piece of software.

To use the Trilinos packages, load your choice of compiling environment, and then load the Trilinos module.

% |

After you load the Trilinos module, all header and library locations are set automatically and you are ready to compile your code. No Trilinos-specific linking information is required on the command line. For example, to use the Epetra library, use a compiler command line like the following example.

% |

If linking to more than one Trilinos package, the libraries are linked automatically in the correct order of package dependency. For more information about link order, see http://trilinos.sandia.gov/packages/interoperability.html.

The following packages are incorporated into this release of Trilinos.

Sacado | A set of automatic differentiation tools for C++ applications, Sacado provides templated classes for forward, reverse, and Taylor mode automatic differentiation. |

Moertel | Supplies capabilities for nonconforming mesh tying and contact formulations in 2- and 3-dimensions using Mortar methods. |

The following third-party libraries are enabled in this release of Trilinos.

BLAS | Basic Linear Algebra Subroutines. | |

CASK | A set of CRAY tuned sparse math kernels for basic linear algebra problems such as matrix multiplication and linear solves, with multiple right hand sides to replace the native Epetra calls. | |

LAPACK | Linear Algebra Package | |

METIS | A set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill-reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes developed at the University of Minnesota Digital Technology Center. For more information, see | |

ParMETIS | An MPI-based parallel version of METIS. For more information, see | |

MUMPS | (MUltifrontal Massively Parallel spare direct Solver); a package of parallel, sparse, and direct linear-system solvers based on a multifrontal algorithm. For more information, see | |

SuperLU | A general purpose library of sequential routines for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines, developed at Lawrence Berkeley National Laboratory. For more information, see | |

SuperLU_dist | A parallel version of SuperLU for use on distributed-memory systems. |

The Trilinos Project home page: `http://trilinos.sandia.gov/`

Trilinos Documentation: `http://trilinos.sandia.gov/documentation.html`

Trilinos Package Interoperability: `http://trilinos.sandia.gov/packages/interoperability.html`