標籤:

abaqus的二次開發為何用python語言?


其實對於abaqus的二次開發,python,fortran,c++都可以的。

Python的話,由於下圖,

因此做前處理(如參數化建模等)、後處理(如數據提取等)都很方便。

Fortran是以前很多科學工作者的工作語言,很多演算法都是用Fortran編寫的,應該算是延續下來的吧,用來做一些子程序(如混凝土材料本構關係等)。

C++一般用來做後處理。


說到ABAQUS的二次開發,首先要分清楚到底是哪方面的二次開發,學過有限元課程的童鞋都很清楚,有限元方法的流程為前處理、求解、後處理,在ABAQUS有限元軟體中,前處理生成cae文件,提交任務後軟體會根據你的分析部類型選擇求解器比如standard or explicit,求解完成生成一個output database(也就是odb文件),用戶即可進行後處理。ABAQUS利用Python作為腳本語言,主要是對前處理和後處理進行二次開發,以方便使用者建模和處理數據(c++也能做一些後處理),之所以選擇Python,個人覺得是出於Python的強大功能;而ABAQUS的求解器應該是用Fortran編寫的,因此用戶子程序的開發主要是用Fortran語言(當然c/c++也是可以的,需要比較紮實的程序編譯基礎),這是因為Fortran語言比較古老,並在數值計算和數組應用方面優點突出。


因為Python是一門最適合當膠水來連接Abaqus底層的Fortran, C++代碼的高級語言。Abaqus用了大量的numpy, 可以直接調用包括blas在內的底層運算庫。

(先挖個坑,慢慢填)


我以前用FORTRAN寫UMAT, 用MATLAB調用優化函數自動更新材料本構模型數據進行模擬。也挺好用的。


接近自然語言,不需要編譯,面向對象編程這幾個特點python都有。


得問開發軟體的人。python是最好的膠水。


我用python做流程 還是可以的。 不過這個坑很大,學習起來好煩,我才入門 ,不過要有信心噻。PS abaqus的每一個操作都對應一個python命令。


二次開發有兩類,進入內核的是子程序,用fortran!弄外圍腳步的是python,試問別的有限元腳本有比python更強大的么


二次開發可以有很多選擇,甚至可以用MATLAB...

我們實驗室用Fortran。


推薦閱讀:

看完了廖雪峰的Python教程 ,只學會了初步,接下來怎麼學習?
用Python写了个函数,解决酒瓶换酒的问题,求大牛们指点?(问题已解决,感谢各位!)
Python 如何列印出中文字元?
三十歲從電氣轉行 IT 是否可行?
Flask的g對象,範圍是什麼?

TAG:Python | Abaqus |