PaddlePaddle/PaddleCFD
Python
Captured source
source ↗PaddlePaddle/PaddleCFD
Description: PaddleCFD is a deep learning toolkit for surrogate modeling, equation discovery, shape optimization and flow-control strategy discovery in the field of fluid mechanics.
Language: Python
License: Apache-2.0
Stars: 64
Forks: 21
Open issues: 9
Created: 2025-03-19T07:27:10Z
Pushed: 2026-04-21T05:07:25Z
Default branch: develop
Fork: no
Archived: no
README:
PaddleCFD
About PaddleCFD
PaddleCFD is a deep learning toolkit for surrogate modeling, equation discovery, shape optimization and flow-control strategy discovery in the field of fluid mechanics. Currently, it mainly supports surrogate modeling, including models based on Fourier Neural Operator (FNO), Transformer, Diffusion Model (DM), Kolmogorov-Arnold Networks (KAN) and DeepONet.
Code structure
doc: documentationexamples: example scriptsppcfd/data: data-process source codeppcfd/model: model source codeppcfd/utils: utils codesource: source code of paddlepaddle custom operators
How to run on NVIDIA GPU
Installation
##### Image pulling & container running
# Pull docker image docker pull ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6 # Run docker container nvidia-docker run --name ppcfd-container -v /home/:/home --network=host -it --shm-size 64g ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0-gpu-cuda11.8-cudnn8.9-trt8.6 /bin/bash
##### Conda environment installation
# Clone PaddleCFD git clone https://github.com/PaddlePaddle/PaddleCFD.git cd PaddleCFD # Create conda environment conda create --name ppcfd python=3.10 conda activate ppcfd python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/ # Download and install paddle-backended Open3D wget https://paddle-org.bj.bcebos.com/paddlecfd/envs/open3d-0.18.0+da239b25-cp310-cp310-manylinux_2_31_x86_64.whl python -m pip install open3d-0.18.0+da239b25-cp310-cp310-manylinux_2_31_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple # Compile customed operator to conda environment wget -nc https://paddle-org.bj.bcebos.com/paddlescience/cmake-3.23.0-linux-x86_64.tar.gz tar -zxvf cmake-3.23.0-linux-x86_64.tar.gz rm -f cmake-3.23.0-linux-x86_64.tar.gz PATH=$PWD/cmake-3.23.0-linux-x86_64/bin:$PATH cd source/ppfno_op python -m pip install --no-build-isolation -v .
##### PaddleCFD package installation (Choose one of the following)
# Install PaddleCFD from sourcecode at PaddleCFD root directory python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple # Install PaddleCFD from pypi python -m pip install ppcfd -i https://pypi.tuna.tsinghua.edu.cn/simple
Quick start
# Run examples cd PaddleCFD/examples/xxx/xxx run the example according to the example README.md
How to run on MetaX
Quick start
Following the [guidelines of MetaX](./doc/metax/README.md) to run PaddleCFD on MetaX machine.
Parallel efficiency on MetaX
Parallel efficiency ($\eta$) calculation,
$\eta=\frac{t_1/t_n}{n} \times 100$ %
where $t_1$ is the running time on one card, $t_n$ is the running time on $n$ cards, and $n$ is the number of cards working parallelly.
| Model | One card/s | One 8-card node/s | Four 8-card nodes/s | $\eta$ on one 8-card node/% | $\eta$ on four 8-card nodes/% | | :--- | :---: | :---: | :---: | :---: | :---: | | PPFNO | 599.51 | 75.57 | 19.01 | 99.16 | 98.56 |
About MetaX
APIs
[ppcfd/data](./doc/data.md)
Star History

Community
Join PaddleCFD WeChat group to discuss with us!
License
PaddleCFD is provided under the [Apache-2.0 license](./LICENSE)
Notability
notability 5.0/10New repo by Baidu with modest traction