license:cc-by-nc-4.0 region:us
---
license: cc-by-nc-4.0
---

# SURF: A Generalisation Benchmark for GNNs Predicting Fluid Dynamics

SURF, is a benchmark designed to test the generalization of learned graph-based fluid simulators. The benchmark consists of seven independent datasets:

- Base
- Turned
- Topo
- Range
- Dynamic
- Full
- FullFiner

Each dataset is available as separate *.zip file and consists of at least 1200 2D incompressible fluid flow simulations with 300 timesteps. 
The data structure is as follows:
- folder: dataset_name
	- folders: dpx
		- files: sim.npz, triangles.py, constrained_kmeans_20.npy, Simulation_dp1_Timestep_50.png
	- folder: Splits
		- files: train.txt, test.txt, valid.txt
		
The file sim.npz (numpy archive) contains the result of the simulation for each timestep at each node:
- 'pointcloud': x, y coordinates
- 'VX': velocity in x-direction
- 'VY': velocity in y-direction
- 'PS': static pressure
- 'PG': dynamic pressure
- 'T': temperature
- 'TC': thermal conductivity of fluid
- 'HC': heat capacity of fluid 

The results have the following shape: VX.shape=(#timesteps, #nodes, 1).

The file triangles.py contains the mesh connectivity. triangles.shape=(#timesteps, #elements, 3). Each triangle is defined by the node numbers in counter clockwise direction.
