像整機氣動模擬或者結構模擬這種大活,真正的計算過程肯定是要在超算上面完成。
但是作爲輸入輸出終端的PC上面還是可以看到保存下來的日誌文件。
這個年頭,很多終端和服務器的連接還是跑batch的FTP,一天只抓取一次數據的那種,而不是實時聯動的API。
當然因爲服務器端的計算速度本來也比較有限,所以倒也不顯得效率很低。
“我們主要在兩個方向的研究裡面遇到了基本相同的麻煩。”
姚夢娜把兩臺電腦放在桌子上,稍微理了理散亂開的頭髮之後開始解釋道:
“一個就是剛剛說過的,對機體部分進行結構分析的計算結構力學問題。”
她說着在其中一臺電腦的鍵盤上敲擊幾下,進入了一個賬號,並調出一系列的運算結果。
緊接着又轉向第二臺電腦,進行了類似的操作:
“另一個就是,我們同時也在研究飛機投擲大尺寸吊掛物時候的氣流乾擾問題。”
“在之前的風洞測試中發現,有些彈藥,尤其是一些本身升力比較強的巡航彈藥,它們和機翼形成的整體被破壞之後,不僅不會馬上進行自由落體,反而會向上運動損壞機翼,我們希望能在第七批次的飛機投產之前解決這一隱患。”
早期的蘇27由於基本不考慮對地攻擊,不需要攜帶什麼大尺寸彈藥,而且也沒有外掛副油箱,所以無需考慮這類問題。
所以,在同一平臺開發多用途飛機的時候,就會產生一些很容易被忽視卻又奇奇怪怪的問題。
“我來看看……”
常浩南來到剛剛的第一臺電腦前面,彎下腰認真地查看起程序的運行日誌來。
跟在後面的何明則非常恰到好處地搬來一張椅子放在常浩南身後。
“常總,您先坐。”
過了幾秒鐘,意識到什麼的他又給姚夢娜搬來了第二張,放在緊挨着常浩南的地方。
“用的是雙曲型面結構網格和體結構網格……說起來,你們這建模的水平很高啊,幾何造型處理步驟只用了幾天時間就結束了?”
幾何造型處理,是網格生成過程中的前序步驟。
1997年這會,全世界絕大多數計算流體力學和計算結構力學模擬面臨的主要難題,其實是缺乏一個成熟的,從CAD模型到表面結構網格生成的應用工具。
對於現有的網格生成工具來說,對於一些精度稍高一些的模型,往往需要6個月左右,甚至更長時間才能完成整個生成工作。
比如波音747LCF的簡化模型都用了4個月時間。
而V22魚鷹更是花了超過9個月。
並且從後來的角度看,顯然還存在設計缺陷。
相比之下,耗時幾個星期到一個月的幾何造型處理並不算什麼大問題,也完全可以接受
但是對於TORCH Multiphysics來說,網格生成過程一般會被縮短到1-2個月,這樣一來,幾何造型處理的速度就顯得有點慢了。
只不過常浩南始終沒來得及把精力放到建模那邊,一直都是直接用達索的軟件包。
“蘇霍伊那邊的工程師帶來的一個新建模軟件,叫KOMPAS,我稍微調整了一下TORCH Multiphysics的接口兼容性,讓它能直接對接kom格式的工程文件。”
“本來只是圖個省事,結果發現這套建模方式跟我們軟件的適配度非常高,就這麼一直用下來了。”
儘管這並不是今天要解決的主要問題,但常浩南還是稍稍留意了一下。
大毛的電子工業水平停滯了將近10年,已經逐漸落後,但要論軟件和算法這塊,倒並沒怎麼落下。
雖然由於市場不夠大的問題很少出什麼爆款(除了telegram),但絕對是有一些奇技淫巧在身上的。
一段小插曲過後,常浩南再次把注意力放在了後面的網格生成日誌上面。
“子區域網格塊數253……”
“網格單元數13300萬……確實不少,複雜度很高嘛……”
“網格裝配……”
看到這最後一步時,他很快發現了不對勁:
“吔?”
按照正常的流程,TORCH Multiphysics應該把這253個網格塊通過重疊區域內的網格間插值自動“拼裝”在一起。
但日誌卻顯示,軟件在這個步驟上,卡住了。
準確地說,是在這個拼裝步驟之前的數據抓取過程中就卡住了。
“數據太多了?”
這是常浩南第一個想到的可能。 但他設計的網格生成算法邏輯裡面,特地針對大模型降低了計算複雜度。
也就是說模型再複雜,無非是計算所用時間無限延長,並不會導致爆內存之類的問題。
總之就是不可能卡在這裡。
“你們試過手動裝配麼?”
常浩南思索片刻之後問道。
“試過,但其它部分都好說,到這個中央升力體的時候,哪怕子區域網格只是出現較小的變動,裝配輸入文件也要做相應的修改,如果全都手動完成,那大概需要……”
姚夢娜微微擡起頭計算了一下:
“大概需要手動輸入大概6萬行代碼……”
“……”
6萬行代碼聽着不太多,但考慮到TORCH Multiphysics都自動進行不下去,必須手動調參,這裡面肯定還涉及到很多計算和轉化問題。
而且更麻煩的其實是,作爲一個新軟件,能夠熟練完成這個過程的人也比較少。
總之,顯然不是短時間內能完成的。
常浩南之前對軟件進行測試的時候,因爲時間緊任務重,也不可能用這種上百個子區域,幾億網格單元的模型去測試。
實際上TORCH Multiphysics發佈這麼長時間以來,就各個用戶反映上來的情況看,也沒有誰用在了這種體量的模型上。
所以之前才一直沒發現問題。
“手動裝配也進行不下去的話……”
常浩南眉頭微蹙,手指在鍵盤旁邊的電腦外殼上輕輕敲擊着。
“有沒有考慮過放棄網格節點的結構性限制,考慮在表面變形時,根據物體邊界的變化動態調整模型規則?”
“……”
一陣沉默。
姚夢娜和何明面面相覷。
從二人的表情來看,甚至沒能完全理解常浩南這句話的意思。
“比如說。”
看着眼神清澈的二人,常浩南只好做進一步的解釋。
但在身上摸了半天,也沒找到紙筆。
瞭解常浩南習慣的姚夢娜趕緊從包裡拿出來,放到常浩南手邊。
“比如說,我們可以把計算區域比作一個線性彈性體,通過求解彈性力學方程組確定網格節點的位移……”
“代數模型是指網格的位移由動邊界位移乘以一個係數得到,該係數在動邊界上取1,而在遠場邊界上取0,內場按一定函數規律插值……”
“……”
一番計算和說明之後,常浩南在已經被畫滿了的紙上畫下一個圈:
“當然,也不是所有地方都能這樣,對於太複雜的部分,就可以將網格單元的各邊看作彈簧,彈簧係數與邊長有關,當邊界運動後,通過求解彈簧系統節點受力平衡問題確定新點位置……”
“這樣就能在計算過程中調整和控制單元的大小、形狀以及網格點的位置,對於網格邊界的要求會降低很多。”
“……”
又是一陣沉默。
“TORCH Multiphysics裡面……還有這個功能?”
過了相當長一段時間,姚夢娜才用有些懷疑人生的語氣問道。
她明明親自參與了這個軟件的開發,但剛剛思索了半天,實在沒想起來還有這種玩法。
“當然沒有。”
常浩南咔噠一聲把圓珠筆尖按了回去:
“但你們可以自己改一下啊!”