有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結

(原創,轉載請注明出處)

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖11 總結概述

隨著有限元基礎理論和Abaqus內部實現方式研究系列的文章的發布,我們每十篇將總結一下我們在開發自主CAE過程中的實際經驗和體會,和大家共同探討自主CAE的發展道路:

(1)自主CAE開發實戰經驗第一階段總結。介紹了iSolver開發以來的階段性總結,從整體角度上介紹一下自主CAE的一些實戰經驗,包括開發時間預估、框架設計、編程語言選擇、測試、未來發展方向等。

http://www.yqgqt.org.cn/content/post/532475

(2)自主CAE開發實戰經驗第二階段總結:iSolver上一階段主要是技術功能的開發研究,第二階段介紹自主CAE開發過程中的商業化思維和可擴展、易維護平臺的重要性。

http://www.yqgqt.org.cn/content/post/1204970

本文為第三階段,介紹自主CAE軟件的開發目標的初心、市場推廣策略和第三階段iSolver的開發重點。

                                             

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖3

2 第三十一篇:自主CAE開發實戰經驗第三階段總結:

2.1 “初心”- 以市場和經驗分享為開發目標

自主CAE軟件的開發進入了第三階段,當我們五年前在技術鄰上發布iSolver第一個版本時,自主CAE基本無人問津,前途灰蒙蒙一片,國內也沒幾個愿意聲稱自己是做自主CAE軟件的,當時我們還在文章中寫過,按現有的開發經驗來說,如果不是國家政策和發展模式的轉變,預估一下,我們這一代人退休了,自主CAE可能還是沒法達到商用。沒想到隨著中美貿易的緊張,短短兩三年,自主CAE已是百花齊放、百家爭鳴的時代。當然,每個軟件的發展現狀還是層次不齊的,這么多自主CAE軟件,按開發目標可以分為兩個階段:

(1)   第一階段,以獲得啟動資金為目標的起步階段。想要做自主CAE,那么必須獲得部分的啟動資金來投入到開發中,有些靠公司的長期規劃自投入,有些靠外部資金引入,有些一開始就以申請國家項目為目標,當然,也有像我們一樣,純靠在市場上做商軟二次開發支撐下來的。當一窮二白時,幾乎所有的團隊都希望能從外部或者國家那邊拿到大項目作為啟動經費,然后做自主CAE的開發,但外部資金和國家的項目畢竟是少數,就算有幸獲得贊助,至于能不能進入下一個階段也要看開發者的側重點。外部或者國家項目首先是以項目驗收為目點,如果領導們沒有想要利用這部分經費投入切合市場的開發,那么項目會花大量時間在驗收文檔、演示、宣傳等的精細化而忽略了軟件產品本身功能的開發,驗收時的成果也很難用于市場。但如果領導和開發者上下同心,完全可以利用項目周期,做出真正對自己有用的內容,畢竟項目的內容基本都是自己寫的也基本是自己想做的。

1.jpg

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖5

(2)   第二階段,以市場應用為目標的成長階段。以市場應用為目標是自主CAE的必然趨勢,這點我們在下方章節將詳細敘述。而用一個新的軟件絕對是要花很多時間來摸索的,特別是通用功能商軟基本已經壟斷而大家還普遍對國內自主軟件開發的精度和穩定性不夠信任的時候。除開一些商軟禁運的行業,想讓市場上的一個陌生用戶愿意花時間來使用、真銀白銀的花錢買你的軟件,那么你的軟件肯定要解決他的實際問題,分兩個層次:

a)      第一個簡單的層次:你的軟件有商軟能做但做起來費勁的功能,譬如比商軟做的更自動化、把計算的流程固化,可以省客戶的時間,同時將客戶的經驗集中管理形成企業知識的積累。

b)      第二個復雜的層次:你的軟件有商軟沒有的功能,現階段只要稍微通用點的功能商軟都會自己實現了,所以只能在個別專業點上突破,以此為切入點來逐步完成對商軟的替代。

當然,前面兩個層次只是技術方面的問題,但市場應用另外一個問題是自主CAE軟件的宣傳和市場商業化推廣,這遠比開發更難。我們可喜的發現起碼國內已經有幾家的CAE產品已經達到了這個階段,軟件演示的用戶體驗已經達到了商軟的水平,提供實際下載運行使用,而且做的宣傳也相當專業化。

1.jpg

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖7

