--- license: unknown language: - en tags: - OneScience - fluid dynamics - topology optimization - Gaussian processes - physics-informed learning frameworks: PyTorch ---
GP_for_TO
# Model Overview GP_for_TO (Physics-informed GP-TO) is a physics-informed Gaussian-process framework for topology optimization developed by researchers at Northwestern University. It jointly optimizes material distributions and physical state variables in complex design domains without requiring an explicit mesh discretization. Paper: Simultaneous and Meshfree Topology Optimization with Physics-informed Gaussian Processes https://arxiv.org/abs/2408.03490 # Model Description GP_for_TO uses a Gaussian-process architecture whose mean function is parameterized by a deep neural network. It provides a mesh-free approach to fluid topology optimization problems such as minimizing dissipated power in Stokes flow. # Usage ## 1. OneCode Use the online OneCode environment for an intelligent, one-click AI for Science (AI4S) programming experience: [Launch OneCode for one-click AI4S programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home) ## 2. Manual Setup **Hardware Requirements** - A GPU or DCU is recommended. - A CPU can be used for import checks and small-scale pipeline validation, but full training and inference will be slow. - DCU users must install DTK in advance. DTK 25.04.2 or later, or the OneScience-recommended version for the target cluster, is recommended. ### Download the Model Package ```bash modelscope download --model OneScience/GP_for_TO --local_dir ./GP_for_TO cd GP_for_TO ``` ### Set Up the Runtime Environment **DCU Environment** ```bash # Activate DTK and Conda first conda create -n onescience311 python=3.11 -y conda activate onescience311 # Installation with uv is also supported pip install onescience[cfd-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai ``` **GPU Environment** ```bash # Activate Conda first conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12 conda activate onescience311 # Installation with uv is also supported pip install onescience[cfd-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai ``` ### Training Data The method does not rely on pregenerated topology structures or labeled physical fields. Instead, it samples spatial points within the design domain and constructs physics-informed training signals from the governing Stokes-flow equations, boundary conditions, dissipated-power objective, and material volume-fraction constraint. The paper evaluates four fluid topology optimization cases—Rugby, Pipe Bend, Diffuser, and Double Pipe—and compares the results against COMSOL solutions obtained with the SIMP method. ### Training The default training configuration retains the original settings: `N_col_domain=10000`, `N_train_per_BC=25`, `num_iter=50000`, and `diff_method=Numerical`. ```bash python scripts/train.py ``` ### Model Weights This repository will provide GP_for_TO model weights in the `weights/` directory. The weights will be uploaded soon. ## Inference ```bash python scripts/inference.py ``` By default, inference loads `weight/gp_for_to.pt` and produces: ```text result/inference/predictions.npz result/inference/inference_summary.json ``` `predictions.npz` contains five arrays: `x`, `u`, `v`, `p`, and `ro`. ## Result Visualization ```bash python scripts/result.py ``` # Official OneScience Resources | Platform | OneScience Repository | Skills Repository | | --- | --- | --- | | Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills | | GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills | # Citations and License - Original GP_for_TO paper: [Simultaneous and Meshfree Topology Optimization with Physics-informed Gaussian Processes](https://arxiv.org/abs/2408.03490). - This repository retains the relevant source and attribution notices. Follow all applicable license requirements when using, modifying, or distributing its contents.