
發(fā)布
注冊(cè)
/
登錄abaqus提交時(shí)間的案例
Abaqus批量提交作業(yè) ¥6
<pre class="ql-syntax" spellcheck="false"># -*- coding: utf-8 -*-
from abaqus import *
from abaqusConstants import *
import os
import time
def clean_residual_files(job_name):
"""清理殘留文件函數(shù)"""
residual_ext = ['.lck', '.prt', '.sim', '.sta',
'.abq', '.com', '.dat', '.msg','.odb',
'.log', '.odb', '.inp']
for ext in residual_ext:
file_path = job_name + ext
if os.path.exists(file_path):
try:
os.remove(file_path)
 
展開 命令行提交 Abaqus 任務(wù)
批處理
如果有大批的 inp 文件需要提交,如何節(jié)省時(shí)間讓它們自動(dòng)連續(xù)運(yùn)算? 一定要看garethz斑竹的精華帖:[原創(chuàng)總結(jié)]Windows 系統(tǒng)下實(shí)現(xiàn) input 文件批處理 。
這里還介紹了算完自動(dòng)關(guān)機(jī)的命令,我個(gè)人非常喜歡,向大家推薦。
garethz斑竹剛剛針對(duì)新版本推出新的批處理工具:http://forum.simwe.com/thread-894456-1-1.html,太贊了。
批處理也可以這么處理:建立一個(gè)記事本文件 a.txt,打開鍵入以下幾行:
abaqus job=jobname1 intabaqus job=jobname2 intabaqus job=jobname3 intabaqus job=jobname4 int
保存并關(guān)閉,右鍵屬性將后綴改為 .bat,雙擊即可運(yùn)行。
轉(zhuǎn)自:cmd提交inp文件小結(jié)(from lsimwe)。其中一些鏈接因?yàn)槟昃檬蓿亚謇淼袅恕?
本文發(fā)表于水景一頁(yè)。永久鏈接:
<https://cnzhx.net/fe/2015/02/08/cli-submit-abaqus-job/>
展開 Abaqus任務(wù)提交器
學(xué)習(xí)python的過程中制作了一個(gè)Abaqus的任務(wù)提交器,可以方便地提交inp和腳本文件,有需要可以私信
ABAQUS批量提交任務(wù)
ABAQUS可以使用Python代碼進(jìn)行批量提交任務(wù)
第一步:
新建文本.txt,復(fù)制Python代碼到文本,代碼如下
# -*-coding:UTF-8-*-
from abaqus import *
from abaqusConstants import *
import time
print "==================== 【開 始】 ====================="
jobs = mdb.jobs.keys() #獲得所有任務(wù)名稱
for i in jobs: #遍歷所有任務(wù)
myJob = mdb.jobs[i] #獲得任務(wù)對(duì)象
#判斷任務(wù)的狀態(tài)是否為None,避免重復(fù)提交
if myJob.status == None:
t0=time.time() #記錄提交前的時(shí)間
myJob.submit() #提交計(jì)算
myJob.waitForCompletion() #等待計(jì)算完成
print '【%s】計(jì)算完成,耗時(shí) %f 秒'%(i,time.time()-t0)
print "==================== 【結(jié) 束】 ====================="
第二步:文本格式.txt 修改為 .py
第三步:創(chuàng)建好任務(wù),且任務(wù)顯示狀態(tài)為 None,不允許有其他狀態(tài),否則提交不成功(可修改代碼值靈活變化)
批量提交有兩種方式:
1、file>Run Script,打開前面保存的.py文件,任務(wù)會(huì)自動(dòng)進(jìn)行
2、直接復(fù)制代碼到Abaqus
展開 
ABAQUS批量提交任務(wù)-Python腳本
不打也可以,只不過ABAQUS界面中提示信息很多,打印了之后很容易就可以看到。
第四步:創(chuàng)建一個(gè)裝多個(gè)jobs名的列表,并從模型的jobs倉(cāng)庫(kù)中使用keys()函數(shù)獲取。
第五步:核心步驟,用for循環(huán),遍歷之前創(chuàng)建的裝有jobs名的列表,一個(gè)一個(gè)提交任務(wù)。并打印當(dāng)前分析所使用的時(shí)長(zhǎng)。這個(gè)for循環(huán)中,包含了一個(gè)if的條件判斷,是用來判斷當(dāng)前任務(wù)的狀態(tài),如果是None,那么我們就提交他。如果是complete那么就不需要提交。
【效果圖展示1】 下圖為使用上面腳本后 ,ABAQUS/CAE中信息欄的信息,可以看見,Job2-4的信息都打印出來,并包含分析所使用時(shí)間。Job1由于之前已經(jīng)計(jì)算過了,運(yùn)行腳本前其狀態(tài)已經(jīng)是Completed,所以Job1沒有被提交,當(dāng)然信息也不會(huì)被打印出來。
02 不打開ABAQUS/CAE時(shí)
接下來掩飾一下,不打開ABAQUS/CAE時(shí),如何用Python腳本批量提交ABAQUS任務(wù)。這里跟之前是有點(diǎn)區(qū)別的,首先我們沒有打開CAE界面,所以我們沒有辦法直接通過訪問mdb.jobs獲取任務(wù)名的列表。
原理解讀:
第一步:腳本頭(省略,同上)
第二步:導(dǎo)入相關(guān)庫(kù)(省略,同上),不同的是導(dǎo)入了os和sys庫(kù),用于所有分析結(jié)束后60秒后自動(dòng)關(guān)機(jī)。
第三步:創(chuàng)建Jobs列表儲(chǔ)存所有需要被分析的job的名稱。這個(gè)就有點(diǎn)類似bat的方式了,我們需要首先將所有需要提交的任務(wù)的inp文件,和腳本或bat文件放在一個(gè)文件夾下。并在腳本和bat文件中,把需要分析的job名寫下來。
第四步:同上,for循環(huán)遍歷列表,并一個(gè)一個(gè)提交任務(wù)。不同的是,上一個(gè)在你創(chuàng)建Job的時(shí)候已經(jīng)指定了計(jì)算使用的cpu數(shù),所以python腳本中無需對(duì)這個(gè)特殊設(shè)定。
展開 Abaqus批量提交inp文件計(jì)算
當(dāng)有多個(gè)模型需要計(jì)算時(shí),或者一個(gè)模型需要多次修改本構(gòu)參數(shù)計(jì)算時(shí),可以使用bat文件批量提交inp文件計(jì)算。
在txt文件里寫入如下內(nèi)容,另存為bat文件,雙擊運(yùn)行就可以批量提交inp文件計(jì)算了。本例是提交1.inp、2.inp和3.inp依次計(jì)算,可根據(jù)自己需要修改。
call abaqus job=1 int cpus=4
call abaqus job=2 int cpus=4
call abaqus job=3 int cpus=4
pause
shutdown -s -f -t 60
注意:
(1)1、2、3是inp文件的名字;
(2)int是interactive的縮寫,可以讓inp文件依次進(jìn)行計(jì)算;
(3)cpus=4是多核計(jì)算;
(4)pause是計(jì)算完成不關(guān)閉cmd窗口;
(5)shutdown -s -f -t 60是計(jì)算完3.inp文件(最后一個(gè))后60秒關(guān)機(jī),如不關(guān)機(jī)刪去即可;
(6)如果使用了子程序的,如pqfiber,則如下call abaqus job=1 user=pqfiber.for cpus=4 int ;
(7)如果多個(gè)inp文件在不同的文件夾下,加入cd/d C:\a(a為文件夾名字)進(jìn)行切換即可。
Abaqus批量提交inp文件計(jì)算的視頻操作,可以點(diǎn)擊如下鏈接,觀看視頻的章節(jié)11。
http://www.yqgqt.org.cn/college/video/c14934
學(xué)土木結(jié)構(gòu)的同學(xué),可以關(guān)注我!
有用可以點(diǎn)個(gè)贊!
展開 ABAQUS批量提交作業(yè)-BAT文件
本文主要介紹關(guān)于ABAQUS怎么不使用CAE界面提交作業(yè),以及批量提交作業(yè)。那么為什么我們需要用命令行來提交作業(yè)而不直接從ABAQUS/GUI中提交?畢竟ABAQUS的GUI界面可以說是有限元分析軟件中做的最好的最人性化的界面。
可能的原因如下(個(gè)人感受):
Inp中少數(shù)關(guān)鍵字不為ABAQUS/CAE識(shí)別
多個(gè)INP需要被提交,且來自于不同的模型不同的分析任務(wù),這就導(dǎo)致無法在CAE界面中同時(shí)提交作業(yè)
【01 相關(guān)命令的介紹】
首先介紹幾個(gè)ABAQUS/命令行的幾個(gè)重要命令,以及各個(gè)命令的含義和須知事項(xiàng):
提交任務(wù):abaqus job = jobname1 int/interactive, 這個(gè)命令是用作提交Job的,命令行中輸入此命令就會(huì)直接調(diào)用abaqus求解器進(jìn)行求解。后面跟上的int或interactive含義一樣,加上DOS窗口會(huì)顯示任務(wù)運(yùn)行的階段。另外一個(gè)功能就是讓任務(wù)一個(gè)一個(gè)交,而不是一次性全部提交。
殺死任務(wù):abaqus terminate job = jobname int, 終止任務(wù)一般不可以恢復(fù),但是如果有restart文件,可以重啟動(dòng)計(jì)算
任務(wù)暫停和恢復(fù):abaqus suspend/resume job = jobname int, 暫停任務(wù),以及恢復(fù)任務(wù),從上次暫停的地方開始接著算。
展開 linux 提交任務(wù)的命令(ansys lsdyna abaqus fluent)
記錄ansys lsdyna abaqus fluent 的命令提交方式
abaqus 提交命令
abaqus job=input <user=userfile> <cpus=n> inter
ansys (mmp 版本17.2)
ansys172 -b -dis -machines node1:4:node2:4 -i input -o output
LS-dyna(SMP,版本17.2)
lsdyna172 i=input.k ncpu=n memory=XXm
LS-dyna (MMP)
lsdyna172 -dis -machines node1:4:node2:4 i=input.k ncpu=n memory=XXm memory2=YYm
Fluent
fluent -ssh -g 3d -t2 -cnf="node1:2" input.jou
-ssh 使用ssh 協(xié)議 -tn 便是用n核計(jì)算 -g 便是不啟用圖形界面 -3d 表示3D模式 -i XXX 表示輸入文件
-cnf=“”便是制定某個(gè)節(jié)點(diǎn)用幾核計(jì)算
展開 ABAQUS批量提交Job與Python讀取ODB結(jié)果應(yīng)力應(yīng)變數(shù)據(jù)
批量提交的核心是需要等待當(dāng)前計(jì)算任務(wù)的結(jié)束,上圖中若干個(gè)job的提交代碼如下:
# coding: utf-8
#微信公眾號(hào):ABAQUS二次開發(fā)
#作者:阿信老師CAE
#email:axin_cae@163.com
#2022.03.17
from abaqus import *
from abaqusConstants import *
jobList = mdb.jobs.keys() #獲取所有計(jì)算任務(wù)的jobName
for jobName in jobList:
mdb.jobs[jobName].submit(consistencyChecking=OFF) #提交計(jì)算
mdb.jobs[jobName].waitForCompletion() #等待計(jì)算完成
print jobName , "is completed"
不過在實(shí)際的操作過程中,我們可能會(huì)需要避開一些job不提交,或者job窗口事先并沒有建立job,等等,總之實(shí)際問題永遠(yuǎn)比任何教程都復(fù)雜,不過只需要靈活面對(duì)就可以了,處理起來并不難。
展開 免費(fèi)工具 | 一種ABAQUS inp文件批量提交的工具
本次推薦simwe論壇榮譽(yù)版主garethz前輩在2009年共享的inp文件批量提交工具Abaqus-bat(V1.3)
Abaqus-bat V1.3 能批量提交選定目錄下的所有inp文件,適用于所有版本的ABAQUS軟件,無需手動(dòng)編寫bat批處理命令,界面操作簡(jiǎn)單,非常的方便,親測(cè)可用。
軟件具體的使用說明參考simwe論壇,網(wǎng)址(可下載軟件)如下:
http://forum.simwe.com/forum.php?mod=viewthread&tid=894456&highlight=Abaqus-bat
考慮部分道友沒有注冊(cè)simwe,故提供網(wǎng)盤下載地址,如下:
鏈接:
https://pan.baidu.com/s/1gTe_lrqYjEdkf75mKaNnug
提取碼:
z98c
特別說明:
1、該工具發(fā)布時(shí)間較早,新手一般不會(huì)留意,容易被埋沒,所以才斗膽挖出來推薦給大家,不是炒冷飯;
2、在論壇原帖中g(shù)arethz版主未收取仿真幣,其目的就是方便更多道友,故下載一份通過網(wǎng)盤傳播,零差價(jià),造福更多道友,應(yīng)該不構(gòu)成侵權(quán),請(qǐng)大家明鑒。
3、歡迎關(guān)注微信公眾號(hào):ABAQUS在線(ID:Abaqus)交流。
展開 Abaqus模擬焊接提交作業(yè)報(bào)錯(cuò)
焊接溫度場(chǎng)已經(jīng)算完了,在計(jì)算應(yīng)力的時(shí)候,出現(xiàn)The file size exceeds the 16 gb limit on unit 10的錯(cuò)誤是為什么?

