最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

AI+Science系列(二):國內首個基于AI框架的CFD工具組件!賽槳v1.0 Beta API介紹以及

2023-02-22 19:13 作者:飛槳PaddlePaddle  | 我要投稿

? ? ? ?AI for Science被廣泛認為是下一代科研范式,可以有效處理多維度、多模態(tài)、多場景下的模擬和真實數據,解決復雜推演計算問題,加速新科學問題發(fā)現[1] 。百度飛槳科學計算工具組件賽槳PaddleScience是國內首個公開且可應用于CFD(Computational Fluid Dynamics,計算流體力學)領域的工具,提供端到端應用API,致力于解決科學計算類任務。賽槳綜合數學計算與物理數據相結合的處理方法,提供物理機理約束的PINNs(Physics Informed Neural Networks 物理信息神經網絡)加速求解偏微分方程,解決計算流體力學中的仿真分析。本篇文章將重點介紹賽槳PaddleScience v1.0 Beta的典型案例及API使用示例。

? ? ? ?賽槳提供的典型案例包含使用AI方法進行頂蓋驅動方腔流(LDC)、達西流、2D&3D圓柱繞流的流場預測及渦激振動(VIV)。所有案例都基于泛化的微分方程、PINNs求解器、控制體、網絡定義以及可視化等多種接口。下面我們將詳細講解賽槳PaddleScience v1.0 Beta中提供的計算流體力學案例及科學計算API的功能及使用。

?圖1 PaddleScience v1.0 Beta產品全景

場景案例詳解

前言

? ? ? ?在流體領域,流體力學作為比較傳統的物理學科,廣泛應用于航空航天、船舶工業(yè)以及建筑、水利、能源等工程領域。

  • 在航空工程和造船工業(yè)中,如飛行器和船舶的外形設計、操控性、穩(wěn)定性等問題成為流體力學中廣泛的研究課題,并促使流體力學得到了很大的發(fā)展。

  • 在水利工程中,如大型水利樞紐和水力發(fā)電站的設計與建造、洪峰的預報工作、河流泥沙等問題都與流體力學緊密關聯。

  • 在動力機械制造工業(yè)中,如何提高水力及蒸汽渦輪、噴氣發(fā)動機、壓縮機和水泵等動力機械的性能,與葉片、導流片及其他零件設計形狀的正確性有關。

? ? ? ?隨著工程問題的深入,流體力學已經逐漸與其他學科互相交叉滲透,形成新的交叉學科或邊緣科學,如磁流體力學、物理-化學流體力學、生物流變學等等。

? ? ? ?圍繞不同的流體問題,當前流體力學分析主要基于數值計算。典型的方法有直接數值模擬 (DNS) 、雷諾平均方法 (RANS)、大渦模擬方法 (LES)、分離渦模擬 (DES) 以及格子玻爾茲曼法(LBM)等求解流體本構N-S (Navier-Stokes) 方程。由于物理問題的復雜度,數值方法往往有很多局限性,如計算效率等。PaddleScience的PINNs科學計算求解器,將物理信息融入神經網絡,針對流體力學問題提供新的解決思路。本章節(jié)中,我們將介紹2D&3D圓柱繞流及渦激振動的案例,展示PaddleScience的基礎科研能力。

圖2 不可壓縮N-S(Navier-Stokes)方程

2D非定常圓柱繞流

? ? ? ?圓柱繞流作為經典的CFD問題,在不同的雷諾數下,渦脫落產生的卡門渦街類型不同,是能夠綜合體現層流、湍流過渡的典型問題。針對該問題,采用PINNs方法,并基于連續(xù)時間的2D不可壓、非定常NS方程作為約束深度學習神經網絡的物理規(guī)則,將傳統的CFD求解轉換為神經網絡參數的優(yōu)化問題。同時,為了加速訓練的收斂時間,提高預測精度,采用半監(jiān)督方式,從開源CFD工具OpenFOAM的結果中記錄邊界位置處約200個測點在不同時刻的流場信息,與N-S方程、初邊值條件等共同形成了網絡優(yōu)化的損失函數。對雷諾數Re=100工況,定義約110W個時空訓練點(t, x, y),并采用NVIDIA V100-32G單卡訓練約8小時,結果如下圖所示?;赑INNs方法構建的網絡能夠完整的模擬卡門渦的周期性脫落,且預測的流場結果與OpenFOAM相對誤差小于5%(除邊界層中個別點外),可滿足工程需求。

圖3 Re=100的2D圓柱繞流結果
(左:OpenFOAM結果,右:PINNs方法結果)

