【EDF開源CAE】SALOME數值模擬平臺中OpenTURNS模塊簡介
SALOME是一款由法國電力集團(EDF)、法國原子能和替代能源委員會(CEA)和Open CASCADE三方合作開發的開源工業仿真平臺,包含仿真前處理和后處理所需的多種數值工具。平臺提供一套完整的解決方案,涵蓋從原始輸入數據導入、幾何與網格模型建立、到計算結果可視化和后處理分析的一整套流程,在此過程中實現各個輔助性分析模塊(如數據同化輔助模擬,不確定性分析,計算流程管理,計算資源定義等)與求解模塊的實時數據交換和多物理場求解器耦合運行。
OpenTURNS的背景
目前在各種研究和工程領域中,對多學科數值模擬的需求越來越大,比如在評估復雜系統的穩健性能以及應對更嚴格的監管流程等研究中需要在處理復雜的數值模擬框架時考慮不確定性。針對這個背景,法國電力研發部門、空中客車集團和Phimeca工程公司于2005年開始合作,致力于開發OpenTURNS開源軟件,作為處理不確定性分析和風險'N統計等相關計算的開源數值工具。通過這個軟件,用戶可以解決包括實驗設計、敏感性和不確定性分析等在內的諸多統計學問題,從而服務于實際工業設計、生產和研究。本期將會從軟件介紹,功能等方面來介紹SALOME平臺中的OpenTURNS模塊。
OpenTURNS是一個LGPL許可下的開源軟件,它本身是一個C ++庫和一個Python TUI,因而可以在Linux和Windows環境下運行。其具有以下主要特性:
開源性質,確保源碼的透明度,便于二次開發利用;
可應用于物理或工業領域,用于處理各類相關復雜問題;
具有先進的工業計算功能,支持大規模高性能并行計算以及大數據模型等功能;
包括多種類的經過工業驗證的算法,以便在各種復雜情況下進行不確定性計算;
-
包含完整的技術文檔,包括參考指南,應用指南,用戶手冊,示例指南和開發人員指南等,便于學習和理解源代碼。
作為一個通用的不確定性分析軟件,OpenTURNS可實現的功能基本涵蓋了整個不確定性分析領域,其中主要包括:
數據分析:包括可視化分析( QQ-plot 分位數圖、Cobweb等)、擬合校驗(Kolmogorov、Chi2等)、多變量分布(核密度評估KDE、最大似然法等)、數學過程(協方差模型、Welch和Whittle估計等)、貝葉斯推斷和校準(Metropolis-Hastings算法、條件分布法等)等功能;
概率模型構建:包括所有常用的分布法(正態分布、Weibull分布、Student分布等)、高斯過程、ARMA模型以及Matern、指數等多種類型的協方差函數模型等;
元建模:混沌多項式展開、高斯過程回歸、Karhunen-Loeve變換等;
可靠性及敏感性分析:包括多種實驗設計采樣算法(Monte-Carlo、 LHS、低偏差序列等)以及Spearman、Sobol、ANCOVA等多類型分析方法;
其他數值算法,包括Gauss-Kronrod 自適應數值積分、NLopt、Cobyla、TNC等優化算法、以及布倫特和Bisection尋根算法等。
OpenTURNS作為一個開源的Python/C++庫,其主要的運行模式是通過編寫相關計算腳本來進行的。不過為方便非開發者使用,EDF RD特別聯合Phimeca工程公司共同開發了OpenTURNS的GUI模式。目前該GUI模式的Linux版本主要是通過Salome平臺使用的,接下來我們將重點介紹Salome平臺下的OpenTURNS模塊。
OpenTURNS圖形用戶界面
模型建立:
首先在開始研究之前我們需要確認其中所使用的物理模型,即我們的所要研究的過程對象。OpenTURNS支持多種類型的物理模型導入,可以直接以方程形式輸入(Symbolic Model)、以Python腳本形式輸入(Python Model)或利用YACS模型導入(YACS Model)。
在上述方法中,簡單的物理模型可直接利用Symbolic Model以方程形式輸入,更加復雜的物理模型則可利用Python腳本的靈活性對其進行建模,最后Salome平臺已有的其他計算模塊如CFD模塊就可以通過YACS模型導入OpenTURNS當中,最終實現多學科數值模擬耦合計算。
除此之外,在不確定物理模型的情況下還可以通過Data Model把已有模型輸入數據和相對應的輸出數據通過csv數據文件格式輸入OpenTURNS,并由其進行元建模從而生成一個物理模型。
定義概率分布模型:
對于涉及到概率模型的相關不確定性分析法,首先我們需要對模型各變量的概率分布方法進行定義。在這里OpenTURNS擁有幾乎所有常用的概率分布法,并可靈活地對每一個變量進行設置。
實驗設計采樣
實驗設計作為概率統計計算和不確定分析中的一個重要算法可保證我們實驗過程中的采樣可以以最小的計算量實現最大程度的信息獲取,因此好的實驗設計需要利用高級采樣方法才能實現。
針對該方面的需求,OpenTURNS GUI包含了大部分常用的實驗設計采樣算法,其中包括因子設計(Factorial Design)在內的離散式確定性設計,也有多種概率性設計,包括Monte-Carlo隨機算法、拉丁超方采樣(LHS)和Sobol低偏差序列等。因而其可以滿足大部分的實驗設計需求。
除了由軟件自主生成實驗設計,OpenTURNS GUI還支持將已生成的實驗設計和結果通過Data Model的方式直接導入軟件,因而具有很大的靈活性。
實驗設計驗證
除了生成實驗設計,通過OpenTURNS GUI還可以利用事前導入的物理模型對實驗設計進行圖像化的評估和驗證。比如我們可以對實驗設計和每個實驗所對應的結果進行圖像化處理生成Cobweb分析圖和二維散點圖(Scatter plot)。如下圖所示,前者可以蛛網結構展示實驗設計中對每一個參數的取值狀況以及所對應結果的取值,這其中每一條線代表實驗設計中的一個實驗設置。在分析過程中用戶可以選取結構中的任意一個區間,然后所有導向該區間的結果則都會被標注出來,方便研究和分析。后者則可利用多個二維散點圖的形式展示實驗設計在超方體采樣范圍中的分布,從而確認實驗設計是否很好地填充整個采樣空間。需要注意的是兩種分析圖可同時生成,并且Cobweb圖標注為紅色的部分在散點圖中也同樣可獲得展示。
元建模
元建模可以利用已有的輸入-輸出對應關系通過建立隨機概率事件過程模型的方式對未知的實際物理模型進行重構,這在我們所研究對象的物理模型未知和過于復雜的情況下十分有用。OpenTURNS GUI在目前主要支持兩種元建模算法,一是混沌多項式展開,二是泛克里金(高斯過程回歸)算法。這兩種較為常用的元建模算法可以用于解決大部分的元模型生成需求。
敏感性分析
OpenTURNS GUI可以針對多參數復雜模型進行參數敏感性分析,即給出各參數在模型輸出結果變化中的重要程度。OpenTURNS GUI現在包括標準回歸系數SRC和Sobol敏感性測試兩種算法,其中較為常用的Sobol敏感性分析法可以給出各個參數的單獨影響(即僅該參數對結果的影響)以及該參數和其他參數一起對模型輸出結果的影響。其結果可量化為Sobol指數(取值范圍是0到1,其中越接近1表明其影響程度越為重要),并轉化為圖像化結果,令人對各參數的影響有一個清晰且能夠定量化的認識。
以上我們只介紹了OpenTURNS GUI的一部分功能,還有很多功能未能詳盡的介紹,大家可自行下載使用體驗。另外作為OpenTURNS 軟件的GUI版本,它也在不斷地更新新的功能,包括很多未能在GUI版本中實現的高級算法等。在不久的將來OpenTURNS GUI將逐漸實現庫版本中的全部功能,最終將真正成為一個功能全面,計算強大且簡單易用的開源不確定性分析軟件~
另外此頁面也包含其他SALOME平臺的特別開發板,包括SALOME_MECA(包含code_aster模塊),SALOME_CFD(包含code_saturne 模塊)以及SALOME_HYDRO 測試版(包含Open TELEMAC-MASCARET模塊),大家有興趣也可自行下載~
本期簡單介紹了OpenTURNS軟件的基本功能,SALOME平臺所包含的模塊和功能還有很多未能詳盡地介紹,感興趣的朋友可以訪問Salome的官方網站:https://www.salome-platform.org ,其包含關于該平臺的各類資料例如用戶手冊,技術文件和教程等,能夠為軟件的理解和使用提供非常重要的參考材料。
以上就是我們本期的內容,我們會有更多軟件和案例的介紹,歡迎大家持續關注~
更多資訊可登錄格物CAE官方網站
期待您的關注
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















