不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

abaqus運行python腳本怎樣提高速度? 1000

瀏覽:3664 回答:17
  1. 針對本模型劃分了55萬個網格,通過python腳本遍歷模型數據庫所有的節點信息,包括節點編號和節點坐標,分類存儲在對應字典中。

  2. 電腦CPU是4.68GHz,查看任務處理器發現CPU占用只有10%左右,內存占用了16GB的50%左右。

  3. 查看調試器,發現程序在遍歷模型數據庫的節點信息段重復循環。

  4. 運行abaqus自帶的Abaqus PDE編譯器,本機沒有安裝除了pycharm之外的編譯軟件,執行速度比較慢,請問有沒有程序段可以調用電腦更多運算能力的語句或者其他方法提高運算速度呢?

    PS:腳本已經在簡單模型中運算成功。


邀請回答 我來回答

全部回答

(8)
默認 最新
better2
你通過pde編寫并且運行回特別慢的,建議使用編譯器編寫保存為. py文件,然后通過文件—運行python腳本來運行,可大大提高腳本運行速度。
2021年4月8日
已采納 評論 2 點贊 2
zhw00747

python 還有個bulkDataBlocks方法 比逐個單元循環操作應該會快一些 此外py文件打包成exe或者pyc應該也會快 再此外 python多線程應該也可以針對多個循環段代碼進行效率提升 最后 C++才是最快的 但學習成本比較高

2022年7月14日
已采納 評論 點贊 1
素釵_XFEM
雖然我懷疑你這1000金幣是在釣魚執法,但還是回答一下。結果數據中的很多信息可能并不是你需要的,所以你可以通過一些參數對單元和節點進行識別和篩選,找到真正對你有用的信息生成一個集合。再對這個集合進行遍歷和計算,還有就是語法結構上盡量簡單點,我之前有一個例子多級循環嵌套改成多個單一循環,也能節約計算量。
2021年2月27日
已采納 評論 2 點贊 1
降維打擊
如果沒有必要最好不要用字典,用數組就能解決問題,因為結點編號一般是連續的,而且和比對應索引號大1
2021年2月27日
已采納 評論 1 點贊 1
降維打擊
速度慢可能是腳本過多使用abaqus自帶查詢函數引起的,其實abaqus的結點信息是用數組存放的,查詢的話,就和訪問一個數組一樣快捷,疑惑你用的什么命令?
2021年2月27日
已采納 評論 1 點贊 1
參數化設計-Zn

如果輸出.inp文件,然后通過Python讀取.inp文件提取節點信息可能會快一點。

在Python里可以采用多線程和多處理器的方法來提取。

2022年1月3日
評論 點贊
dwg_2931
abaqus Python訪問模型節點是按照一個路徑順序的,N=mdb.models.parts.elements.nodes,如果循環里是這樣寫的,那你會每循環一次就訪問一遍所有的結構,改成中間變量,P=mdb.models.parts , E=P.elements , N=E.nodes,把能放到循環外的中間變量盡量放到循環外,這樣就能減少訪問的路徑,會直接從中間變量提取數據,比從頭mdb開始查找要快。
2021年12月17日
已采納 評論 3 點贊
sakura_3944
如果可以只在某一區域遍歷,可以將其設為集合來遍歷,
2021年8月10日
已采納 評論 2 點贊

沒解決?試試專家一對一服務

換一批
    App下載
    技術鄰APP
    工程師必備
    • 項目客服
    • 培訓客服
    • 平臺客服

    TOP