iSolve已經過了一窮二白的階段,現在已經有個完善的有限元開發平臺,用戶可以直接在我們的平臺上完成一些結構有限元分析的基本功能,對客戶的問題也能快速反饋,我們團隊精力有限,沒能力對標商軟的強大優勢點做全面替代,而只期望做個補鞋匠圍繞商軟的缺點修修補補,然后在市場上能站住腳跟,能少做些商軟的二次開發,更多的是做些自主軟件的定制開發來養活自己。當然,我們也陸續和其它單位合作申請了一些國家項目,這要比我們以前靠在市場上做商軟的二次開發來說有更多的經費來支撐開發,在我們自己的平臺上的開發也比商軟二次開發更能促進自身的發展。但不管如何我們依然時刻提醒自己,市場上的應用才是真正的目標,也會重視軟件的可靠性和用戶體驗反饋。同時,和五年前發布第一篇文章的初衷一樣,我們做iSolver和寫文章的另一個目標是希望將開發CAE的足跡留下來,對后來者有個參考,希望能帶給自主CAE開發者一點信心和堅持的動力。

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖8

 

1.jpg

2.2 “途徑”-以市場推廣敲碎自主CAE軟件發展的死循環

在自主CAE領域,有個普遍的想法,沒有十年的努力,不會有結果。假如,靠著國家的補助,你的團隊連續十年都可以靜心開發自主CAE。那么,自主CAE經過十年后會發生什么情況呢?有兩種可能性:

(1)   你成功了,真的做出了比肩市場的大型CAE軟件,且功能和精度等都達到了國際水平,一開始,你可能會通過實在的價格獲得一部分利潤,然后國外商軟一看苗頭不對,也開始大幅降價,先把你的價格優勢抹平,然后利用市場優勢繼續在學校、小微企業免費使用,過段時間,慢慢購買自主CAE的企業逐漸變少,等耗死了你,再提價。整個過程和上世紀八九十年代基本一樣,死的還是自主CAE,商軟依然流行,唯一收益的就是國家,起碼可以以更低的價格買到同樣的產品,而開發者除了沾點名氣外對自主CAE也沒多少貢獻。

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖11

(2)   你還沒成功,此時你的自主CAE還沒不具備商業化能力,國家投入了自主CAE十年后,發現成效不大,直接不再投資,需要你到市場上自己打拼,由于一個大型軟件的開發和維護需要一個長期穩定和一定規模的團隊,那么必然要求每年都得從市場上獲得一部分維持的利潤,不得不轉做商軟的二次開發或者一些專業化的集成定制工作,導致團隊投入自主CAE的精力越來越少,慢慢隊伍就散掉了,更是無法開發出適應市場的產品,最終只能接受市場的淘汰。

 

要打破這個死循環,那么只有一種可能,以市場為導向,在這十年開發的過程中,慢慢將市場和商業化做起來,技術和市場都不比商軟差,努力在惡劣的環境下和商軟共存。現階段,想要直接取代商軟太難了,畢竟人家已經發展了幾十年,按照等效原則,就算商軟不繼續進步,沒有相同時間內的積累也很難達到商軟的高度,所以,更切實的是分析商軟在市場上做的不好或者不做的工作,力求在這些方面做一些有特色的工作,在某些細分領域讓自主軟件也有一席之地。

(1)   點對點的驗證

1.jpg

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖13

軟件的驗證是軟件推廣中的一個重要環節,真正想要對軟件進行驗證,我們發現只有點對點的兩種途徑:

一方面,技術鄰的一些用戶反饋后點對點的技術指導和改進,甚至為他做一些功能的快速定制,所以,我們很歡迎大家在使用過程中對iSolver有任何的問題來聯系我們,對我們來說,您的使用和問題反饋是非常寶貴的經驗。

另一方面,就是線下請熟人驗證,這種時候才會真正的去用你的軟件來計算他的工程模型,像測試商軟一樣去校核計算的結果,反饋軟件的使用情況,甚至寫相應的驗證報告。當然,這種校核一般都要花很多時間,而自主軟件的開發很多時候像這種宣傳、驗證是很難申請到經費的,所以,前端時間我們也只能請有業務來往的以前的項目合作者或者未來的合作者幫忙測試驗證,在此,也感謝最近幫忙校核軟件的合作者。

 

(2)   大批量的宣傳和推廣

1.jpg

誰都希望推廣的時候把自主軟件放網上一掛,然后用戶自動去下載試用、反饋,但事實上這種只是開發者一廂情愿的想法,自愿自覺的用戶實在太少了,除了你的軟件功能具有不可替代性,基本不會主動去下載了解的,而現階段自主軟件想要做到商軟沒有的功能實在太難了,iSolver這么多年用戶使用下來,也僅僅是利用Matlab來實現UEL/UMAT等子程序的功能是商軟不可替代的,以致很多用戶以為iSolver是不是就是個子程序調試工具,而很少有人離開子程序真正去用一下它的核心有限元求解功能。和商軟相比,我們的反饋速度絕對是快的,不信你可以試試在技術鄰上我們發布的視頻或者帖子下方留言一下,看看我們什么時候回答你。商軟不出問題還好,但要是遇到Bug,遇到希望商軟修改的地方就麻煩了,商軟處理問題的程序相對復雜,如果有些開發問題,那么必須還要聯系國外的開發人員,周期較長,而且還要看你的客戶等級,能修改已經算可以了,至于是否下個版本修改就不一定了,很多時候并不是他不想改,而是商軟的只要涉及到底層的代碼都是上世紀七八年代的語言,維護困難,牽一發動全身。

 

