Trilinos Area Leads
In the Trilinos project, Area Leads play a vital role in overseeing specific areas or components of the software framework. They are responsible for coordinating the needs and requirements of stakeholders, facilitating requests, and managing inter-package interactions. By actively engaging with the community, Area Leads gather valuable feedback to ensure that the packages effectively meet user needs.
Additionally, they are instrumental in creating and maintaining comprehensive documentation for their packages, as well as providing essential support to users. With significant expertise in their respective fields, Area Leads contribute to the strategic direction of the Trilinos project. Their efforts are crucial for the ongoing development, maintenance, and enhancement of Trilinos packages, ensuring that the software remains both relevant and of high quality.
The Trilinos packages are organized into four main areas: Core, Solvers, Discretization and Analysis, and DevSecOps.
Core Area
- Description: This area includes packages that provide basic capabilities utilized by many applications and other packages.
- Lead: Roger Pawlowski @rppawlo
Status* | Package | Description |
✅ | Galeri | A suite of utilities and classes to generate a variety of (distributed) linear systems. |
✅ | Kokkos | Performance portability library. |
✅ | PAMGEN | Creates hexahedral or quadrilateral (in 2D) finite element meshes of simple shapes (cubes and cylinders) in parallel. |
✅ | PyTrilinos2 | Replacement for PyTrilinos. |
✅ | RTop | Provides the basic mechanism for implementing vector operations in a flexible and efficient manner. |
📸 | SEACAS | A suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format. |
✅ | Teuchos | Provides a suite of common tools for Trilinos developers, including BLAS and LAPACK wrappers, smart pointers, parameter lists, and XML parsers. |
🛠️ | Tpetra | Implements linear algebra objects, including sparse graphs, sparse matrices, and dense vectors, with facilities for parallel data redistribution. |
✅ | Thyra | Abstract linear solver package providing a foundation for writing linear and nonlinear abstract numerical algorithms. |
✅ | Zoltan | A toolkit of parallel services for dynamic, unstructured, and/or adaptive simulations, providing load balancing and related services. |
✅ | Zoltan2 | A package for load balancing and combinatorial scientific computing, viewed as a successor to Zoltan and Isorropia. |
Solvers Area
- Description: This area includes packages that provide preconditioners, linear/nonlinear solvers, and eigen solvers.
- Lead: Jonathan Hu @jhux2
Status* | Package | Description |
✅ | Adelus | Performs LU factorization with partial pivoting and solves for a dense linear equation system on a distributed computing system using MPI. |
✅ | Amesos2 | Direct solver library interface in Trilinos, providing interfaces to third-party direct solvers for templated matrices and vectors. |
✅ | Anasazi | An extensible and interoperable framework for large-scale eigenvalue algorithms. |
✅ | Belos | Next-generation iterative solvers written using a traits interface, compatible with any linear algebra library implementing Thyra abstract interfaces. |
✅ | Ifpack2 | Provides incomplete factorizations, relaxations, and domain decomposition operators for linear algebra objects provided by the Tpetra package. |
🛠️ | Muelu | Designed to solve large sparse linear systems of equations arising from PDE discretizations, providing multigrid solvers and preconditioners. |
✅ | ShyLU | Package for solving sparse linear systems using domain decomposition methods, focusing on distributed memory and node-level solvers. |
✅ | Stratimikos | Contains a unified set of Thyra-based wrappers to linear solver and preconditioner capabilities in Trilinos. |
✅ | Teko | Brings together multiple physics to form one preconditioner. |
✅ | Xpetra | A lightweight wrapper to both the Epetra and Tpetra linear algebra libraries, mirroring Tpetra's syntax. |
Discretization and Analysis Area
- Description: This area includes packages that provide modular, interoperable, and extensible tools, often built on packages from the Core and Solvers Areas. Provides modular, interoperable and extensible tools for the discretization of integral and differential equations, and includes tools for mesh-based discretizations such as finite element analysis as well as meshless discretization such as generalized moving least squares.
- Lead: Mauro Perego @mperego
Status* | Package | Description |
✅ | Compadre | Toolkit for meshless discretizations enabling the solution of differential equations and data transfer. |
🛠️ | Intrepid2 | Performance portable tools for the local assembly of high-order compatible finite element discretizations. |
📸 | Krino | Tools for computing and reinitializing signed distance fields and creating unstructured STK meshes that conform to level set fields. |
✅ | MiniTensor | Tools for the manipulation and optimization of small vectors/tensors. |
✅ | Panzer | Package for performing finite element analysis. |
📸 | Percept | A collection of tools for mesh adaptation and data transfer to enable solution verification. |
✅ | Phalanx | DAG-based local field evaluation kernel designed for general partial differential equation solvers. |
✅ | Piro | Provides driver classes for common uses of Trilinos nonlinear analysis tools. |
🛠️ | ROL | Next-generation package for large-scale optimization, solving optimal design, control, and inverse problems. |
✅ | Sacado | Package for automatic differentiation of C++ programs, providing classes for forward, reverse, and Taylor polynomial mode. |
✅ | Shards | Topology data for mesh-based discretization of differential equations. |
📸 | STK | Supports massively parallel multi-physics computations on dynamically changing unstructured meshes. |
✅ | Stokhos | Package for intrusive stochastic Galerkin uncertainty quantification methods. |
✅ | Tempus | Time-integration framework for advanced transient analysis, including various time integrators. |
✅ | TrilinosCouplings | A collection of interfaces between packages. |
DevSecOps Team
- Description: Provides streamlined processes and a set of tools for the development of Trilinos packages.
- Lead: Sam Browne @sebrowne
- Responsibilities:
- Implements various development, testing, automation tools, and IT infrastructure.
- Defines and sets development, test, release, update, and support processes.
- Organizes and maintains the Trilinos release process.
- Team Members:
- Anderson Chauphan @achauphan
- Joe Frye @fryeguy52
- Justin LaPre @jmlapre
Package Status*
- 🛠️ Actively Developed
- ✅ Supported Package
- ⚠️ Planned Archival/Deprecation
- 📸 Snap-shotted Package
- ⛔ Archived/Deprecated Package