The repository or configuration that created this release differ from a previous release. View details.
Atlas Engine
Atlas is a C++20 particle simulation engine for rarefied-gas flows using direct simulation Monte Carlo (DSMC). It runs on CPUs through TBB or NVIDIA GPUs through CUDA. The Python package exposes the same core simulation objects, while the native Interactive subsystem provides JSONL control and OpenGL rendering.
Atlas includes:
- hard-sphere, variable hard sphere (VHS), and variable soft sphere (VSS) collision models;
- analytic shapes and OBJ triangle meshes;
- configurable particle sources, generators, colliders, and sinks;
- per-particle and per-cell state with protobuf snapshots;
- owned NumPy snapshots through the Python binding;
- native headless simulation control and real-time particle rendering.
Choose a workflow
| Goal | Start here |
|---|---|
| Run Atlas in a container | Docker quick start |
| Install and use the Python package | Python |
| Build a native C++ simulation | C++ |
| Run JSONL control or the OpenGL window | Interactive |
| Compare the maintained cylinder case across all frontends | Examples |
Clone the repository with its build dependencies:
git clone --recurse-submodules https://github.com/Wontae-Lee/atlas-engine-dev.git
cd atlas-engine-dev
If the repository is already cloned, initialize dependencies with
git submodule update --init --recursive.
Docker
Build and run the bundled Python cylinder case on TBB:
docker build --target tbb -t atlas:tbb .
docker run --rm atlas:tbb \
python /opt/atlas/examples/python/main.py cylinder 40
For CUDA, the host needs an NVIDIA driver and NVIDIA Container Toolkit:
docker build --target cuda -t atlas:cuda .
docker run --rm --gpus all atlas:cuda \
python /opt/atlas/examples/python/main.py cylinder 40
The runtime images also contain the native Interactive executables. Published image tags, Ubuntu variants, GPU/display access, and development images are covered by the Docker guide.
Python
Atlas is distributed as atlas-engine and imported as atlas. A local TBB
source installation on Ubuntu needs a C++ toolchain, CMake, Ninja, TBB, and
Python development headers:
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build git libtbb-dev python3-dev python3-venv
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install . -C cmake.define.ATLAS_DEVICE_SYSTEM=TBB
Select an installed engine before importing native classes, then construct and advance the core objects directly:
import atlas
import numpy as np
atlas.set_default_engine("tbb")
from atlas import Float3, Fluid, System, Universe
fluid = Fluid.from_arrays(
np.array([[0.25, 0.5, 0.5]], dtype=np.float32),
np.array([[1.0, 0.0, 0.0]], dtype=np.float32),
)
universe = Universe(Float3(0), Float3(1), cell_size=0.5)
universe.set_state(
"number_particle", np.zeros(universe.cell_count, dtype=np.float32)
)
system = System(fluid, universe, dt=0.01)
for _ in range(10):
system.update()
print(system.fluid.positions())
Run the maintained DSMC case with:
python examples/python/main.py cylinder 40
Engine selection, wheel construction, NumPy ownership, and binding layout are documented in the Python guide.
C++
Build and run the native cylinder example with the TBB backend:
cmake --preset tbb-gcc-release -DATLAS_EXAMPLES=ON
cmake --build build/tbb-gcc-release --target atlas_example
./build/tbb-gcc-release/examples/cpp/atlas_example cylinder 40
Use the cuda-release preset for the CUDA backend. Atlas public C++ types are
in the atlas:: namespace and can be included through <atlas/atlas.h>. The
examples guide explains the entry points, templates, and
case layout.
Interactive
The headless atlas-interactive executable accepts newline-delimited JSON
commands and can initialize a simulation from a JSON case:
cmake -S . -B build/interactive-headless-tbb -G Ninja \
-DATLAS_DEVICE_SYSTEM=TBB \
-DATLAS_INTERACTIVE=ON \
-DATLAS_INTERACTIVE_RENDERING=OFF \
-DATLAS_PYTHON=OFF \
-DATLAS_EXAMPLES=OFF \
-DATLAS_BENCHMARKS=OFF
cmake --build build/interactive-headless-tbb --target atlas-interactive-app
./build/interactive-headless-tbb/src/interactive/atlas-interactive \
--config examples/interactive/cases/cylinder.json
For the native OpenGL window:
sudo apt-get install -y libgl1-mesa-dev libglew-dev libglfw3-dev libglm-dev
cmake --preset tbb-application-release
cmake --build build/tbb-application-release --target atlas-interactive-example
./build/tbb-application-release/examples/interactive/atlas-interactive-example cylinder 40
With rendering enabled, atlas-interactive accepts render_open and
render_close JSONL commands for an existing session. Closing the window leaves
that session alive. The Interactive guide
documents configuration, commands, rendering, and backend state transfer.
Documentation
- Examples and adding a case
- Python binding
- Interactive execution and rendering
- Docker images
- Core architecture
- Core modules
- Build and contributor documentation
- CI behavior
- Release operations
Citation and license
If you use Atlas in research, cite the version used for your results. CITATION.cff contains the citation metadata for the current release. The concept DOI covers all releases.
Atlas is licensed under GPL-3.0-or-later.
Metadata
Release files for atlas-engine 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Change of provenance
The repository or configuration that created these release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| atlas_engine-0.2.0.tar.gz | 28.6 MB | With provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| atlas_engine-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| atlas_engine-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| atlas_engine-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| atlas_engine-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64 | Details |
| atlas_engine-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 39.3 MB
Release files / atlas_engine-0.2.0.tar.gz
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0.tar.gz |
|---|---|
| Size | 28.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb4397ca6b2a87ace84bc651e8bf7584b2c80188f2d8db253b4722c7d394d44d
|
|
BLAKE2b-256 checksum How to use checksums |
73638eb1ea12ec973c50b0fac56c8de7c3a0726ba31558c399c43d1d35f60805
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / atlas_engine-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9d6ed3a3adecfe88b9d630e9995d9aa96e4535416d9e170e58f30dbf66fd3fbb
|
|
BLAKE2b-256 checksum How to use checksums |
d1796843a09f9a30ac6c6c5e521045ae7f5febcc078248e6db403b31811fbffd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / atlas_engine-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
028b96957991c79e4e957d61a630c51666360a23e67e5fff487f9e145aadfa0c
|
|
BLAKE2b-256 checksum How to use checksums |
e84aada548c6f32735c489d46c36f3e470f111bf7984aa47431a04c24c023f8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / atlas_engine-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
81dc6af6a2f51407047e3e50edc8113cdc1db29d210f195543747f5155cb81d7
|
|
BLAKE2b-256 checksum How to use checksums |
c2a735b633acecefd2bf596782680f08cb8621a4f01357c7b42cc7f8a753fca6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / atlas_engine-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f9ff8ae4d416e913da8a606cd2a26c97bf1c8894ae350c06bfcc8ac1d339279f
|
|
BLAKE2b-256 checksum How to use checksums |
266cccc8896178b42e1888d3fd686b0c40fbdfd1d0e77fd75072d0d1be1a3e26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / atlas_engine-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | atlas_engine-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
87c6982dab350e07c5b19fbde623a7faa25e178de27e6d58ee817865ec1d6904
|
|
BLAKE2b-256 checksum How to use checksums |
d03e5f84ee39210f5c7229967bfd16487449353d39823c47fb8aa46a5849c56a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logSecurity for atlas-engine 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Change of provenance
The configuration that created this release differs from a previous release.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Configuration
- Removed 0.1.0 publish-python.yml
- Added 0.2.0 release.yml
Attestation for atlas_engine-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.