ABAQUS根據(jù)Excel/csv批量生成inp

 工作中經(jīng)常需要處理這樣的問題: 相同的模型需要分析30多種工況, 并且每一種工況均需要使用非線性求解以評估其性能. 由于ABAQUS standard general 分析步默認(rèn)繼承其上一個standard general分析部的應(yīng)力應(yīng)變結(jié)果, 所以該問題不可以采用一個inp文件解決, 本文中提供了根據(jù)載荷工況表自動生成各自獨(dú)立的inp求解文件的解決辦法.



    該類型問題生成的inp數(shù)量較多, 所以在求解分析時, 推薦采用使用python進(jìn)行ABAQUS批處理-總體思路中的插件進(jìn)行批量計(jì)算. 



01

插件GUI設(shè)計(jì)


    使用ABAQUS RSG插件制作工具搭建如下插件GUI:


ABAQUS根據(jù)Excel/csv批量生成inp的圖1

    

    該GUI的搭建全部可以在RSG中完成.

02


kernel文件思路


  1. 首先我們應(yīng)該確保step是空的, 或者除了initial分析步之外其余的分析步均處于suppressed狀態(tài), 由于ABAQUS的Step對象不可迭代, 所以需要獲取其所有鍵值進(jìn)行手動迭代:

    ABAQUS根據(jù)Excel/csv批量生成inp的圖2

  2. 然后需要判斷輸入的step是Initial Step, 這一步的判斷應(yīng)該可以不加.

  3. 在讀入工況原數(shù)據(jù)的時候, 應(yīng)該支持Excel和csv兩種格式, 為兩種格式的文件分別設(shè)計(jì)讀取函數(shù), 使其讀取后數(shù)據(jù)格式相同, 以便于后期的統(tǒng)一開發(fā), 該處理思路會在以后的類似插件的開發(fā)中經(jīng)常使用, 因?yàn)?xls與.csv都是常見的數(shù)據(jù)格式:

    ABAQUS根據(jù)Excel/csv批量生成inp的圖3

  4. 使用ABAQUS錄制宏命令, 錄制: 建立分析步A--->建立載荷A--->導(dǎo)出inpA--->suppress A

  5. 整理錄制好的命令, 將其整合到kernel中進(jìn)行循環(huán).

  6. 進(jìn)行Job 和 Step的名稱標(biāo)準(zhǔn)化, 使用ABAQUS名稱標(biāo)準(zhǔn)化工具, 因?yàn)闊o論是.xls還是.csv, 均有可能出現(xiàn)不符合ABAQUS命名規(guī)則的字符串出現(xiàn).


03


補(bǔ)充說明


    讀取Excel/csv進(jìn)行批量生產(chǎn)inp, 最難的部分在于力的作用邏輯, 因?yàn)樯婕傲εc扭矩的判斷, 并且有的點(diǎn)只受力的作用而不受扭矩的作用.


    這需要進(jìn)行判別(目前程序無法判別只受扭矩作用的情況, 當(dāng)然這種作用方式在實(shí)際工作中也沒有遇見過), 因?yàn)橹皇芰Φ淖饔脮r該點(diǎn)有三個方向的載荷而普通的作用點(diǎn)是有六個方向的載荷的.


    這部分的邏輯是我剛開始接觸python的時候設(shè)計(jì)的, 屬于陳年舊貨, 現(xiàn)在拿來使用雖然沒有邏輯問題, 但是還是有很大的優(yōu)化空間, 只不過....以后再說吧.

04


源代碼


    關(guān)注AbaqusCoder并回復(fù)createJobFromExcel獲得源代碼.


期待更多技術(shù)干貨, 請關(guān)注AbaqusCoder!

ABAQUS根據(jù)Excel/csv批量生成inp的圖4

如果本文對您有幫助, 期待您的轉(zhuǎn)發(fā)與點(diǎn)亮再看!

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

9
2
13