by Sinan Wang, Yitong Deng, Molin Deng, Hong-Xing Yu, Junwei Zhou, Duowen Chen, Taku Komura, Jiajun Wu, and Bo Zhu
Our paper and video results can be found at our project website.
This work has been awarded the Replicability Stamp.
Our code is tested on Windows 11 with CUDA 12.3, Python 3.10.9, and Taichi 1.6.0.
To set up the environment, first create a conda environment:
conda create -n "evm_env" python=3.10.9 ipython
conda activate evm_envThen, install the requirements with:
pip install -r requirements.txtFor reproducing the same result in the paper, execute:
python run_paper.pyWith the default settings and no code modifications (i.e., the default 3D leapfrog), the expected runtime for the above execution ranges from 30 to 60 minutes, depending on your machine's performance.
An improved version by storing the flow map quantities with the same locations as vorticity can be obtained by running:
python run_improved.pyThe improved version enhances the simulation stability and the vorticity preservation ability, e.g., it leads to one more leap in 3D leapfrog.
Hyperparameters can be tuned by changing the values in the file hyperparameters.py.
The results will be stored in logs/[exp_name]/vtks. We recommend using ParaView to load these .vti files as a sequence and visualize them by selecting Volume in the Representation drop-down menu.
If you find our paper or code helpful, consider citing:
@article{wang2024eulerian,
title={An Eulerian Vortex Method on Flow Maps},
author={Wang, Sinan and Deng, Yitong and Deng, Molin and Yu, Hong-Xing and Zhou, Junwei and Chen, Duowen and Komura, Taku and Wu, Jiajun and Zhu, Bo},
journal={ACM Transactions on Graphics (TOG)},
volume={43},
number={6},
pages={1--14},
year={2024},
publisher={ACM New York, NY, USA}
}