(3)   定制和產權才是客戶想要的功能

1.jpg

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖16

商業軟件中,通用軟件還是主流,商軟基本都是以通用為主,這是有很大的歷史淵源的,像結構CAE軟件Nastran、Ansys、Abaqus分別是1964、1972、1978年的產品,當時基本沒有像現在一樣強大的競爭對手,相反,CAE的應用也恰好是有限元在各個行業驗證,分蛋糕的過程,軟件的功能自然是通用為主。通用軟件只做一些核心求解功能,而各個行業各個領域又都存在不同程度的規范校核、行業建模標準等,商軟就提供基于二次開發的接口供這些行業開發者定制開發。但二次開發的能力完全取決于商軟提供接口的開發程度,有些行業特定的需求商軟接口并不提供,這個時候就是個無解的問題,而且,二次開發僅僅是插件,主體永遠都是商軟,你也沒有任何的資本和商軟去談產權合作。自主CAE軟件可以以商軟的通用功能為目標去研發,但客戶真正愿意花真金白銀來買你的軟件的只會是按他要求的定制功能,都是以他的行業專用軟件為開發目標,同時,對產權的歸屬他肯定有一部分要求。我們希望能和更多的行業客戶合作做定制軟件,我們只不過完成了一些商業軟件的通用功能,你的規范和流程才是核心,產權也可以協商,最主要的目點是推廣我們的平臺。前段時間有人問用iSolver來錄一些材料本構講解的視頻或者發雜志文章需不需要授權,我們當然歡迎,而且還會大力支持,你能下載iSolver做一些真正的應用我們就已經很欣慰了,我們只是一個平臺,在平臺上的成果只屬于你的創新發明。

 

2.3 “踐行”-以用戶使用功能為第三階段工作重點

第三階段除了宣傳和市場推廣外,共發布版本5個,最新版本為2020-3版本。

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖18

主要新增功能點有幾方面:

2.3.1 實際工程問題的驗證

在過去一年,找了行業內的多家合作單位對軟件進行了試用,模型不受限,都采用各個單位的實際工程模型,發現大家最多的還是用靜力分析和模態分析,感謝同行細心的花大量時間測試和驗算,畢竟大家雖然都說重視自主軟件,但大家都有平時的本職工作,把軟件下載下來試用一下,然后再反饋給開發方的是要花費額外時間的。

2.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖20有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖21

2.3.2 解決UMAT和UEL接口在實際子程序開發的多個使用問題

針對大家在iSolver使用UMAT和UEL接口的問題,支持多個UMAT寫到一個文件的功能,支持大變形變形梯度的輸入,用戶根據變形梯度可直接編寫大變形材料本構,支持UEL支持多行自定義單元自由度,支持單個不連續自由度,用戶子程序支持單元名稱大小寫通用。這個主要靠技術鄰網上用戶的大量使用,很多用戶看了我們發的基于iSolver的UMAT和UEL的學習視頻,也希望用matlab更快的編寫子程序,所以直接在技術鄰上下載使用,感謝大家。

 

詳見下方文章和視頻:

》》》第二十三篇:編寫簡單面內拉伸問題UEL Step By  Step

http://www.yqgqt.org.cn/content/post/1256835

》》》第二十六篇:編寫線性VUMAT Step By Step。

http://www.yqgqt.org.cn/content/post/1266640

》》》iSolver中使用用戶自定義材料UMAT教程視頻:

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖23

http://www.yqgqt.org.cn/college/video/c13034

》》》iSolver中使用用戶自定義單元UEL教程視頻:

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖25

http://www.yqgqt.org.cn/college/video/c14948

 

2.3.3 新增諧響應分析和反應譜分析

諧響應基于直接法和模態疊加法兩種算法,支持基礎運動,譜分析包括Abaqus所有模態組合方法。當然,iSolver特色,所有線性模型精度還是和Abaqus相當。

  
SSD ExperientX.gif

(上述模型來源于技術鄰鄭鈞老師)

詳見下方文章和視頻:

》》》第三十篇:諧響應分析原理。

http://www.yqgqt.org.cn/content/post/1290151

》》》結構有限元理論基礎及求解器iSolver演示:20理論系列文章30-諧響應分析原理

http://www.yqgqt.org.cn/college/video/c12884

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖27

 

1.png

2.3.4 幾何非線性精度修正和功能擴展