abaqus批量提交inp文件進(jìn)行計(jì)算
但只有一臺(tái)電腦的話需要人守著一個(gè)一個(gè)提交模型文件,耗費(fèi)大量人的精力。
實(shí)際上只需要幾行代碼,就可實(shí)現(xiàn)電腦一個(gè)接一個(gè)自動(dòng)計(jì)算模型。
話不多說實(shí)現(xiàn)方式如下:(不需要下載任何軟件)
(1)新建一個(gè)txt文件,將以下內(nèi)容作為表頭固定輸入。
ABAQUS批量提交任務(wù)的兩種方法
【注意1】如果需要多cpu提交,將每行內(nèi)容增加cpus=4,如下:
【注意2】bat文件和inp文件放置到相同目錄下,則可以采用相對(duì)路徑引用,如果非相同目錄,job文件則需要采用絕對(duì)路徑;
【注意3】提前將原有計(jì)算結(jié)果刪除,否則將提示“old job files exsit. overwrite?<y/n>”,為了避免此類手動(dòng)操作,請(qǐng)先將原有計(jì)算結(jié)果文件刪除。
Python提交方法
這里主要講解ABAQUS/CAE界面下,使用Python代碼批量提交任務(wù),代碼量很少,正文內(nèi)容僅十行,可以實(shí)現(xiàn):Job模塊下任務(wù)狀態(tài)為None時(shí),順序批量的提交計(jì)算,并統(tǒng)計(jì)每個(gè)任務(wù)所耗費(fèi)的時(shí)間。
代碼運(yùn)行方式:
方式1:菜單欄File->Run Script...
方式2:在底部命令輸入窗口中粘帖上述代碼
來源:CAE愛聯(lián)盟
作者:陳佳敏cn
展開 ABAQUS提交運(yùn)算市錯(cuò)誤提示ILLEGAL FILE TYPE IN DBUSRF
ERROR : ILLEGAL FILE TYPE IN DBUSRF 請(qǐng)問這個(gè)是什么意思呢?有沒有大佬教一下怎么解決?感激不盡
ABAQUS中inp文件批量提交計(jì)算程序 ¥80
ABAQUS批量提交inp自動(dòng)計(jì)算bat程序