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)