新增C3D20、C3D20R等體單元的幾何非線性分析,并研究了TL和UL的幾何非線性算法,Abaqus中幾何非線性的剛度、應變等問題。支持非線性迭代的線性搜索功能,支持增量迭代法的位移和力的雙重判據,支持用戶控制收斂判據誤差,方便對迭代次數的控制,自動增量步時支持用戶設置的最大增量步,超過最大增量步后按最大增量步計算。

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖29

20200716 C11懸臂梁的幾何非線性-體單元.gif

詳見:

 

》》》第二十二篇:幾何非線性的剛度矩陣求解。

http://www.yqgqt.org.cn/content/post/1254435

》》》第二十七篇:Abaqus內部計算和顯示的應變。

http://www.yqgqt.org.cn/content/post/1273788

》》》第二十八篇:幾何非線性的T.L.和U.L.描述方法

http://www.yqgqt.org.cn/content/post/1282956

》》》第二十九篇:幾何非線性的T.L.和U.L.轉換關系

http://www.yqgqt.org.cn/content/post/1286065

2.3.5 與商軟的雙向接口的完善

和商軟比起來,iSolver只是一個微不足道的新興小軟件,市面上單獨軟件的生存空間已經被成熟商軟擠壓的越來越小,為了能跟上商軟發展的速度,我們努力融合到商軟自己的生態體系中,上一階段我們就實現了Abaqus、Hypermesh、Femap、Patran等前處理軟件的模型直接導入到iSolver計算,iSolver結果一鍵導入到Abaqus、FEMAP進行后處理查看,這個階段我們大量完善了iSolver內部數據文件的兼容性,新增的按CAD的部件裝配體的組織形式、多個分析步的輸入和結果輸出等的接口,確保常用分析所包括的各種屬性和商軟可以無縫連接。

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖32

2.3.6 計算效率和內存進一步優化

優化后臺數據結構,同時對程序中耗時較大部分進行算法改進和速度提升,目前50萬網格以內線性模型計算時間在Abaqus的3倍以內。同時,為了擺脫Matlab的限制,后臺計算全部換成Fortran,同時我們保留了matlab開發UMAT、UEL接口的功能,畢竟這是現有商軟做不到的地方。

1.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖34

2.3.7 其它功能完善

2.png

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖362.4 “計劃”-以最緊迫的需求為第四階段工作重點

1.jpg

2.4.1 求解功能方面

優先解決市場及工程驗證中的各類問題及用戶需求,版本快速更迭和反饋。目前有一些針對iSolver的實際項目需求,在求解功能發展方面還是比較明確的。第四階段,我們會在完善已有功能的基礎上新增瞬態動力學分析和常用的接觸分析,目前這部分功能的理論研究工作已基本接近尾聲,相應的編程實現正在計劃中。同時,也進一步和專業領域的用戶合作,共同實現用戶專業的規范和標準集成,做有別與通用商軟的專業軟件。

2.4.2 求解精度方面

一直以來iSolver在的求解精度方面狠下了不少工夫,包括與標準算例的理論解對比、與Abaqus算例的計算結果對比以及過去一年內的實際工程問題驗證,我們在求解精度問題上投入了大量的時間和心血。但也正是在進行實際工程問題驗證的過程中,我們發現還是有更深入的空間。簡單來說,即使對于實際問題,我們大多時候比較的也只是商軟計算結果和iSolver求解結果,但有意思的是這次有多個實際工程問題我們的用戶還給出了試驗過程和結果,讓我們能不局限在商軟去考慮求解器的求解精度。接下來,我們不只是拿實際工程問題的算例計算出來后和商軟對比,還要對比試驗結果,考慮除了前處理因素在求解過程中理論與試驗的差距。

2.4.3 效率方面

對于目前階段的求解器,計算效率和內存仍有很大的優化空間,我們也初步構建了一些計劃,比如對一些數據結構的調整和核心功能模塊的重構。但下一步最重要的計劃還是在提高資源的利用率上,我們把目標放在了并行。曾經微軟有一道經典筆試題就是寫一個簡單的程序讓CPU利用率達到100%,這也是一個科學計算求解器最希望做到的事情,我們希望能夠在第四階段讓iSolver跑滿我們的CPU,再在第五或第六階段跑滿我們的GPU。

2.5 感謝

最后,依然感謝技術鄰這么多年來的支持,只有在技術鄰上,我們才有機會和商軟在同一個平臺宣傳推廣,同時,也感謝廣大的iSolver的使用者,每一次使用過程中的反饋可能都是我們一個小小的踏實的進步,也繼續歡迎所有人有任何問題來和我們交流,前面的問題我們有可能臨時有事后來如果我們忘了給你答復或者解決,也請告訴我們一聲。謝謝支持。

有限元理論基礎及Abaqus內部實現方式研究系列31:自主CAE開發實戰經驗第三階段總結的圖38

1.jpg
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

40
30
1