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 three main areas: Core, Solvers, and Discretization and Analysis. Additionally, the DevSecOps team handles the Continuous Integration and Continuous Deployment (CI/CD) processes for Trilinos.
Core Area
- Description: This area includes packages that provide basic capabilities utilized by many applications and other packages.
- Lead: Roger Pawlowski @rppawlo
| Package | Description | Documentation | GitHub | Team and Lead |
|---|---|---|---|---|
| Galeri | A suite of utilities and classes to generate a variety of (distributed) linear systems. | Galeri Doxygen | Galeri | @galeri and Jonathan Hu (@jhux2) |
| Kokkos | Performance portability library. | Kokkos documentation | Kokkos | Kokkos team |
| Kokkos Kernels | Mathematical Kernels for Node-Local Computations | Kokkos Kernels documentation | Kokkos Kernels | Kokkos team |
| PAMGEN | Creates hexahedral or quadrilateral (in 2D) finite element meshes of simple shapes (cubes and cylinders) in parallel. | PAMGEN documentation | PAMGEN | @pamgen and Roger Pawlowski (@rppawlo) |
| PyTrilinos2 | Python interfaces to several Trilinos packages. | N/A | PyTrilinos2 | @pytrilinos2 and Christian Glusa (@cgcgcg) |
| RTOp | Provides the basic mechanism for implementing vector operations in a flexible and efficient manner. | RTOp Doxygen | RTOp | @rtop and Roscoe A. Bartlett (@bartlettroscoe) |
| SEACAS | A suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format. | SEACAS Documentation | SEACAS | @seacas and Tolu Okusanya (@tokusanya) |
| Teuchos | Provides a suite of common tools for Trilinos developers, including BLAS and LAPACK wrappers, smart pointers, parameter lists, and XML parsers. | Teuchos Doxygen | Teuchos | @teuchos and Roger Pawlowski (@rppawlo) |
| Tpetra | Implements linear algebra objects, including sparse graphs, sparse matrices, and dense vectors, with facilities for parallel data redistribution. | Tpetra Doxygen | Tpetra | @teuchos and Chris Siefert (@csiefer2) |
| Thyra | Abstract linear solver package providing a foundation for writing linear and nonlinear abstract numerical algorithms. | Thyra Doxygen | Thyra | @thyra and Roscoe A. Bartlett (@bartlettroscoe) |
| Zoltan | A toolkit of parallel services for dynamic, unstructured, and/or adaptive simulations, providing load balancing and related services. | Zoltan documentation | Zoltan | @zoltan and Erik Boman (@egboman) |
| Zoltan2 | A package for load balancing and combinatorial scientific computing, viewed as a successor to Zoltan and Isorropia. | Zoltan2 Doxygen | Zoltan2 | @zoltan2 and Erik Boman (@egboman) |
Solvers Area
- Description: This area includes packages that provide preconditioners, linear/nonlinear solvers, and eigen solvers.
- Lead: Jonathan Hu @jhux2
| Package | Description | Documentation | GitHub | Team | Team Lead |
| Adelus | Performs LU factorization with partial pivoting and solves for a dense linear equation system on a distributed computing system using MPI. | N/A | Adelus | @adelus | Vinh Dang (@vqd8a) |
| Amesos2 | Direct solver library interface in Trilinos, providing interfaces to third-party direct solvers for templated matrices and vectors. | Amesos2 Doxygen | Amesos2 | @amesos2 | Ichi Yamazaki (@iyamazaki) |
| Anasazi | An extensible and interoperable framework for large-scale eigenvalue algorithms. | Anasazi Doxygen | Anasazi | @anasazi | Heidi Thornquist (@hkthorn) |
| Belos | Next-generation iterative solvers written using a traits interface, compatible with any linear algebra library implementing Thyra abstract interfaces. | Belos Doxygen | Belos | @belos | Heidi Thornquist (@hkthorn) |
| Ifpack2 | Provides incomplete factorizations, relaxations, and domain decomposition operators for linear algebra objects provided by the Tpetra package. | Ifpack2 Doxygen | Ifpack2 | @ifpack2 | Chris Siefert (@csiefer2), Jonathan Hu (@jhux2) |
| MueLu | Designed to solve large sparse linear systems of equations arising from PDE discretizations, providing multigrid solvers and preconditioners. | MueLu Doxygen | MueLu | @muelu | Jonathan Hu (@jhux2) |
| ShyLU | Package for solving sparse linear systems using domain decomposition methods, focusing on distributed memory and node-level solvers. | ShyLU Doxygen | ShyLU | @shylu | Ichi Yamazaki (@iyamazaki) |
| Stratimikos | Contains a unified set of Thyra-based wrappers to linear solver and preconditioner capabilities in Trilinos. | Stratimikos Doxygen | Stratimikos | @stratimikos | Roscoe A. Bartlett (@bartlettroscoe) |
| Teko | Brings together multiple physics to form one preconditioner. | Teko Doxygen | Teko | @teko | Malachi Phillips (@MalachiTimothyPhillips) |
| Xpetra | A lightweight wrapper to both the Epetra and Tpetra linear algebra libraries, mirroring Tpetra's syntax. | Xpetra Doxygen | Xpetra | @xpetra | Jonathan Hu (@jhux2) |
Discretization and Analysis Area
- Description: This area features packages that offer modular, interoperable, and extensible tools, often build upon the capabilities provided by the Core and Solvers areas. These tools support the discretization of integral and differential equations, including both mesh-based approaches (e.g., finite element analysis), and meshless methods (e.g., generalized moving least squares).
- Lead: Mauro Perego @mperego
| Package | Description | Documentation | GitHub | Team | Team Lead |
| Compadre | Toolkit for meshless discretizations enabling the solution of differential equations and data transfer. | Compadre Doxygen | Compadre | @compadre | Paul Kuberry (@kuberry) |
| Intrepid2 | Performance portable tools for the local assembly of high-order compatible finite element discretizations. | Intrepid2 Doxygen | Intrepid2 | @intrepid2 | Mauro Perego (@mperego) |
| Krino | Tools for computing and reinitializing signed distance fields and creating unstructured STK meshes that conform to level set fields. | N/A | Krino | @krino | David Noble (@drnobleabq) |
| MiniTensor | Tools for the manipulation and optimization of small vectors/tensors. | MiniTensor Doxygen | MiniTensor | @minitensor | Alejandro Mota (@lxmota) |
| Panzer | Package for performing finite element analysis. | Panzer Doxygen | Panzer | @panzer | Roger Pawlowski (@rppawlo) |
| Percept | A collection of tools for mesh adaptation and data transfer to enable solution verification. | N/A | Percept | @percept | Roger Pawlowski (@rppawlo), Brian Carnes |
| Phalanx | DAG-based local field evaluation kernel designed for general partial differential equation solvers. | Phalanx Doxygen | Phalanx | @phalanx | Roger Pawlowski (@rppawlo) |
| Piro | Provides driver classes for common uses of Trilinos nonlinear analysis tools. | Piro Doxygen | Piro | @piro | Mauro Perego (@mperego) |
| ROL | Next-generation package for large-scale optimization, solving optimal design, control, and inverse problems. | ROL Doxygen | ROL | @rol | Denis Ridzal (@dridzal) |
| Sacado | Package for automatic differentiation of C++ programs, providing classes for forward, reverse, and Taylor polynomial mode. | Sacado Doxygen | Sacado | @sacado | Eric Phipps (@etphipp) |
| Shards | Topology data for mesh-based discretization of differential equations. | Shards Doxygen | Shards | @shards | Mauro Perego (@mperego) |
| STK | Supports massively parallel multi-physics computations on dynamically changing unstructured meshes. | STK Manual | STK | @stk | STK Team (@stk) |
| Stokhos | Package for intrusive stochastic Galerkin uncertainty quantification methods. | Stokhos Doxygen | Stokhos | @stokhos | Eric Phipps (@etphipp) |
| Tempus | Time-integration framework for advanced transient analysis, including various time integrators. | Tempus Doxygen | Tempus | @tempus | Curtis Ober (@ccober6) |
| TrilinosCouplings | A collection of interfaces between packages. | Trilinos Couplings Doxygen | Trilinos Couplings | @trilinoscouplings | Mauro Perego (@mperego) |
