999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

燃氣彈射內彈道二維數值仿真軟件開發①

2018-04-21 01:38:35張學鋒管仕敏儲岳中
計算機系統應用 2018年3期
關鍵詞:模型

張學鋒, 管仕敏, 儲岳中

(安徽工業大學 計算機科學與技術學院,馬鞍山 243002)

引言

關于彈射器方面的研究,歷經了眾多的階段,其中包括彈簧式,液壓式,壓縮空氣式彈射器,如今使用最廣泛的就是燃氣式,燃氣蒸汽式以及電磁式彈射器. 本文所研究的就是燃氣式彈射器,通過建立二維軸對稱模型,加以借助流體力學軟件Fluent模擬發射系統的速度場,運動場,以及壓力場等分布規律,得到內彈道參數流場分布云圖. 通過設定初容室結構,入流條件和發射環境等參數快速建立導彈彈射內彈道數值計算模型輸出發射筒溫度,壓強和導彈內彈道仿真結果,運用到實際應用中,降低一定的實驗成本. 計算機仿真軟件可以重復的進行仿真計算,避免實際實驗所帶來的一系列損耗.

目前,關于內彈道數學模型的數值仿真,已經有了眾多的研究數據. 文獻[1]以自彈式彈射器為例,對比低壓室下二維模型和零維模型的數據,得出零維模型具有計算量小,工作效率高等優勢,但是并不能更好的描述彈射器低壓室內彈道特性,尤其是低壓室內的壓力分布特性. 文獻[2]利用遺傳優化算法對5個待定參數進行優化,利用四階龍格庫塔以及迭代算法對內彈道理論方程組進行計算,進一步的優化內彈道參數值,使零維模型理論計算得到的結果更具有參考價值. 本文著重對導彈發射過程中建立二維內彈道模型,通過設置幾何建模參數以及流體建模參數,仿真輸出內彈道相關曲線以及流場云圖等. 眾所周知,目前功能最全面,適用性最廣,國內使用最廣泛的CFD軟件之一就是Fluent[3]. 其強大的計算功能正是我們這款仿真軟件所需的,但是Fluent由于全英文的界面,桎梏了眾多的國內用戶,畢竟并不是所有的人都熟悉英語,此外,Fluent的參數設置也是十分的復雜,使用人員通常都是需要花費眾多的精力去了解并且掌握其參數設置. 為此,本文對Fluent進行二次開發,避免上述的兩個問題,實現在交互界面設置參數直接調用Fluent軟件進行二維內彈道數學模型仿真評估.

1 基于Fluent的二次開發技術

采用Fluent對內彈道數學模型進行流動求解計算是內彈道工程設計的重要部分. 針對上述所說關于Fluent使用的兩個弊端,在此我們在.Net Microsoft Visual Studio 2010平臺下運用C#語言對Fluent進行二次開發,將Scheme日志文件作為C#與Fluent數據交互的接口,建立了導彈、發射筒、初容室、導流錐等幾何建模參數設置,以及燃氣參數、初始條件、邊界設置等流體建模參數設置. 通過在軟件GUI界面中動態設置參數從而修改Scheme接口文件驅動Gambit進行網格建模,然后啟動Fluent實現彈射內彈道流場數值仿真模擬[4,5].

1.1 二次開發接口

在.Net平臺下實現對Gambit以及Fluent軟件的二次開發,其需要克服的一個技術難點就是如何通過C#語言成功的調用Gambit和Fluent,實現.Net平臺與Gambit、Fluent的數據交互. 針對這個問題文獻[4]有著詳細的描述. 文獻[4]描述的是VB語言對Fluent進行二次開發,本文注重的是C#語言對Fluent語言的二次開發,二者有著異曲同工的思想. 由于Gambit和Fluent均支持一種完備的日志文件體系,所有的操作過程都被保存在日志文件即Journal文件中. 其新生成的Journal文件涉及許多內彈道變量值,其大部分的代碼都是相同的,需要蓋面的只是一些重要參數,本文通過變量替換法動態改變對應的參數值,從而實現平臺與軟件的無縫對接.

1.2 日志文件(Journal文件)的編寫

參數化建模就是動態修改所建立的模型日志文件,通過參數化日志文件實現參數化建模. 用戶通過內彈道仿真軟件界面輸入導彈、初容室、發射筒、導流錐各項參數建立符合自己需求的彈射內彈道模型.

文本用戶界面(Text User Interface,TUI)是Fluent軟件開發預留了一種的程序語言,編寫在日志文件(Journal文件)便于Fluent軟件調用執行參數化建模、流體并行計算. 本文講述的仿真軟件就是利用TUI語言編寫的.jou文件,進行重復性仿真建模計算. 作為C#語言與Gambit和Fluent軟件的數據交互接口,其日志文件(Journal文件)編寫是十分重要的,攻克這一難點,該仿真軟件的開發就等于攻克了一大堡壘. 下面就詳細講述Journal文件基本的編寫格式.