? ? ? ?同時,基于訓練完成的模型,利用推理功能,8ms內即可完成百萬級空間位置在30個時間步的結果預測,相比于同樣網格數量且固定求解配置的OpenFOAM計算過程,速度提升近12000倍,非常利于后期在線評估、優(yōu)化等工程應用。

  • 案例鏈接:https://github.com/PaddlePaddle/PaddleScience/tree/develop/examples/cylinder/2d_unsteady_continuous

    3D非定常圓柱繞流

? ? ? ?除2D圓柱繞流外,賽槳PaddleScience同時提供3D圓柱繞流案例,基于PINNs方法,求解3D非定常不可壓縮Navier-Stokes方程,完成了無模化Re=100的圓柱繞流問題求解。在該問題中,采用OpenFOAM的結果作為基準,選擇流場穩(wěn)定的相對0時刻,并記錄有限時間內特定測點的數據。采用離散時間的PINNs神經網絡進行訓練,其模型數量與所選取的時間步長相關,在t_start至t_end內,定義離散時間步長dt,采用(t_end-t_start)/(T*dt)個模型進行訓練,其中T為渦脫周期。對比OpenFOAM的理論值,相對誤差在5%以內。x軸上的流場速度變化如下:

圖4 3D圓柱繞流x軸流場速度
  • 案例鏈接:https://github.com/PaddlePaddle/PaddleScience/tree/develop/examples/cylinder/3d_unsteady_discrete

渦激振動

? ? ? ?渦激振動(VIV)是一種典型的流致振動,是流體經過結構后穩(wěn)定渦脫頻率與結構固有頻率綜合的流固耦合問題。是海洋工程中立管、輸油管路等大跨度結構的主要損傷源,但由于結構復雜,無法有效測量剛度、阻尼等本構特征,導致損傷探測及預防難度較大。相比基于PINNs方法實現2D圓柱繞流正問題分析,解決“反問題”是PINNs方法的一個亮點,可通過部分實驗數據“逆向”預測流場中結構的剛度、阻尼等本構特征,從而對實際工程中的復雜結構的疲勞損傷及破壞的預測及預防提出指導。
? ? ? ?從工程落地的角度,賽槳 PaddleScience 從“半實物仿真”的技術路線出發(fā),構建了渦激振動試驗臺架以及模型驅動試驗裝備的電控閉環(huán),創(chuàng)新性地探索并論證深度學習模型與物理裝備的虛實結合的技術可行性。

? ? ? ?通過對渦激振動開展分階段分析,首先基于加速度計及激光設備等傳感器采集結構振動振幅與結構升力,對系統進行彈簧-振子單自由度等效?;趯崪y的160組位移及受力數據,訓練過程中最小化“振幅”、“升力”、“方程”等共同組成的損失函數。采用V100-16G單卡訓練約0.5h,預測結果如下圖(右上)。基于PINNs預測的結構振動振幅、結構升力結果與試驗數據的相對誤差均在2%以內。同時基于“反問題”方式分析得到的結構剛度、阻尼分別為1.092964與4.1e-6,相比真實值1.09與0,相對誤差均小于2%。

? ? ? ?渦激振動主要基于試驗與深度學習模型結合的方式進行,通過構建風洞試驗裝備,在第一階段完成結構剛度、阻尼的預測,在第二階段則基于得到的結構剛度、阻尼等屬性,進行流場重構以及升阻力的預測。過程中基于賽槳提供的泛化PDE接口,對渦激振動中流固耦合方程也重新進行了整合,定義新的網絡與求解過程,具體流程如下圖所示。

圖5 VIV試驗及深度學習模型聯合驗

案例鏈接:https://github.com/PaddlePaddle/PaddleScience/tree/develop/examples/fsi

? ? ? ?API功能及使用示例

? ? ? ?上述案例充分利用了賽槳PaddleScience v1.0 Beta提供的API。本部分將著重介紹涉及的主要API接口及使用示例方法。

圖6 PaddleScience科學計算工具組件設計架構

科學計算問題定義

? ? ? ?科學計算問題定義包含三部分:方程定義(PDE)、計算域定義(Geometry)、初邊值條件定義(IC/BC)。下圖展示了如何定義在一個方形區(qū)域內求解二維非定常Navier-Stokes方程問題。具體而言,該問題數學上由(圖b) 定義,包含方程、初邊值條件及計算域信息,代碼上每一條信息由相應接口描述(圖a及圖c)。圖中展示了一部分數學信息和接口的對應關系,該對應關系由同樣的顏色方框表示。

圖7 PaddleScience科學計算問題定義

本章節(jié)將介紹關于科學計算問題定義相關的API。

