当前位置: 首页 > news >正文

PINNs案例——多介质分区温度场

基于物理信息的神经网络是一种解决偏微分方程计算问题的全新方法…

有关PINN基础详见:PINNs案例——中心热源温度场预测问题的torch代码

多介质PINN

传统PINNs在多介质问题上由于不同介质参数不同,对应PDE方程参数不同,求解困难。

本文采用多个神经网络分区求解方法,给出了多介质传热问题的求解案例。

该案例参考学习论文:陈豪龙, 唐欣越, 王润华, 周焕林, 柳占立. 基于物理信息神经网络的多介质非线性瞬态热传导问题研究. 力学学报, 2024, 56(12): 1-14. DOI: 10.6052/0459-1879-24-337

多介质PINNs示意图

分区求解结果

问题场景

  • 求解域:案例选取边长为 1 的正方形区域作为研究对象,定义域为
    Ω = [ 0 , 1 ] × [ 0 , 1 ] \Omega = [0,1] \times [0,1] Ω=[01]×[01]。区域内水平方向等距离分为三种介质

区域模型

  • 参数设定 从左至右三种介质热导率分别设置为 λ 1 = 0.1 , λ 2 = 0.3 , λ 3 = 0.5 \lambda_1 = 0.1 ,\lambda_2 = 0.3,\lambda_3 = 0.5 λ1=0.1,λ2=0.3,λ3=0.5
  • 边界条件:区域左边界温度为10,右边界温度为30
  • 求解量:区域内二维稳态温度场分布

PINNs理论求解

在该正方形区域内,温度场 $ T(x, y) $ 满足二维稳态导热方程,数学表达为:
− κ ( ∂ 2 T ∂ x 2 + ∂ 2 T ∂ y 2 ) = q -\kappa \left( \frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} \right) = q κ(x22T+y22T)=q

其中:

  • κ \kappa κ 为材料的热导率(thermal conductivity),表示材料传导热量的能力;
  • q q q 为内热源(heat source),表示单位体积内热量的产生率;
  • T ( x , y ) T(x, y) T(x,y) 为温度分布函数。

相比 PINNs案例——中心热源温度场预测问题的torch代码,本次案例中,求解区域PDE方程中的$ \kappa $ 值不同,可以通过神经网络分区进行求解,设计多个神经网络控制不同区域,再添加每个介质边界条件的损失函数,以确保整个求解域的连续性。对所有损失函数进行累加后,反向传播,使用一个优化器优化每个神经网络的所有参数。

损失函数可以表示为:

  1. **PDE 残差项:**区域不含热源,且不同区域热导率不同, κ \kappa κ 为关于 x y xy xy 的函数.故控制方程如下:
    Loss PDE = 1 N c ∑ i = 1 N c ∣ f ( x c i , y c i ) ∣ 2 \text{Loss}_{\text{PDE}} = \frac{1}{N_c} \sum_{i=1}^{N_c} \left| f\left( x_c^i, y_c^i \right) \right|^2 LossPDE=Nc1i=1Nc f(xci,yci) 2
    f ( x c i , y c i ) = κ ( x , y ) ( ∂ 2 T ∂ x 2 + ∂ 2 T ∂ y 2 ) f\left( x_c^i, y_c^i \right) = \kappa (x,y) \left( \frac{\partial^2 T}{\partial x^2} + \frac{\partial^2 T}{\partial y^2} \right) f(xci,yci)=κ(x,y)(x22T+y22T)
  2. 边界条件项:在多介质问题中,边界条件除热边界固定温度,绝热边界等,还要添加不同介质交界面的连续性边界条件
  • 固定温度边界:
    Loss BC = 1 N b ∑ i = 1 N b ∣ T ( x b i , y b i ) − T f i x e d ∣ 2 \text{Loss}_{\text{BC}} = \frac{1}{N_b} \sum_{i=1}^{N_b} \left| T\left( x_b^i, y_b^i \right) - T_{fixed} \right|^2 LossBC=Nb1i=1Nb T(xbi,ybi)Tfixed 2

  • 介质交界面:
    不同热导率介质的边界条件包含第一类边界条件和第二类边界条件:

第一类边界条件(不同介质在边界面上温度连续):
Loss I1 = 1 N I ∑ j = 1 N I ∣ λ p T p ( x I j ) − λ p + 1 T p + 1 ( x I j ) ∣ 2 \text{Loss}_{\text{I1}} = \frac{1}{N_{I}}\sum_{j=1}^{N_{I}}\left|\lambda_{p}\ T_{p}\left(x_{I}^{j}\right)-\lambda_{p+1} T_{p+1}\left(x_{I}^{j}\right)\right|^{2} LossI1=NI1j=1NI λp Tp(xIj)λp+1Tp+1(xIj) 2
第一类边界条件(不同介质在边界面上温度法向导数与热导率的乘积连续):
Loss I2 = 1 N I ∑ j = 1 N I ∣ λ p ∂ T p ( x I j ) ∂ n − λ p + 1 ∂ T p + 1 ( x I j ) ∂ n ∣ 2 \text{Loss}_{\text{I2}} = \frac{1}{N_{I}}\sum_{j=1}^{N_{I}}\left|\lambda_{p}\frac{\partial T_{p}\left(x_{I}^{j}\right)}{\partial n}-\lambda_{p+1}\frac{\partial T_{p+1}\left(x_{I}^{j}\right)}{\partial n}\right|^{2} LossI2=NI1j=1NI λpnTp(xIj)λp+1nTp+1(xIj) 2
其中:

  • N I N_I NI 表示介质边界点的点数
  • T p T_p Tp 表示第P个介质
  • λ p \lambda_ {p} λp 表示第P个介质的热导率

复现结果

分区求解结果

FEM参考结果

采用6000次adam优化与lbfgs优化器进行优化。各项损失收敛过程如下,收敛效果良好:

各项损失曲线

代码请关注:

相关文章:

  • Nacos使用
  • DeepSeek实战--Function Calling
  • [官方 IP] Utility Flip-Flop
  • 不小心误删了文件,找Windows数据恢复工具来帮忙
  • 泰迪杯特等奖案例学习资料:基于CLIP模型微调与知识蒸馏的多模态图文检索系统设计
  • Linux-常用监控工具
  • 【Touching China】2002-2006
  • C++_STL
  • MLPerf基准测试工具链定制开发指南:构建领域特异性评估指标的实践方法
  • CPU:AMD的线程撕裂者(Threadripper)系列
  • 18. LangChain分布式任务调度:大规模应用的性能优化
  • PostgreSQL 查看表膨胀情况的方法
  • [Control-Chaos] Heart Broken(心臟破裂)
  • CPO-BP+NSGA,豪冠猪优化BP神经网络+多目标遗传算法!(Matlab完整源码和数据)
  • 2.maven 手动安装 jar包
  • IntelliJ IDEA 保姆级使用教程
  • 密码学_加密
  • 【Redis】List类型
  • Python实例题:Python获取小说数据并分析
  • 【项目设计】MySQL 连接池的设计
  • 客流持续高位运行,长三角铁路计划增开153列旅客列车
  • 美国证实加拿大及墨西哥汽车零部件免关税
  • 美国第一季度经济环比萎缩0.3%
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神
  • 李乐成任工业和信息化部部长
  • 腾讯重构混元大模型研发体系:成立大语言和多模态模型部,提升AI长期技术作战能力