10分钟上手PINNs-Torch:从安装到运行Navier-Stokes方程模拟

发布时间:2026/7/27 14:31:50
10分钟上手PINNs-Torch:从安装到运行Navier-Stokes方程模拟 10分钟上手PINNs-Torch从安装到运行Navier-Stokes方程模拟【免费下载链接】pinns-torchPINNs-Torch, Physics-informed Neural Networks (PINNs) implemented in PyTorch.项目地址: https://gitcode.com/gh_mirrors/pi/pinns-torchPINNs-Torch是基于PyTorch实现的物理信息神经网络Physics-Informed Neural Networks, PINNs工具包通过CUDA Graphs和JIT编译器实现了比原始TensorFlow v1版本高达9倍的性能提升让复杂物理方程的数值模拟变得前所未有的高效。 为什么选择PINNs-Torch物理信息神经网络PINNs是将物理定律嵌入神经网络的创新方法能够在缺乏大量标注数据的情况下求解偏微分方程。PINNs-Torch凭借以下优势成为研究者和工程师的理想选择极致性能通过PyTorch的CUDA Graphs和TorchScript编译器优化运算速度较传统实现提升3-9倍简洁易用基于PyTorch Lightning和Hydra构建提供清晰的代码结构和灵活的配置系统丰富案例内置Navier-Stokes、Schrödinger、Burgers等多个经典偏微分方程的求解示例PINNs-Torch与传统实现的性能对比每个子图对应不同物理问题x轴为加速因子对数刻度y轴为平均相对误差 快速安装指南环境要求PyTorch ≥ 2.0.0PyTorch Lightning ≥ 2.0.0Hydra ≥ 1.3两种安装方式1. 快速安装推荐新手pip install pinnstorch2. 源码安装开发人员git clone https://gitcode.com/gh_mirrors/pi/pinns-torch cd pinns-torch # 创建并激活虚拟环境可选 conda create -n pinns-env python3.9 conda activate pinns-env # 安装 editable模式 pip install -e . Navier-Stokes方程模拟实战Navier-Stokes方程是描述流体运动的基础方程在航空航天、天气预报、能源工程等领域有重要应用。下面我们将用PINNs-Torch快速实现一个2D非线性Navier-Stokes方程的模拟。问题定义我们求解的2D非线性Navier-Stokes方程如下 $$u_t \lambda_{1}(uu_x vu_y) -p_x \lambda_{2}(u_{xx} u_{yy})$$ $$v_t \lambda_{1}(uv_x vv_y) -p_y \lambda_{2}(v_{xx} v_{yy})$$其中$u(t, x, y)$和$v(t, x, y)$是速度场的x和y分量$p(t, x, y)$是压力$\lambda (\lambda_1, \lambda_2)$是待求参数。一键运行模拟进入项目目录后执行Navier-Stokes示例python examples/navier_stokes/train.py自定义参数例如修改训练轮数和采样点数量python examples/navier_stokes/train.py trainer.max_epochs20 n_train3000配置文件解析模拟参数主要通过配置文件examples/navier_stokes/configs/config.yaml控制关键配置项包括trainer训练器参数迭代次数、学习率等data数据集配置采样点数、边界条件等model模型结构网络层数、激活函数等solver求解器参数优化器、损失函数权重等 进阶学习资源官方教程tutorials/0-Schrodinger.ipynb薛定谔方程求解实例examples/目录包含多个物理问题的完整实现包括burgers_continuous_forward/连续Burgers方程正问题kdv/KDV方程求解schrodinger/薛定谔方程模拟核心模块解析数据处理pinnstorch/data/ 提供物理域采样和数据加载功能网络结构pinnstorch/models/net/ 包含多种神经网络架构求解器pinnstorch/models/pinn_module.py 实现PINN核心逻辑 常见问题解决Q: 运行时提示CUDA内存不足怎么办A: 减少采样点数量或降低网络复杂度可通过命令行参数调整python examples/navier_stokes/train.py n_train1000 net.hidden_dim32Q: 如何修改物理方程或边界条件A: 编辑对应问题的配置文件和PDE定义例如Navier-Stokes的配置位于examples/navier_stokes/configs/config.yaml 引用与致谢如果您在研究中使用了PINNs-Torch请引用以下论文inproceedings{ bafghi2023pinnstorch, title{{PINN}s-Torch: Enhancing Speed and Usability of Physics-Informed Neural Networks with PyTorch}, author{Reza Akbarian Bafghi and Maziar Raissi}, booktitle{The Symbiosis of Deep Learning and Differential Equations III}, year{2023}, url{https://openreview.net/forum?idnl1ZzdHpab} }PINNs-Torch基于Lightning-Hydra-Template构建感谢开源社区的贡献【免费下载链接】pinns-torchPINNs-Torch, Physics-informed Neural Networks (PINNs) implemented in PyTorch.项目地址: https://gitcode.com/gh_mirrors/pi/pinns-torch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考