Gambit日志文件編寫的基本語法規則與格式:

(1) vertex create coordinates 0 0 0為創建一個節點,3個零代表X、Y、Z軸方向的坐標.

(2) $RChmI=93為定義一個參數RChmI,其值為93.

(3) vertex cmove “vertex.27” multiple 1 offset ($RChmI)0 0表示以上述創建的節點為參照再創建一個X=RChmI的點. 這樣我們可以動態修改RChmI的值來修改節點的X點坐標.

(4) edge create straight “vertex.31” “vertex.43” 表示兩個參數節點連成線vertex.31、vertex.43表示創建的第31個節點和第43個節點.

(5) volume mesh “volume.1” tetrahedral size 5 為劃分網格.

(6) physics create “inlet” btype “PRESSURE_INLET”edge “edge.6”表示創建邊界條件,以 inlet為例,邊界類型選擇為PRESSURE_INLET壓力入口.

(7) export fluent5 “輸出文件的目錄生成文件的名字.msh”輸出后綴名為.msh的文件并為后續Fluent流體計算做準備.

Fluent日志文件的編寫不同于Gambit日志文件,Fluent本身不能自動替換參數的值,而且語言復雜,這就需要手動生成一個日志文件模板,包括邊界條件的設置、流動求解控制參數設置,然后通過編程對日志文件進行動態修改. Fluent日志文件基本語句與格式如下所示:

(1) (cx-gui-do cx-set-text-entry “Select File*Text”“文件路徑 s.cas”)表示讀入文件路徑下所需要的ts.cas文件.

(2) (cx-gui-do cx-set-text-entry “Select File*Text”網格文件名.msh)表示讀入文件路徑下所需要的網格文件.

(3) Boundary-conditions/velocity 定義邊界條件.

