Abaqus中利用Python批量創建提交多個分析任務
2026年11月10日
AI 生成·可能包含錯誤
視頻概述
AI 生成本影片教學如何利用 Python 腳本在 Abaqus 中實現變量(如邊界條件、約束位移)的批量修改,並自動創建多個對應的 Job 以提高分析效率。透過將操作記錄轉換為 Python 程式碼並加入循環結構,使用者可以快速生成一系列不同參數的分析任務,避免重複的手動操作。
大家好,前面我們講過一期在阿華克斯中如何使用passion,
然後幫助大家快速的實現這個模型的這個批量化創建,
對於大家,如果大家掌握了這個簡單的passion操作呢,
對於後面如果你的模型需要不斷的去改變它的一些結構參數,
那是非常方便使用的,
那今天呢我們再講一期關於使用passion來便利我們的阿華克斯操作的,
那今天我們要講的是什麼內容呢,
就是說我需要改變不同的變量,
也就是約束條件,
編輯條件,
那我每一個編輯條件對應一個job,
然後我要批量的去提交,
甚至就是說批量的創建,
然後一次性的提交,
那我們就可以很好的去選擇這個passion實現我們這個目的,
相信一直從開始關注我的這個同學們的會看到我講過一期,
一個鎖鏈的一個手裏分析,
也比較簡單,
那就是我們創建完之後呢,
我在這個地方,
進行施加了一個位移,
就是說我讓這個鐵鏈拉伸這個移動0.5個毫米,
然後看他一個手裏分析,
那今天呢,
我們就藉助這個模型,
跟大家講一下,
如何一次通過passion,
一次創建多個job,
進行這個分析,
那如果大家把所有的流程,
當然了,
你先是要在自己的apex當中打開之後,
把自己的模型屬性裝配step相互作用,
一通走下來之後,
你創建完了job,
一通走下來之後,
你寫個writeinput,
寫入文件之後呢,
你就會在你的文件夾當中,
這是我當時做這個鎖鏈分析的文件夾,
你就會得到一個後綴式jl的這麼一個文件,
那這個文件你打開之後呢,
你會發現你所有的操作,
你所有的操作都被記錄在了當中,
都被記錄在了當中,
然後你打開這個文件之後呢,
我們就可以選擇基於它,
去另存爲一個py,
也就是python的一個類型的一個文件,
選擇cy,
我用的是,
操作呢,
我用的是sublime這麼一個軟件,
去操作這個python語言的這個編寫,
比如我選擇chin,
繼續用我們的這個鎖鏈,
保存完之後,
我們把它關閉,
然後就出現了這麼一個,
哦,
這個有點錯誤,
我再重新選擇一下,
打開這個,
然後是cus,
然後我們下面要選擇的就是python這個類型,
選擇保存,
然後呢,
你會發現它的裏面的顏色就會被區別出來,
不同的這個變量呢,
就會用不同的顏色來區分,
我們可以先關閉,
關閉之後,
我們就可以看到我們把這個刪除掉,
我們剛纔創建什麼,
利用這個dll文件,
創建了一個新的後綴名是py的一個chinpython,
這麼一個文件,
然後我們打開,
打開它之後,
我們看到我們剛纔的文件所有的操作呢,
都記錄在內了,
當然了,
我們現在需要去做的就是說去通過python實現多個招募的啊,
批量提交啊,
批量提交,
那我們現在去找啊,
當然了,
我批量提交這個招吧,
首先呢,
就是對應着不同的邊界條件,
那我們基於我當時講的這個鐵鏈的這個文件呢,
我們當時看一下我們的這個約束啊,
就是我給他一個啊,
水平方向的一個位移啊,
0.5,
那我們比如說要創建再創建5個啊,
再創建5個這個條件,
比如說我讓他啊,
拉長伸長是1,
1.52,
那這樣我們就可以通過這個每一個,
比如說0.5對應我們的chin,
然後0.5,
1呢,
就對應我們的啊,
chin1是吧,
chin1,
chin2,
然後依次對應下來,
那麼找到這個之後呢,
那就再回到我們的文件啊,
下面的我們就去找我們需要的,
大家找這個呢,
也可以去find,
就是如果你知道你的那個啊,
比如說我想去改變我的位移,
對吧,
那我就去啊,
去找一下我們的下面,
我們有一個輸入,
我們是誒,
到到這之後呢,
他就會跳出來,
我們看到我們創建的這個displacement,
也就是位移的約束,
跳到這兒了,
那我們現在是一個是什麼,
151的約束是0.5,
我們現在需要去把批量改變它,
每改變一個數值呢,
對應一個新的job,
啊,
把它copy出來,
Ctrl C,
啊,
然後再回到我們這個地方,
把它copy過來,
然後與其他的分開就可以了,
然後呢,
我們還要去找到我們要創建不同的job,
對吧,
那麼就再看我們以前提交的job在哪裏,
找到了這兒,
下面的我們都沒用啊,
我們不要,
有一個mdb.jobs,
還有上面一個mdb.jobs,
我們把這兩個copy回去,
放到他們的下面,
然後剩下的我們就可以完全都不要了,
對於我們來說已經沒有用了,
delete就可以了,
那我們最後呢,
就只剩下了這麼一個文件啊,
這就是我們,
我在創建啊,
分析這個鐵鏈分析過程中呢,
創建了一個邊界約束是V1.5,
然後創建了一個job叫Chain,
進行了一個分析,
那我現在需要啊,
生產量是1的前提下,
創建一個job,
再創建一個job,
呃,
生產量是1.5的前提下呢,
再創建一個job,
然後一次啊,
創建,
沒改變一次,
創建一個新的job,
沒改變一次,
創建一個新的job,
對吧,
那我們就可以用這個pass,
幫助我們去實現,
那我們一定是要用到啊,
循環的,
就是,
for,
i,
in,
reach,
我們因爲已經有了,
對吧,
有第一個job了,
所以說我們現在是從2開始,
我們到6,
我們是什麼啊,
這個passive文件和這個matlab是一樣的啊,
這是取左不取右,
也就是23456是不取的啊,
每行縮減四個字數,
可以把這個調到一行上去啊,
好,
那我們要去改變的是什麼呢,
就是我們的啊,
邊界條件啊,
這個現在我們改成是0.5,
對吧,
那我第二個想改成1,
那我就改成0.5,
加上那就下一個取的,
我們一定是從這裏邊啊,
去改成一個i的函數,
那就是0.5乘以什麼,
i,
對吧,
乘以,
對啊,
這個地方應該是0.5乘以括號裏,
i減1,
這樣我們來想想啊,
0.5,
第二個我想第一個,
我們原先已經手動操作創建的Job是0.5,
那第二個是2,
2減1是1,
1乘以0.5也就是1,
對吧,
那第二個文件就是,
先乘以21,
那第三個呢,
就是3減1等於2,
2乘以51,
也就是1.5啊,
沒有問題,
然後呢,
每一個文件,
我們要對應一個Job,
對不對,
那我們看一看我的模型,
有一個這個啊,
Name,
對我們Job的Name,
然後我們讓它第二個,
也就是2的時候呢,
它是Chain-2,
然後加上我們的String i,
這樣呢,
也就是默認我們第一個Chain,
第一個Chain呢,
就是Chain-1,
然後現在我們是從Chain-2,
開始變的,
也就是啊,
加上這個,
然後同理這個地方有,
加上保存一下啊,
加上Ctrl-S就可以了啊,
跟我們這個World上面是一樣的,
我們再看一下啊,
2到6啊,
也就是2,
3,
4,
5,
加上我們原來的Chain,
第一個啊,
我們手動創建的那個Job,
也就是有5個Job,
啊,
每一個Job對應,
比如說我現在第一個0.5對應的,
我第一個Chain,
然後呢,
1呢,
就對應了我們的Chain-2,
對吧,
也就是1的時候是2,
然後1.5的時候是Chain-3啊,
這樣下來,
那我們現在去啊,
運行一下,
看看啊,
是不是這樣的一個結果,
我們保存完之後,
到回到這個RunScript,
P1,
好,
說明正在這個運行我們的拍攝文件,
對吧,
然後再回到Modified,
就一個,
對吧,
好,
可以看出來我們剛開始的U1是0.5,
現在是2.5,
也就是從0.5多了1,
1.5,
2,
2.5,
確實是最後一個是2.5的數字,
是沒有任何問題的,
那我們再去看我們的Job,
也沒有問題,
我們第一個手動創建的Job的名字叫Chain,
是吧,
也就是鎖鏈,
那第二個開始對應着我們的這個,
是從2開始的,
也就是啊,
Chain-2,
然後一直到3,
4,
5,
對吧,
是含左不含右啊,
去左不去右,
也是一直到5,
然後他們正在進行一個啊,
數據的一個檢查,
模型的一個檢查,
那我們再回到這裏邊,
我們可以看到啊,
所有的文件啊,
如同我們手動創建的Chain的文件是一樣,
每一個Chain-2,
Chain-3,
Chain-4,
Chain-5,
也都會出現在你的文件當中,
這樣呢,
你就可以實現一個批量的啊,
這個創建,
也就是如果啊,
比如說你是做一個切削加工啊,
你是做切削加工的吧,
我比較啊,
也是我的老百行,
那我說這個啊,
我想改變甚至啊,
我想改變一個力,
比如說這個地方是受力的,
對吧,
受到一個力,
那我現在是我的變量,
我需要研究的方針的變量呢,
就是力的變化,
比如說500牛,
1000牛,
1500,
2000,
2500,
那我們就可以利用password文件,
把我們的這幾行命令啊,
代碼找出來,
然後加入一個循環,
檢查還是有點卡的啊,
我等會看一下,
應該是檢查完成了啊,
完成了,
5的檢查已經完成,
4,
3,
1,
都完成了,
也就是我們的模型完成之後,
其實我們就可以進行什麼,
submit啊,
提交運行了,
我們再來回過頭來看一下,
我們最終啊,
這個地方,
錄的我們的最終是2.5,
那我的chain2是不是1呢,
我們就可以回到他的,
chain2的input文件來找,
我們看一下我們的這個位置,
哎,
是1,
啊,
確實是1,
啊,
是沒有任何問題的,
我們再到3,
那就是1.5了,
1.5,
啊,
沒有任何問題,
包括到chain4,
應該是2,
對吧,
2,
啊,
所以說是沒有任何問題,
那我們其實這樣,
通過這個串聯完之後,
我們就可以,
啊,
在這個,
啊,
如果是你的工作站,
啊,
甚至足夠強大的錢錢就可以,
所有的賬本一次提交,
如果你的工作站不夠強,
是吧,
你就可以一次完成一個,
提交一個,
完成一個,
提交一個,
啊,
這樣就會非常方便你去,
啊,
通過python實現,
啊,
你的變量的,
啊,
這個,
批量創建,
然後一次提交,
啊,
完成,
這就是我們,
這個,
今天,
啊,
要跟大家去講的這麼一個,
啊,
內容,
就是利用python,
我們就找到我們要對應的,
啊,
這個代碼,
已經,
通過我們手動創建,
第一個job,
生成的,
代碼呢,
把它調用出來,
我要去改誰,
我就把它,
啊,
保留出來,
然後剩下的,
就可以,
啊,
刪除掉,
最終呢,
加上一個復循環,
啊,
就可以實現這個,
變量的,
啊,
循環更新,
以及他所對應的,
job的循環創建,
啊,
好,
那關於,
啊,
這個其實大家就可以提交了,
我就不再去給大家演示了,
省得還浪費時間,
大家,
其實也比較簡單,
對吧,
啊,
這個和我們前面要講的,
啊,
剛開始第一個講的,
那個python,
批量創建這個模型呢,
還是,
啊,
比較相近的,
其實這個,
當初我們是說,
打開之後呢,
有一個,
RPY的文件,
當然,
這樣也是可以的,
沒有任何問題,
好,
那關於利用這個,
進行批量創建,
啊,
改變這個約束條件,
以及,
啊,
創建一次性,
創建多個罩吧,
啊,
我們就講到這兒,
後邊呢,
如果有需要再講的地方呢,
或者是我瞭解到,
學習到的呢,
我再跟大家去,
啊,
去講解,
好,
那關於這個呢,
我們就,
講到這兒,
我們下個視頻再見。

