ABLATE Ablative Boundary Layers At The Exascale

Version 0.12.30

ABLATE is a UB CHREST project focused on leveraging advances in both exascale computing and machine learning to better understand the turbulent mixing and fuel entrainment in the combustion environment that is critical to the operation of hybrid rocket motors.

The ABLATE documentation that should contain:

  • building/running the framework
  • physics overview and assumptions
  • development guides

Getting Started

New to Ablate? Get up and running with the Getting Started Guide.

Repository Layout

src

AblateLibrary is a c++ library used to set up and run simulations. It is built provides a level of abstraction that simplifies setting up complex simulations. Details of the code structure can be found in Source Documentation.

tests

The test directory holds four sub-test projects, each focused on a different aspect of testing.

  • tests/testingResources: testingResources build a library used by the other testing projects. This includes helper classes for running mpi based tests
  • tests/unitTests: includes unit tests for the core ABLATE functionality
  • tests/integrationTests: integration level tests built upon the ablateLibrary parser and runs during every pull request process
  • tests/regressionTests: larger tests that may take hours to solve but serve as real examples of using ABLATE. These are not automatically run as part of the pull request process, instead run weekly to check functionality

docs

The Markdown documents for ablate. These are build with Jekyll and published automatically upon merge. Follow the Quickstart steps to preview your changes locally.

Status

Status of the automated build/development/deployment pipelines for ABLATE and associated dependencies.

Workflow Status & Description
PETSc Docker Dependency PETSc Docker Dependency
Builds a docker image with the latest version of PETSc main branch used for ABLATE automated testing. The latest version tested against ABLATE is PETSc 3.21.0 g294d14d .
TensorFlow Docker Dependency TensorFlow Docker Dependency
Builds a docker image with the latest version of TensorFlow used for ABLATE automated testing.
ABLATE Docker Dependency ABLATE Docker Dependency
Combines the required build dependencies for ABLATE into a single image for automated testing and local development.
ABLATE Tag Version Workflow Tag Version Workflow
Tags the post-merge commit
ABLATE.dev Deployment Deploy ABLATE.dev workflow
Deploys the latest documentation to ABLATE.dev
Automated Regression Testing Regression Tests
Automated regression testing workflow that tests larger/longer real world ABLATE simulations
Automated ASAN Testing Automated ASAN Test Workflow
Automated ASAN testing workflow that tests with AddressSanitizer enabled.

Acknowledgements

This research is funded by the United States Department of Energyโ€™s (DoE) National Nuclear Security Administration (NNSA) under the Predictive Science Academic Alliance Program III (PSAAP III) at the University at Buffalo, under contract number DE-NA000396