(4)(cx-gui-docx-set-real-entry-list“Operating Conditions*Frame1*Table1*Frame1(Pressure)*Table1(Pr essure)*RealEntry2(Operating Pressure)” '( 101325))為設置初始時刻壓力值為101325.

(5) (cx-gui-docx-set-real-entry-list“wall-6-1*Frame4*Frame3(Thermal)*Frame1*Frame1(Thermal Conditions)*Frame7*Table7*RealEntry8(Wall Thickness)” '( 0.005))為設置初始條件壁面厚度為0.005.

用TUI語言編寫的Journal日志文件通俗易懂、操作方便,運用C#對Fluent進行二次開發,通過軟件GUI界面進行內彈道參數設計,動態生成所需的Journal日志文件,完成參數化建模與流體并行計算過程.

1.3 Fluent與Gambit的代碼調用

關于Gambit與Fluent的調用,網上有著眾多的資料,大體歸結于兩種方案,方案一是通過WinExec()函數調用,其二就是通過Shell()函數調用. 本文采用的是批處理文件(bat文件)控制參數的方法調用Gambit和Fluent軟件,文件內容指示Gambit,Fluent按照指定的路徑讀取Journal日志文件,保存計算結果到指定的目錄中. 調用過程共分為先動態生成規定格式的批處理文件,然后編程開啟進程運行此批處理文件,完成調用部分[6].

Gambit的bat文件內容由Gambit的安裝路徑、Gambit的版本號以及Gambit運行的Journal文件的路徑組成,具體形式如下:

C:Fluent.Incgambit tbin tx86gambit.exe -r2.4.6-init D:CFDBaseBase_Gam.jou.

相應的Fluent的bat文件與Gambit的bat文件內容相近,只是Fluent的bat文件多了一個2d,3d的計算模型的設定,具體形式如下:

“C:ansys15ANSYSIncv150fluent tbinwin64Fluent.exe” -r15.0.0 2d -t4 -i D:CFDBaseBase_Flu.jou.

軟件動態生成批處理文件后,通過調用VS的基礎庫,開啟進程是實現對Gambit和Fluent的外部調用.然后Gambit和Fluent會按照Journal文件運行規范,完成網絡建模與流體計算過程,并且在計算結束后實時將結果傳至軟件界面.

2 軟件分析與設計

2.1 軟件功能結構

燃氣彈射內彈道數值仿真集成軟件的結構流程圖如圖1所示. 該軟件分為理論計算和仿真評估模塊. 本文側重講解的是燃氣彈射內彈道二維數值仿真軟件的開發,也就是上述所說的仿真評估模塊. 燃氣彈射內彈道二維數值仿真軟件建立相應的發射系統燃氣流計算模型[7-9],設定流體力學計算仿真參數,先調用Gambit進行網格建模后調用Fluent求解器自動求解計算.

“燃氣彈射內彈道”以彈射導彈為典型研究對象,通過設定發射系統仿真平臺參數,能夠快速,準確的建立相應的導彈彈射內彈道理論計算模型和流體參數化計算模型. 并根據設定參數快速的進行計算,完成導彈彈射過程中設定的參數化求解目標,進行導彈發射過程中發射筒內壓力與溫度、導彈內彈道參數等預測與評估,為導彈彈射內彈道評估提供理論和技術支持以及為典型導彈發射系統方案論證提供決策支持.

2.2 軟件模型建立以及模型求解

燃氣彈射內彈道二維數值仿真軟件開發的主要核心就是利用流體力學分析軟件Fluent進行分析計算.

幾何網格建模主要由外部調用Gambit軟件實現,其參數設置包括彈射動力裝置幾何參數、導流錐、初容室、發射筒和導彈等參數. 這些參數的設置用戶可以通過軟件的GUI界面對擴展模型中的參數進行動態設置并進行仿真建模. 其數值計算網格如圖2所示.

圖1 軟件分析流程圖

圖2 網格模型

流體并行計算是通過外部調用Fluent軟件實現,其參數的設置包括燃氣參數、計算初始條件、邊界條件設置. 建模參數完成后通過軟件代碼動態生成Journal文件、.c文件. 由上述所述可知,Journal文件內容大致相同,不同的僅僅是參數化變量取值,因此用戶在GUI界面輸入相應的網格建模、流體計算相關參數,軟件實現這些參數的替換,形成新的Journal文件以及.c文件,從而進行重復性的網格建模與并行計算. 其整體的結構示意圖如圖3所示.

3 軟件應用實例

燃氣彈射內彈道二維數值仿真軟件主要由兩部分組成,分別是參數化仿真與外推仿真. 以VS2010為軟件開發工具,利用C#編程調用Gambit以及Fluent,在Windows環境下使用. 由于保密協定,軟件的具體界面設計就不再截圖具體說明,以下用文字簡要概述: 該軟件界面主要分為4個版面,分別是菜單欄,模塊選擇,參數修改區以及三維模型顯示區. 其模塊選擇區域顯示參數化仿真以及外推仿真,二者仿真的區別就在于入口條件的不同,參數化仿真是將發動機噴管作為壓力入口進行計算的,而外推仿真是將已知實驗得到的發射筒內的壓力與溫度變化規律,將它們作為入口條件進行內彈道仿真計算. 其三維模型顯示區域是利用OpenGL(Open Graphics Library)繪制的彈射內彈道三維模型示意圖如圖4所示. 用戶如果通過GUI界面修改內彈道的相關參數,三維模型也會相應的動態改變.使用戶更加清晰,直觀的理解彈射內彈道結構設計.

燃氣彈射內彈道二維數值仿真軟件的結果輸出包括三個方面,分別是曲線輸出,流場云圖輸出以及動畫輸出. 用戶通過軟件GUI界面設置好模型參數,先通過Gambit建立網格模型,然后利用Fluent對所建立的二維軸對稱網絡模型進行數值模擬,通過UDF導出流場特定空間點發射筒平均壓力、平均溫度以及導彈相關運動曲線,并且生成內彈道各時刻云圖和動畫. 各內彈道曲線圖如圖5所示.

圖6,圖7顯示的是高壓室0.1 s和0.3 s的壓力云圖,對比云圖左側的刻度值,從左側可以看出0.1 s的壓力是429 596 Pa,0.3 s時壓力增高到1172 599 Pa. 這是由于開始燃氣彈射時,燃燒藥柱,產生大量的高壓氣體有噴管進入發射筒,從而在尾罩底部空間形成燃氣壓力,驅使導彈向上運動,發射出去[10],因此高壓室達到一種高壓狀態,有關高壓室溫度流場以及速度流場在此就不一一贅述了[11].

圖3 燃氣彈射內彈道二維數值仿真軟件結構圖

圖4 彈射內彈道三維模型示意圖

圖5 內彈道曲線輸出

圖6 0.1 s高壓室壓力云圖

動畫輸出包括3部分,分別是壓力動畫、溫度動畫、以及速度動畫,如圖8所示,用戶可以操作軟件顯示不同的動畫文件.

圖7 0.3 s高壓室壓力云圖

圖8 內彈道動畫輸出

4 結束語

燃氣彈射內彈道二維數值仿真軟件開發的核心部分就是運用C#語言對Fluent進行二次開發. 工程人員在軟件的界面進行參數設計,該軟件就可以研究不同配比條件下,壓力、流場、溫度等流場數據. 本軟件極大的節省了工程人員花費大量的時間去研究Fluent軟件的參數設置,很大程度上提高了科研人員的工作效率,適合做重復性實驗研發,為燃氣流場參數的預估和試驗測量提供理論和技術支持. 今后將繼續更加深入的研究以及完善此軟件,建立多平臺發射系統的基于流體力學的參數化結構分析軟件,完成對車載箱式垂直熱發射、車載掛式垂直熱發射、車載筒式垂直熱發射等多平臺發射系統流體力學仿真分析.

1譚大成,苗佩云. 彈射器低壓室二維內彈道模型及數值研究. 彈箭與制導學報,2006,26(4): 224-226.

2陳亞軍,儲岳中,張學鋒. 基于遺傳算法的導彈彈射內彈道參數優化數值仿真. 重慶理工大學學報(自然科學),2017,31(4): 127-133.

3Shinotake A,Nakamura H,Yadoumaru N,et al.Investigation of blast-furnace hearth sidewall erosion by core sample analysis and consideration of campaign operation.ISIJ International,2003,43(3): 321-330. [doi: 10.2355/isij international.43.321]

4宋先知,石宇,李根生,等. 基于FLUENT的熱力射流調制與流場計算分析軟件. 計算機應用,2016,36(S1): 315-318.

5李慧,王廣明,王東屏,等. 基于Fluent二次開發地鐵通風系統日志文件. 計算機系統應用,2015,24(4): 233-238.

6鄭智穎. FLUENT在粘彈性流體流動數值模擬中的應用[碩士學位論文]. 哈爾濱: 哈爾濱工業大學,2013.

7翟曉超,陳亞軍,姜毅. 動網格在仿真發射裝置內彈道中的應用. 現代防御技術,2006,34(2): 24-28.

8李崢. 復合推進劑固體火箭發動機噴流流場數值模擬. 固體火箭技術,2014,37(1): 37-42.

9王福軍. 計算流體動力學分析--CFD軟件原理與應用. 北京: 清華大學出版社,2004: 190-248.

10李仁鳳,樂貴高,馬大為,等. 壁面障礙物對燃氣彈射流場和內彈道的影響. 固體火箭技術,2016,39(3): 444-450.

11王麗,張學鋒. 某新型燃氣發生器發射過程藥柱燃燒數值仿真. 計算機仿真,2014,31(12): 37-40,97. [doi: 10.3969/j.issn.1006-9348.2014.12.009]

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲最猛黑人xxxx黑人猛交| 中文字幕在线观| 成年A级毛片| 精品国产Ⅴ无码大片在线观看81| 激情成人综合网| 精品福利一区二区免费视频| 欧美午夜一区| 国产欧美视频在线观看| 蝴蝶伊人久久中文娱乐网| 全色黄大色大片免费久久老太| 日韩美一区二区| 精品国产美女福到在线不卡f| 3p叠罗汉国产精品久久| AV老司机AV天堂| 精品无码一区二区在线观看| 午夜成人在线视频| 国产成人综合日韩精品无码首页 | 亚洲愉拍一区二区精品| 色视频国产| 国产96在线 | 91网站国产| 欧美精品成人一区二区视频一| 91国内在线观看| 动漫精品啪啪一区二区三区| 免费看美女自慰的网站| 免费不卡视频| 亚洲色图综合在线| 日本一区中文字幕最新在线| 亚洲视频无码| 国产成人高清在线精品| 18禁影院亚洲专区| 久久久久中文字幕精品视频| 国产一二三区在线| 一本大道香蕉久中文在线播放 | 欧美精品在线看| 天堂av高清一区二区三区| 国产在线精品人成导航| 国产精品yjizz视频网一二区| 久久国产精品国产自线拍| 亚洲人成网站18禁动漫无码| 永久免费av网站可以直接看的 | 国产91色在线| 久久久受www免费人成| 亚洲欧洲日韩综合色天使| 玖玖精品在线| 国产在线小视频| 日韩欧美中文亚洲高清在线| 欧美一区二区三区不卡免费| 国产幂在线无码精品| 福利一区在线| 99视频全部免费| 国产尤物视频在线| 国产成人无码播放| 日韩无码白| 青青草原国产av福利网站| 国产成人精品无码一区二| 国产黑丝一区| 精品久久久久久久久久久| 国产精品自在拍首页视频8| 成人国产精品视频频| 国产高清国内精品福利| 国产精品自在自线免费观看| a毛片在线播放| 无码综合天天久久综合网| 国产黄网永久免费| 51国产偷自视频区视频手机观看 | 午夜精品福利影院| 国产免费黄| 99这里只有精品免费视频| 久久精品丝袜| 91亚洲免费| 亚洲三级网站| 在线欧美日韩| 久久黄色视频影| 91视频青青草| 欧美日韩国产综合视频在线观看| 日韩一区精品视频一区二区| 国产黄在线免费观看| 香蕉综合在线视频91| 亚洲精品福利视频| 国产99热| 国产精品三级专区|