偏微分方程(PDE)

賽槳支持調用預置方程接口及自定義方程接口。

  • 預置方程接口:方程定義內置在賽槳中,用戶直接調用即可,僅需配置相關參數(如維度、物理屬性等)。

  • 自定義方程接口:用戶使用 Python SymPy 定義自變量、因變量及方程,通過“add_equation”接口將方程加入PDE模塊。

? ? ? ?對于高維偏微分方程,連續(xù)時間方法將時間和空間均視為網絡的輸入;離散時間方法首先使用數值(隱式)方法對時間離散,得到僅包含空間變量的方程,進而使用PINNs方法求解該方程,3D N-S方程及使用隱式離散方法得到的方程如下,其中 n 時刻的狀態(tài)(3個方向的速度)已知,求解n+1時刻的狀態(tài)(3個方向的速度)。

圖8 使用隱式方法對時間離散后得到的方程

?? ? ? ?如下代碼展示如何定義一個非定常N-S方程,以及如何使用連續(xù)時間方法和離散時間方法,進行方程離散。僅需通過改變參數 "time_method" 的取值即可選取對應的方法。

計算域(Geometry)

? ? ? ?賽槳提供了常用的計算域形狀,如立方體、立方體除去圓柱等幾何外形,及VTK 可視化支持,同時提供 " add_boundary " 接口定義邊界。

初邊值條件(IC/BC)

? ? ? ?邊值條件模塊預置了Dirichlet/Neumann/Robin邊值條件,僅需定義邊值條件,并通過 "set_bc" 接口將其指定到對應邊界即可。對于PDE,以類似方式增加了初值條件模塊。

深度學習方法求解模塊

? ? ? ?上一章節(jié)介紹了如何使用賽槳定義科學計算問題,本章節(jié)繼續(xù)介紹深度學習方法求解上述科學計算問題所需使用到的模塊。

?網絡(Network)

? ? ? ?賽槳支持全連接網絡(FC)以及初始化網絡權重的接口initialize,支持從文件讀取權重進行初始化,以及使用飛槳預置的初始化函數(paddle.nn.initializer)進行初始化。?

損失函數(Loss)

賽槳提供了靈活的Loss設置方式,允許通過設置獨立的權重系數配置多任務Loss (Loss = w_1 * Loss_equation + w_2 * Loss_ic+ w_3 * loss_bc +w_4 * Loss_data)。

優(yōu)化器(Optimizer)

賽槳支持Adam優(yōu)化器。

求解器(Solver)及求解模式

求解器提供了控制功能,在訓練和推理階段可以分別使用。

啟動自動并行模式

使用自動并行技術實現分布式計算內嵌在賽槳中,無需特別設置,使用如下代碼運行程序即可實現數據自動并行。

啟動動態(tài)圖/靜態(tài)圖/自動微分模式

賽槳后端支持動態(tài)圖和靜態(tài)圖模式,可以通過簡單的接口進行切換。另外,在單機靜態(tài)圖模式下,賽槳提供接口啟用高階自動微分。

下一期我們將對支持PaddleScience的底層框架技術,如自動微分機制、編譯器等功能進行詳細介紹,敬請期待~

  • 引用:

[1]《IDC perspective:AI for Science市場研究》報告正式啟動.https://mp.weixin.qq.com/s/gtEbuSULI5fzCIvbDKhkfA

  • 拓展閱讀:

1.《AI+Science系列(一):飛槳加速CFD(計算流體力學)原理與實踐》

2.賽槳PaddleScience v1.0 Beta:基于飛槳核心框架的科學計算通用求解器

  • 相關地址:

1.飛槳AI for Science共創(chuàng)計劃:

https://www.paddlepaddle.org.cn/science

2.飛槳PPISG-Science小組:

https://www.paddlepaddle.org.cn/specialgroupdetail?id=9


AI+Science系列(二):國內首個基于AI框架的CFD工具組件!賽槳v1.0 Beta API介紹以及的評論 (共 條)

分享到微博請遵守國家法律
米泉市| 新蔡县| 平远县| 宜川县| 县级市| 洞口县| 德安县| 潼南县| 北流市| 固始县| 新野县| 天等县| 宁津县| 郎溪县| 栾川县| 安丘市| 锡林郭勒盟| 清水县| 毕节市| 简阳市| 永泰县| 宁晋县| 来凤县| 绥化市| 威宁| 巩义市| 韩城市| 防城港市| 和硕县| 张家港市| 西乌| 连城县| 志丹县| 斗六市| 潍坊市| 海阳市| 新龙县| 娱乐| 葫芦岛市| 临颍县| 高唐县|