Giter VIP home page Giter VIP logo

kulkarnihrishikesh / airfrans Goto Github PK

View Code? Open in Web Editor NEW

This project forked from extrality/airfrans

0.0 0.0 0.0 3.98 MB

In this repository, you will find the different python scripts to train the available models on the AirfRANS dataset proposed at the NeurIPS 2022 Datasets and Benchmarks Track conference.

License: Open Data Commons Open Database License v1.0

Python 87.15% Jupyter Notebook 12.85%

airfrans's Introduction

AirfRANS

In this repository, you will find the different python scripts to train the available models on the AirfRANS dataset proposed at the NeurIPS 2022 Datasets and Benchmarks Track conference. You can find the paper here. Disclaimer: An important update correcting an inconsistency in the Machine Learning experiments proposed in the main part of the NeurIPS version of the paper has been done. Please refer to the ArXiv version for the up to date version.

Requirements

  • Python 3.9.12
  • PyTorch 1.11.0 with CUDA 11.3
  • PyTorch Geometric 2.0.4
  • PyVista 0.36.1
  • Seaborn 0.11.2

Training

To train a model, run main.py with the desired model architecture:

python main.py GraphSAGE -t full

Note that you must have the dataset in folder Dataset/ at the root of this repository, you can download the dataset here. You can change the parameters of the models and the training in the params.yaml file.

Usage

usage: main.py [-h] [-n NMODEL] [-w WEIGHT] [-t TASK] [-s SCORE] model

positional arguments:
  model                 The model you want to train, choose between MLP, GraphSAGE, PointNet, GUNet

optional arguments:
  -h, --help            show this help message and exit
  -n NMODEL, --nmodel NMODEL
                        Number of trained models for standard deviation estimation (default: 1)
  -w WEIGHT, --weight WEIGHT
                        Weight in front of the surface loss (default: 1)
  -t TASK, --task TASK  Task to train on. Choose between "full", "scarce", "reynolds" and "aoa"
                        (default: full)
  -s SCORE, --score SCORE
                        If you want to compute the score of the models on the associated test set.
                        (default: 0)

For example, if you want to train two MLP models on the scarce data regime task and compute the scores of both models on the associated test set, you will have to run:

python main.py MLP -t scarce -n 2 -s 1

Results

After training a model, the different training plots and training logs will be at the root of the metrics folder. The scores of the trained model on the associated test set are written in the folder scores/TASK/. The visualization of the force coefficients plot and the boundary layers can be generated via the notebook visualization.ipynb. You can find the scores and the plots given in the paper here. The dataset statistics can also be generated via the notebook dataset_stats.ipynb.

Citation

Please cite this paper if you use this dataset in your own work.

@inproceedings{
bonnet2022airfrans,
title={Airf{RANS}: High Fidelity Computational Fluid Dynamics Dataset for Approximating Reynolds-Averaged Navier{\textendash}Stokes Solutions},
author={Florent Bonnet and Jocelyn Ahmed Mazari and Paola Cinnella and Patrick Gallinari},
booktitle={Thirty-sixth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
year={2022},
url={https://arxiv.org/abs/2212.07564}
}

airfrans's People

Contributors

florentextrality avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.