meshGraphNets_pytorch icon indicating copy to clipboard operation
meshGraphNets_pytorch copied to clipboard

PyTorch implementations of Learning Mesh-based Simulation With Graph Networks

Learning Mesh-Based Simulation with Graph Networks

This repository contains PyTorch implementations of meshgraphnets for flow around circular cylinder problem on the basic of PyG (pytorch geometric).

The original paper can be found as following:

Pfaff T, Fortunato M, Sanchez-Gonzalez A, et al. Learning mesh-based simulation with graph networks[J]. International Conference on Learning Representations (ICLR), 2021.

Some code of this repository refer to Differentiable Physics-informed Graph Networks.

Authors


  • Jiang
  • Zhang
  • Chu
  • Qian
  • Li
  • Wang

Requirements


  • h5py==3.6.0
  • matplotlib==3.4.3
  • numpy==1.21.1
  • opencv_python==4.5.4.58
  • Pillow==9.1.0
  • torch==1.9.0+cu111
  • torch_geometric==2.0.4
  • torch_scatter==2.0.8
  • tqdm==4.62.3
pip install -r requirements.txt

Sample usage


  • Download cylinder_flow dataset using the script https://github.com/deepmind/deepmind-research/blob/master/meshgraphnets/download_dataset.sh.

  • Parse the downloaded dataset into .h5 file using the tool parse_tfrecord.py

  • Change the dataset_dir in train.py to your .h5 files.

  • train the model by run python train.py.

  • For test, run rollout.py, and the result pickle file will be saved at result folder, the you can run the render_results.py to generate result videos that can be saved at videos folder.

Demos


  • Here are some examples, trained on cylinder_flow dataset.

  • In addition, we use simulation software to generate new training data. The test results on our data are as following:

Contact me

:email: [email protected]