A tool for generating PDEs ground truth datasets based on FEniCS and ARCSim
A tool for generating datasets for Partial Differential Equations (PDEs) from ARCSim, FEniCS and SU2.
Research on PDEs needs ground truth datasets. Several tools have been developed and among all, the open-source FEniCS is one of the most famous ones. Our goal is to provide tools for more easily creating such datasets and save them in the DGL graph format.
Features:
Python Version: 3.6 or later
Python Packages: jupyterlab, fenics, dgl, numpy, torch, matplotlib
.
├── fig/
├── notebook/
│ └── *
├── src/
│ ├── utils/
│ └── *
└── README.md
fig
: example figuresnotebook
: tutorials in jupyter notebook formatsrc
: all source code will be here, including scripts, toolsutils
: mini tools will be here, including dgl transferring, graph plotHere are brief guides for the supported PDE simulators:
Step 1. Download or Clone this repository
Step 2. ArcSim installation
You may find the repository with fixes here with further instructions.
To install it, run the following:
git clone https://github.com/kaist-silab/arcsim.git && cd arcsim/
sudo chmod +x install.sh && sudo ./install.sh
At this point, you should be ready to go.
Step 3. ArcSim simulation and .obj
file saving
Let’s consider the flag example. In the ArcSim folder, make a new directory called data. Then run:
bin/arcsim simulate conf/flag.json data/
(you may also run simulateoffline
if you cannot visualize on your computer
When the simulation ends (we may do that with Esc
as well) copy the conf/flag.json
into the folder where we saved the simulation, in our casedata/
and run:
bin/arcsim generate data/
This will generate .obj
files that we can load into Python with pywavefront
and the obj_to_dgl
method we provide.
Flag simulation with adaptive remeshing
Step 1. Download or Clone this repository.
Step 2. Based on your requirement refer to the notebooks, where there are tutorials and examples. You can find all methods provided in the below list.
Step 3. Modify the parameters to generate your own datasets.
Provided methods:
Support methods will keep updating. For more detail, you can refer to the project manager.
Gaussian process on rectangular domain
Step 1. Download or Clone this repository
Step 2. Install SU2
Step 3. Generating data: take a look at the notebooks and the SU2 tutorial collection to get started
Laminar viscosity of an airfoil