Open-source CFD automation

Automate your code_saturne
simulation campaigns

Define your parameter space in a CSV. Generate hundreds of cases from one template. Launch locally or on Slurm. Monitor convergence, errors, and performance in real time.

Get Started View on GitHub
127.0.0.1:8000

code_saturne is a general-purpose open-source CFD solver developed by EDF R&D since 1997. It is used across energy, nuclear, hydraulic, environmental, HVAC, and industrial applications by researchers and engineers worldwide.

RANS, LES, DES, laminar
Heat transfer, radiation, conjugate coupling
Combustion (diffusion, premixed, pulverized coal, fire)
VoF multiphase, Lagrangian particle tracking
Atmospheric flows, pollutant dispersion
Magnetohydrodynamics
Turbomachinery (sliding mesh)
Unstructured meshes (tetra, hexa, polyhedra, hybrid)
Massively parallel: MPI + OpenMP + GPU
1997
First release
500+
Users worldwide
GPL-2.0
Open-source
What csauto does
The missing automation layer for code_saturne simulation campaigns

Batch case generation

One CSV + one template = hundreds of cases. Placeholder syntax with conditionals for maximum flexibility.

Convergence monitoring

Track residuals across all cases in real time. Spot diverging or stalled simulations before they waste compute hours.

Probe and profile monitoring

Visualize probe signals and profile data for all cases from the dashboard. Compare trends across your parameter study.

Error and warning detection

Automatic log scanning detects errors, warnings, and anomalies. Clear diagnostic without digging through log files.

Compute time tracking

Performance metrics from solver logs: elapsed time, iteration count, time per iteration. Identify bottlenecks across cases.

Multi-run comparison

Compare input files and results side by side between cases. Identify parameter impacts across your study.

Checkpoint and restart

Automatic checkpoint detection. Restart any case from its last saved state with one click.

Multi-runtime and Slurm

Run natively, via Docker, or Singularity/Apptainer. Submit to Slurm clusters with a single command.

Lightweight

Core CLI runs on Python 3.11+ standard library alone. The web dashboard only adds FastAPI and uvicorn.

How it works
From parameter table to monitored simulations
1

Prepare

Define your DOE in a CSV file and create a template directory with placeholders.

2

Launch

Generate all cases and run them locally, in Docker, Singularity, or on Slurm.

3

Monitor

Track convergence, errors, and performance from the real-time web dashboard.

Get started in 3 commands
From zero to a running campaign
$ csauto prepare doe.csv TEMPLATE RUNS
$ csauto doctor RUNS
$ csauto serve RUNS
Install in one line
Python 3.11+ required. Zero external dependencies for core features.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/simvia-tech/csauto/main/install.sh)"
Works on Linux and macOS. GPL-3.0 license.
Frequently asked questions
What is csauto?
csauto is an open-source Python tool that automates code_saturne CFD simulation campaigns. It covers the full workflow: batch case generation from a Design of Experiments (DOE) CSV file, execution on local machines or HPC clusters via Slurm, and real-time monitoring of residual convergence, probe signals, solver errors, and compute performance through a web dashboard.
How do I run a parametric study with code_saturne?
Define your parameter combinations in a CSV file (one row per case, one column per parameter). Create a template case directory where input files use placeholders like {u_inlet} or {turbulence_model}. Run csauto prepare doe.csv TEMPLATE RUNS to generate all cases, then csauto serve RUNS to launch and monitor them from a single web interface.
Does csauto work with Slurm, Docker, and Singularity?
Yes. csauto supports four execution backends: native code_saturne binary, Docker containers, Singularity/Apptainer images (common on HPC clusters), and automatic detection of the best available runtime. Slurm job submission is built in via sbatch, with job status tracked through squeue.
How does csauto monitor simulation convergence?
The web dashboard plots residuals and probe signals in real time for all running cases. You can identify diverging, stalled, or converged simulations at a glance, mark convergence status, and compare residual histories across cases side by side.
How many simulation cases can csauto handle?
csauto can generate and manage hundreds of cases from a single CSV and template directory. Each row in your DOE file becomes a fully resolved simulation case with its own input files, logs, and results.
What are the system requirements?
Python 3.11 or higher and at least one code_saturne runtime: a native binary installed on your machine, a Docker image, or a Singularity/Apptainer .sif image. The core CLI has zero external Python dependencies. The web dashboard adds only FastAPI and uvicorn.
Can I compare results between simulation cases?
Yes. csauto provides side-by-side comparison of input files, residual curves, probe data, and performance metrics between any two cases. This helps identify the impact of specific parameter changes across your study.
Comment automatiser des simulations code_saturne ?
Avec csauto, vous definissez vos parametres dans un fichier CSV (plan d'experiences), creez un repertoire template avec des marqueurs de substitution, puis lancez csauto prepare pour generer tous les cas. csauto serve demarre ensuite un tableau de bord web pour lancer, surveiller et comparer les simulations en temps reel.
Is csauto free and open-source?
Yes. csauto is released under the GPL-3.0 license and developed by Simvia SAS. The source code is available on GitHub. code_saturne itself is also open-source under GPL-2.0, developed by EDF R&D.