• Menu

    工業軟件為什么這么難?

    發布時間:2020-07-03

    本文由知識自動化(zhishipai)授權轉載。作者林雪萍 趙堂鈺。


    工業軟件中幾乎最難啃的三座大山,就是CAD、CAE和EDA,大山中間還穿插了許多小的丘陵,如CAM、拓撲優化、工程數據庫等。工業軟件這三座大山,是人類基礎學科和工程知識的集大成者。


    盡管它支撐了整個工業的體系,但它的市場份額卻小的可憐,不拿顯微鏡,是找不到它的存在。然而它自身的構成,分別是令人望而生畏的數學、物理、計算機和工程經驗。沒有一種產值如此微不足道的工業產品,卻需要有如此漫長的生命軌跡。從大學的數學方程式開始出發,經過漫長的物理機理的冶煉、計算機科學與技術的萃取,最后還必須經過工程知識的淬火,才能成為一個成熟可用的工業軟件產品。
    1.png

    1_副本.png



    圖1:工業軟件的技術圖譜


    四大技術圖譜就像四座護法金剛,形成了深不可測的技術鴻溝。這對于任何一個工業軟件企業,十年發展的沉淀,那還只是開始。這條路,太漫長了。


    數學基礎需要扎實


    工業軟件首先要有良好的數學基礎。計算機輔助設計軟件CAD這個學科的淵起和發展,主要是數學的一個分支微分幾何突破之后,進化出了一個新學科——計算幾何,孔斯、弗格森、貝塞爾等為CAD,CAE,EDA等軟件所依賴的3D幾何造型提供了強有力的理論基礎,在此基礎上發展起來的NURBS相關曲線曲面理論和算法是目前大部分商用軟件所使用幾何引擎的關鍵技術。


    而仿真分析軟件CAE無論對于數據的前處理和后處理,還是各種求解器,對數學也有很高的要求。


    前處理不僅僅是數據導入、模型修復和顯示,很大一塊是網格剖分的能力,這部分的技術門檻不低。算是CAE領域后起之秀Altair作為有幾十產品的上市公司,至今前處理軟件HyperMesh還是最重要的旗艦產品,貢獻了公司最多的收入,也是在CAE領域站穩腳的基石。后處理在大規模的數據處理和直觀、動態、炫酷可視化展示方面也有很多需要研發的內容,尤其是在B/S架構下,如何通過Web頁面快速高質量加載巨大的CAE計算結果,會是一個巨大的挑戰。


    工業強度的網格生成算法不僅有很深的理論問題,也有很大的程序開發工作量。德國的斯杭博士在德國開發Tetgen,從2000年左右開始一直只做這樣的一件事情,堅持了20年,才有了和商業四面體引擎ghs3d競爭的能力。同樣法國Distene公司開發的MeshGems系列網格剖分系統被廣泛用于商業CAE軟件,最早來源于INRIA(法國國家信息與自動化研究所),十幾個研發人員也專注開發了近20年。


    工業軟件這條路上,盡是寂寞的黑夜中的探索。


    在NASA公布的CFD VISION2030戰略咨詢報告中,網格生成是單列的五項關鍵領域之一,并被認為是達成2030愿景的主要瓶頸。就在這樣一個高難度的領域,國內很多軟件都是裸奔,依靠Gmsh之類開源算法無法滿足客戶定制改進的要求,很難做到工業應用主流中去。


    優化也是普遍性的數值方法,包括優化理論、代理模型等,是求解復雜工程問題的基礎,更不用說對各種路徑規劃所涉及的矩陣理論、泛函分析、動態規劃、圖論等等,無不是多約束條件下的多目標自動解空間尋優,背后都是數學王國建構的基礎之基。


    各種CAE、EDA軟件中需要多種計算數學理論和算法,包括線性方程組、非線性方程組求解、偏微分方程求解、特征值特征向量求解、大規模稀疏矩陣求解等都需要非常深厚的數學基礎。如果不能熟練運用各種數學工具,對物理場的建模也就無從談起。


     物理場面臨著多種挑戰


    頭疼的數學之后,接著是頭疼的物理。這是仿真軟件、EDA軟件需要突破的地方。工業技術的源頭,是對材料及其物理特性的開發與利用。因此,對多物理場及相互耦合的描述與建模是各種仿真分析軟件的核心。


    而工業軟件由于要解決的是真實的大千世界,所有看得見、看不見的物理場,都在按照各自的機理自由游蕩。工業軟件必須要跨越十分寬廣的學科光譜,跨越了錢學森科學技術體系的基礎科學、技術科學、工程科學、工程技術,而且也會包含大量的經驗、訣竅等“前科學”知識。具體而言,任何CAE軟件在市場上存身的根本都是其解決結構、流體、熱、電&磁、光、聲、材料、分子動力學等物理場問題的能力,每種物理場都包含豐富的分支學科。


    仿真分析軟件CAE的求解器由物理算法組成,每個專業領域都有一堆問題求解算法,不同領域如電磁、結構、流體的求解器處理機制,完全不同,基本沒法通用;另外一方面,跟FEA有限元方法有關,采用的單元類型不同,問題求解算法也不同。因此,雖然也有第三方的求解器,但無法像三維CAD軟件領域那樣形成通過出售幾何建模引擎和幾何約束求解引擎獲利的商業模式。


    以結構為例,為解決結構設計的問題,有可能會涉及到理論力學,分析力學,材料力學,結構力學,彈性力學,塑性力學,振動力學,疲勞力學,斷裂力學等一系列學科。在這個基礎上,主流的CAE軟件都支持結構優化功能。相對于傳統的CAE的僅限于評估設計是否滿足要求,結構優化軟件在創成式設計等先進技術支持下可自動生成更好的結構輕,性能優、裝配件少的更優設計。

    2_副本.png

    圖2:物理場之上的工業模型

    (來源DARPA)


    由于現實世界的發展要求,產品的智能化提高導致的復雜度提高,往往產品本身涉及多場多域問題。物理場有太多的組合,相互之間又干擾不清。這些復雜的問題,既要深刻理解學科自身的物理特性,并對這些學科物理特性所沉淀的學科方程,如電磁的麥克斯韋方程、流體力學的伯努利方程、納維-斯托克斯方程等等,深刻理解之外,還要對實際工程應用領域的多物理場交織耦合環境能夠快速解耦,讓不同學科不同特質的特征參數迭代過程中能夠互為方程組求解的輸入輸出,以便對多場多域的工程問題進行優化。

     

    隨著現在需要處理的模型規模越來越大,模型本身也越來越復雜,現有國際上大型商業CAD、CAE、EDA中使用的幾何建模引擎和幾何約束求解商業化組件產品(包括InterOp、CGM、ACIS、CDS、Parasolid、D-Cubed等)廠商達索系統、西門子等也在不斷跟進最新的計算機技術。比如最近也在采用多線程技術不斷改進之前的算法,用于大幅提升模型導入、模型修復、縫合、實體建模、布爾運算、面片化以及約束求解的效率。

     

    輪到了計算機科學


    正如當年圍繞機床的“數控技術”,很快就演變為“計算機數控技術”和“計算機輔助設計”一樣,工業軟件的誕生和早期發展受到計算機與多媒體硬件進步的推動,之后又隨軟件技術、互聯網、計算模式的浪潮起伏。工業軟件是軟件,但它是硬件設備高度融合。二者無法分類,也不能相互修飾,就像兩口子的結婚照,少了任何一張面孔都是不可想象的。工業軟件,不可能忽視計算機科學與技術的問題。


    這其中涉及到計算機硬件技術自身的迭代進步,從大型主機(Mainframe),到工程工作站,再到PC,最后來到云計算,甚至到未來的量子計算與普適計算,每當先進的計算技術出現,與之相匹配的工業軟件,就會以鮮明的時代特征,出現在工業界的面前。


    軟件工程,是為了應對大型軟件編碼可靠性和質量管理問題的一門學科,而應時而生。它是支持協同開發、保障軟件生命力的重要因素。軟件工程是驅動軟件全生命周期工程活動的基礎學科。軟件工程重點是算法分析、計算機安全、軟件質量控制、軟件測試與維護。這其中也涉及到系統架構設計、面向對象程序設計、數據庫,計算機圖形學與可視化、操作系統、編譯原理、數據結構、HPC/GPU 并行計算等各種學科。


    除了用戶打交道最多的軟件界面之外,工業軟件需要涉及一個良好的軟件架構和過程管理、統一數據標準、接口標準、方便幾何建模引擎、約束求解器、前后處理、CAE求解器等優勢資源集成。加速軟件更新迭代,軟件自動化驗證,工程經驗的積累,軟件跨平臺(集群,超算)部署,多種服務模式支持,二次開發腳本支持等,以至于后續大規模仿真數據的挖掘、分析等。


    工業軟件模型之間的兼容性問題,目前主要是通過遵循STEP標準解決的。在美國和歐洲,都有推動STEP標準開發及應用的非盈利組織,特別是近期包括波音、空客、GE、洛克希德-馬丁等航空巨頭推進的LOTAR(長期歸檔和檢索)項目也是以STEP作為基礎。各種CAD、CAE、EDA格式之間相互轉換造成的信息丟失和精度丟失每年都會造成高達數十億美元的損失,而如何有效復用這些模型數據也長期困擾著各個行業,特別是不少國內廠商在設計模型過程中沒有遵循嚴格的標準,“制造”了不少問題數據,這些模型數據傳遞到下游行業也造成了很多問題,有些模型甚至基本不可復用。


    工程知識是最后的淬火


    如何將工業技術與知識寫進軟件,是業界最關注的議題。


    麥克斯韋Maxwell能解決電和光的物理方程描述,但卻解決不了一家電氣制造商的設計制造問題?;A技術很重要,但不能解決工程問題。工業軟件經過工程知識的淬火,才能與工業應用場景結合。


    工業軟件可以分為“基-通-?!钡膶哟?。第一層是類似CATIA、UG這樣的基礎通用平臺?;A通用平臺是最難的,它裹挾了多年的知識沉淀和用戶使用習慣,因此門檻很高。在此之上,第二層是行業相對通用的知識,包括行業設計標準規范、試驗測試數據、人機工程學等;而再上面一層是針對特定產品的專用知識,由于面非常窄,個性化非常明顯,則往往更加小眾,知識密度更大。


    工程界的建模與分析問題,混合了很多不同維度的問題,既有基礎學科的交叉如數學、如物理;又有不同的工程經驗的混合。

    3.png

    圖3:建模(鳴謝達索系統吳敏提供此圖)


    因此工業界,其實基本不需要聽阿里系、騰訊系所談到的“建?!?。他們會談到建模,但在那里,那是一種社會科學、軟科學,事關消費、交易,是商業而不是工業,完全無法解決工廠里的物理世界。他們用了同樣的名詞,卻在做著不同的事情。


    一個簡單的示例可以區分兩者的核心區別,互聯網公司的用戶畫像建模,它們的這種模型,用大數據抽取年齡、收入、地域、階層、職業、學歷等等,然后關聯到購物交易嗜好行為。而工業界一談到用戶畫像建模,其實是完全不同的概念。首先它是一個計算機完全描述的對象模型,其多態使用場景隨后也精確表征,而這種用戶畫像模型,如果用在設計階段,就是人機工程分析、使用行為分析;如果用在生產現場,就是一個資源,有其資質、勞動能力等級、關鍵設備持證,安全區域等級等等所描述;如果是一個終端用戶,則不同大陸百分位身高、駕駛習慣、駕駛舒適感包絡、地域色澤嗜好等等是這種模型的特質,因為這樣的三維模型可以直接載入虛擬產品中進行各種場景的模擬優化和體驗,而與偏向購物交易促銷的互聯網用戶畫像模型相差十萬八千里。

    4.png

    圖4:模型分析(鳴謝達索系統吳敏提供此圖)


    制造現場涉及大量的工藝過程,這種Know-how的轉移,是一個非常復雜的知識擴散現象。各種工藝如鑄造、焊接、沖壓、鍛造、切削、熱處理等,各有各的現場訣竅。許多暗默知識,只可意會不可言傳,師傅的言傳身授往往是最好的方法。而工業軟件,正是向這種知識轉化進行宣戰。大量的制造經驗,要想變成算法、編碼,固化到軟件,那都是一個漫長的過程。工業軟件的價值,因此得以凝聚。


    實際上,工程知識的匯聚,也會形成用戶的使用習慣。一旦用戶形成深度依賴,后來者軟件的替代將成為非常艱難的攻城術。在芯片領域,電子設計自動化軟件EDA則深度地嵌入到芯片設計公司和晶圓代工公司,三者相互連接在一起,不可分離。很多EDA軟件,根本得不到代工工廠的工藝數據,而這是EDA發展歷程中最為重要的養分。沒用了用戶的反饋,軟件因此而 “餓的面黃肌瘦”。


    工業軟件是人類制造知識的最好結晶體


    工業軟件是架構在數學科學、物理科學、計算機技術和工業技術之上的宏大建筑,一座復合型知識的宮殿。


    工業軟件最奇妙的地方,它一旦集成了前人的技術,它就很少會流失。這跟任何一種設備類的不同,一個老工程師不在了,現場工藝就可能斷掉。但工業軟件則是一層一層,既有來自軟件廠商數學、物理奇才的心血,更有來自數百萬工業用戶的使用反饋——這形成了一座堅實的護城河。唯有如此,它綜合了如此不同的精華,工業軟件才成為人類知識的集大成者。


    這是真正的工業之花。一花雖小,世界皆在。

     

    (鳴謝:本文的寫作得到了“工業軟件發展論壇”微信群各位專家的大力支持,十分感謝!特別感謝杭州新迪總經理彭維、達索系統大中華區首席技術官CTO趙文功、安世中德技術總經理包剛強、達索系統Spatial大中華區負責人吳敏提供的幫助。同時也感謝陳建軍、陳璞、王高峰、趙康、郎燕、唐濱、趙敏、丁研等各位專家討論所提供的思考。)


    作者簡介

    林雪萍:南山工業書院發起人,北京聯訊動力咨詢公司總經理,微博@南山林雪萍

    趙堂鈺:南山工業書院工業軟件研究組


    极速快三 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>