是什麼在阻礙本土大型模擬軟體的研發
這個是個針對前兩天一個問題的回復。這個問題很大,希望在這裡起到拋磚引更多磚的討論。
其實國產大型模擬軟體的歷史算長的,最有代表性是鍾萬勰牽頭做的結構分析軟體(名字忘了,後來好像還擴展到了滲流問題)。其他領域如電子和化學等七八十年代也開始了自主研發。但現在大型軟體裡面開源不開源的好像只剩下felac,其他大部分學校和公司都去做別人的二次開發和代理軟體去了。
論人才資源,中國高校和研究所不缺基礎好的學生,工業界也不缺好的工程師。光知乎上我開始寫文章以來認識的估計就能組個團隊搞力學軟體。各大高校也紛紛上馬計算研究中心。所以我覺得阻礙中國國產大型模擬軟體的進步的主要因素不是人和錢的問題,而是制度和軟環境的問題。
先說軟體開發的出發點。中國想做先進位造業大國,被國外模擬軟體牽著走不行。幾十上百萬的成本,嚴重阻礙中小企業改變生產模式,也妨礙企業內部科技成果轉化和下游工業技術進步。中國的數控機床比日本差,造船精度比韓國差就是這個道理。況且涉及國家安全和利益的軟體,人家也不讓出口。這裡講一個應用工程師(AE)的同事經歷的一件事。AE經常接到用戶的技術諮詢電話。某天他接到個電話,問某個模型怎樣怎樣的問題。他按工作程序先問對方單位,對方支吾了一陣,最後發現是伊朗某大學的研究生在打電話問功課。那個AE同事就尼瑪了,好說歹說把電話掛了。照行業先例,他要是跟對方暢談一小時火箭模型如何載入,估計FBI就找他喝茶司法部就找公司吃官司了。所以,國產模擬研發確有必要做。
再看誰來做。這類軟體大多源於高校和研究所。LSDYNA出自LLNL,NASTRAN出自NASA, ABAQUS實際上是布朗大學幾個博士組的(這幾個人成立abaqus之前在marc工作過,後來MSC把MARC買了。所以計算力學的工業研發很大程度上都是一家人,你跳這家我跳那家,直到今天也是。這跟只有幾個大的game players有關)。再看國內,類似上面機構的我們都有。但大部分學生和老師都沒有動力和能力做開發。對於學生,一般來說是力學和工程基礎好,但是軟體工程知識不夠。軟體知識,我不是說會不會寫cpp或者fortran, 而是設計模式,開發流程等項目工程的知識。這不能怪學生:計算力學二級學科都被國家撤了,你要學生腫么學?!對於老師,科技軟體開發的主力是青年研究者。我們現在的高校青年教師被論文指標和教學任務折磨得死去活來,哪個有動力花幾年做一個項目。這於是造成惡性循環: 學生和老師只能靠現有程序做模擬, 靠現有程序不利於新演算法和新技術的產生和驗證,沒有新演算法和新技術也自然沒有必要重起爐灶做開發。現在流行的開源的軟體,出現的時候都有自己技術領先的項目。openfoam的出發點是作者受不了fortran而當時OOP開始興旺,su2的出發點是作者要做優化,等等。只有跳出上面這個死循環,才能jump start國產學術界在這個領域的進步。
其實國內高校和研究機構也的確在組織人力做開發。我所知道的,中物院在做多物理場求解器,哈工程打算做基於船舶工程的流體求解器。後者還組了個專家團,把國內外搞邊界元有限元淺水波的十幾個專家請到一起。接下來的問題是,專家是請來動嘴的,動手的還是學生和以後的潛在用戶。這批人其實也沒有多少主動性做開發驗證。對於人力資源,就算找到一批懂軟體懂力學的學生,他們要是能寫成熟的軟體,多半也不會在計算力學待而改行做前端做全棧了,因為畢竟後者機會多待遇好。這不只是國內的問題。我一次開會聽大名鼎鼎的deall.II的作者聊他的經歷。德國博士畢業之後在歐洲找不到工作,被迫到UT austin當了N年的postdoc(後來終於好了去TAMU當了教授,最近去了科羅拉多州立)。deal.II是我見過的寫得最漂亮的有限元程序。如果這樣的作者都不好找位置,國內做開發的研究生的對口機遇就更少。說白了,國內的科研職位應該提高待遇留住青年人才。
還有一個問題是合作。這類大型項目的合作要求很高。su2就是個例子,其開發團隊其實是歐洲幾個大學的,只是由stanford的歐洲教授牽頭。國內高校已經有合作的問題,比如說重複建設。加上其實很多人還不願意分享,怕自己辛辛苦苦做出來的被人撿了便宜,校方也把持了科研人員知識產權問題的很多話語權,等等。這些都影響合作。
最後還有商業化問題。就像上面說的,會寫程序的多半都改行去網路公司了。科技軟體的用戶培養,不是在微信上請水軍建點營銷號的問題,是培養用戶端的技術群和獲取技術信任的問題,是需要錢和時間的。本土軟體公司和投資方有沒有魄力和耐心,也是推動這類專業軟體成熟的重要因素。
拉拉雜雜寫了不少,還是希望國產CAE變好,歡迎拍磚。
推薦閱讀:
※Castbox:青少年的播客電台
※吃海底撈反思軟體產品工匠精神
※跟著「片場」去旅行,去嘗一口電影的味道
※學習本質?
※【比特幣敲詐者】真的有CCTV宣揚的那樣可怕嗎? 它的原理是什麼?