PyTorch
English
OneScience
fluid-dynamics
aerodynamic-surrogate
neural-field

MARIO

Model Introduction

MARIO is a resolution-independent aerodynamic surrogate developed by researchers affiliated with ISAE-SUPAERO. It rapidly predicts velocity, pressure, turbulent viscosity, and surface-pressure distributions for different geometries and flight conditions.

This repository is an independent OneScience reproduction of the AirfRANS field-prediction experiment from the MARIO paper.

Paper: MARIO: A Modulated Neural Field Framework for Resolution-Independent Surrogate Modeling of Aerodynamics

Model Description

MARIO uses a modulation-conditioned neural-field architecture trained on two-dimensional AirfRANS airfoil data to predict steady aerodynamic fields across mesh resolutions.

Intended Uses

Use case Description
2D airfoil surrogate Predict velocity, pressure, and turbulent viscosity for AirfRANS-style steady RANS cases.
Unstructured-mesh querying Sample points during training and query complete meshes in chunks during inference.
Surface-pressure evaluation Report surface-pressure MSE to analyze near-wall and aerodynamic-force errors.
Hugging Face/OneCode execution Download the standalone package and run the provided scripts.

Usage

1. OneCode

Launch the OneCode AI-for-Science environment

2. Manual Setup

Hardware requirements

  • A GPU or DCU is recommended.
  • A CPU can run imports and small connectivity checks, but full training and inference will be slow.
  • DCU users should install DTK 25.04.2 or later, or the OneScience-recommended version for the cluster.

Download the model repository from Hugging Face

pip install -U huggingface_hub
hf download OneScience-Group/MARIO --local-dir ./MARIO
cd MARIO

Install the runtime environment

DCU environment

# Activate DTK first.
conda create -n onescience311 python=3.11 -y
conda activate onescience311
pip install onescience[cfd-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai

GPU environment

conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai

Download the training dataset from Hugging Face

hf download OneScience-Group/airfrans --repo-type dataset --local-dir ./data

After downloading, update these entries in config/config.yaml:

  • paths.data_root: the AirfRANS root containing manifest.json and the simulation samples.
  • paths.project_root: the absolute path to this MARIO project.

Train

Run the full two-stage experiment, including SDF geometry-encoder training and flow-field-decoder training:

python scripts/train.py --config config/config.yaml

Geometry-encoding loss, flow-field loss, and per-field MSE are printed during training. The full experiment uses the 200 training samples from the AirfRANS scarce task and trains the geometry encoder and field decoder for 1,000 epochs each.

Pretrained weights

The repository includes weight/best_model.pth, trained on AirfRANS.

Inference and visualization

python scripts/inference.py --config config/config.yaml

For each sample, inference reports SDF reconstruction error, normalized MSE for each physical field, surface-pressure MSE, aerodynamic coefficients, and runtime. Results are saved under results/.

Generate field-prediction, ground-truth, absolute-error, surface-pressure, and paper-comparison figures with:

python scripts/result.py --config config/config.yaml

Citation and License

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train OneScience-Group/MARIO

Paper for OneScience-Group/MARIO