abaqus的二次開發為何用python語言?
01-16
其實對於abaqus的二次開發,python,fortran,c++都可以的。Python的話,由於下圖,
說到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對象,範圍是什麼?