This page is under heavy construction.
Axom is a project in WCI/WSC that is funded by ECP/ATDM. Its principal goal is to provide a collection of robust and flexible software components that serve as building blocks for LLNL simulation tools. The emphasis is on sharing core infrastructure software amongst applications rather than having different codes develop and maintain similar capabilities.
A key objective of Axom is to facilitate integration of novel, forward-looking computer science capabilities into LLNL simulation codes. Thus, a central function of Axom is to enable and simplify data exchange between applications and tools that Axom provides. To meet these objectives, developers of Axom components emphasize the following features in software design and implementation:
- Flexibility to meet the needs of a diverse set of applications
- High-quality, with well designed APIs, good documentation, tested well, high performance, etc.
- Consistency in software engineering practices
- Integrability so that components work well together and are easily adopted by applications
The main drivers of the Axom project are to:
- Provide the CS infrastructure foundation of the ECP/ATDM multi-physics application at LLNL
- Support current ASC and other production applications and as they continue to evolve
- Provide capabilities for LLNL research codes, proxy apps, etc. that simplify technology transfer from research efforts into production applications
The Axom Quickstart Guide contains information about accessing the code, configuring and building, linking with an application, etc.
Axom Software Documentation¶
The following lists contain links to user guides and source code documentation for Axom software components:
- Slic (Simple Logging Interface Code)
- Lumberjack (Scalable parallel message logging and filtering)
- Sidre (Simulation data repository)
- Slam (Set-theoretic lightweight API for meshes)
- Spin (Spatial indexes)
- Quest (Querying on surface tool)
- Mint (Mesh data model)
- Primal (Computational geometry primitives)
Source Code Documentation¶
Look for documentation to appear for new components as they are developed.
Dependencies between modules are as follows:
- Core has no dependencies, and the other modules depend on Core
- Slic optionally depends on Lumberjack
- Slam, Spin, Primal, Mint, Quest, and Sidre depend on Slic
- Mint optionally depends on Sidre
- Quest depends on Slam, Spin, Primal, and Mint
The figure below summarizes the dependencies between the modules. Solid links indicate hard dependencies; dashed links indicate optional dependencies.
Other Tools Application Developers May Find Useful¶
Axom developers support other tools that can be used by software projects independent of the Axom. These include:
Communicating with the Axom Team¶
The project maintains two email lists:
- ‘email@example.com’ is how Axom users can contact developers for questions, report issues, etc.
- ‘firstname.lastname@example.org’ is for communication among team members.
We also have a chat room on LLNL’s Cisco Jabber instance called ‘Axom Dev’. It is open to anyone on the llnl network. Just log onto Jabber and join the room.
The main interaction hub for the Axom software is the Atlassian tool suite on the Livermore Computing Collaboration Zone (CZ). These tools can be accessed through the MyLC Portal.
Direct links to the Axom Atlassian projects/spaces are:
Access to Axom projects/spaces in these Atlassian tools requires membership in the axom group on LC systems. Please contact the team for group access by sending an email request to ‘email@example.com’.
Axom Copyright and License Information¶
Please see the Axom License.
Copyright (c) 2017-2019, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory.