
發布
注冊
/
登錄abaqus分析提交的案例
abaqus整體結構分析提交分析時中斷是什么原因?
abaqus整體結構分析提交分析時中斷是什么原因?
ABAQUS中利用Python批量創建提交多個分析任務
Abaqus批量提交作業 ¥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):
"""清理殘留文件函數"""
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任務提交器
學習python的過程中制作了一個Abaqus的任務提交器,可以方便地提交inp和腳本文件,有需要可以私信

ABAQUS批量提交任務
ABAQUS可以使用Python代碼進行批量提交任務
第一步:
新建文本.txt,復制Python代碼到文本,代碼如下
# -*-coding:UTF-8-*-
from abaqus import *
from abaqusConstants import *
import time
print "==================== 【開 始】 ====================="
jobs = mdb.jobs.keys() #獲得所有任務名稱
for i in jobs: #遍歷所有任務
myJob = mdb.jobs[i] #獲得任務對象
#判斷任務的狀態是否為None,避免重復提交
if myJob.status == None:
t0=time.time() #記錄提交前的時間
myJob.submit() #提交計算
myJob.waitForCompletion() #等待計算完成
print '【%s】計算完成,耗時 %f 秒'%(i,time.time()-t0)
print "==================== 【結 束】 ====================="
第二步:文本格式.txt 修改為 .py
第三步:創建好任務,且任務顯示狀態為 None,不允許有其他狀態,否則提交不成功(可修改代碼值靈活變化)
批量提交有兩種方式:
1、file>Run Script,打開前面保存的.py文件,任務會自動進行
2、直接復制代碼到Abaqus
展開 命令行提交 Abaqus 任務
Abaqus 早期好像是只有通過命令行提交任務的。即使到了現在,很多人還是喜歡直接通過命令行操作。而且有時候需要用命令行提交 inp 文件進行計算還可能是因為少數 keywords 不為 Abaqus/CAE 識別。
以下假設將運行的 inp 是 jobname1.inp jobname2.inp 等等,也假設這些 inp 是可以運行的。
1. 提交方式
在 WINDOWS 中點擊 [開始] → [程序] → [ABAQUS 6.x] → [ABAQUS Command],然后在 DOS 窗口中輸入:
提交任務:(int 就是 interactive)
abaqus job=jobname1 int
殺死任務:(一般不可恢復)
abaqus terminate job=jobname1 int
任務暫停:(可恢復)
abaqus suspend job=jobname1 int
恢復運算:(從上次分析結束的地方重新開始分析)
abaqus resume job=jobname1 int
殺死任務不可恢復,但是如果有 restart 文件的話,可以 restart 繼續計算。
2. 幾點說明
Old job files exist. Overwrite?<y/n> 問是否可以覆蓋。
如果是文件重名,應該鍵入n;把現有 inp 改名,重新提交,以免覆蓋以前的文件。如果可以覆蓋,鍵入 y。
abaqus 不是內部命令,也不算可以運行的程序或者批處理文件。
展開 ABAQUS批量提交任務-Python腳本
不打也可以,只不過ABAQUS界面中提示信息很多,打印了之后很容易就可以看到。
第四步:創建一個裝多個jobs名的列表,并從模型的jobs倉庫中使用keys()函數獲取。
第五步:核心步驟,用for循環,遍歷之前創建的裝有jobs名的列表,一個一個提交任務。并打印當前分析所使用的時長。這個for循環中,包含了一個if的條件判斷,是用來判斷當前任務的狀態,如果是None,那么我們就提交他。如果是complete那么就不需要提交。
【效果圖展示1】 下圖為使用上面腳本后 ,ABAQUS/CAE中信息欄的信息,可以看見,Job2-4的信息都打印出來,并包含分析所使用時間。Job1由于之前已經計算過了,運行腳本前其狀態已經是Completed,所以Job1沒有被提交,當然信息也不會被打印出來。
02 不打開ABAQUS/CAE時
接下來掩飾一下,不打開ABAQUS/CAE時,如何用Python腳本批量提交ABAQUS任務。這里跟之前是有點區別的,首先我們沒有打開CAE界面,所以我們沒有辦法直接通過訪問mdb.jobs獲取任務名的列表。
原理解讀:
第一步:腳本頭(省略,同上)
第二步:導入相關庫(省略,同上),不同的是導入了os和sys庫,用于所有分析結束后60秒后自動關機。
第三步:創建Jobs列表儲存所有需要被分析的job的名稱。這個就有點類似bat的方式了,我們需要首先將所有需要提交的任務的inp文件,和腳本或bat文件放在一個文件夾下。并在腳本和bat文件中,把需要分析的job名寫下來。
第四步:同上,for循環遍歷列表,并一個一個提交任務。不同的是,上一個在你創建Job的時候已經指定了計算使用的cpu數,所以python腳本中無需對這個特殊設定。
展開 Abaqus批量提交inp文件計算
當有多個模型需要計算時,或者一個模型需要多次修改本構參數計算時,可以使用bat文件批量提交inp文件計算。
在txt文件里寫入如下內容,另存為bat文件,雙擊運行就可以批量提交inp文件計算了。本例是提交1.inp、2.inp和3.inp依次計算,可根據自己需要修改。
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文件依次進行計算;
(3)cpus=4是多核計算;
(4)pause是計算完成不關閉cmd窗口;
(5)shutdown -s -f -t 60是計算完3.inp文件(最后一個)后60秒關機,如不關機刪去即可;
(6)如果使用了子程序的,如pqfiber,則如下call abaqus job=1 user=pqfiber.for cpus=4 int ;
(7)如果多個inp文件在不同的文件夾下,加入cd/d C:\a(a為文件夾名字)進行切換即可。
Abaqus批量提交inp文件計算的視頻操作,可以點擊如下鏈接,觀看視頻的章節11。
http://www.yqgqt.org.cn/college/video/c14934
學土木結構的同學,可以關注我!
有用可以點個贊!
展開 ABAQUS批量提交作業-BAT文件
本文主要介紹關于ABAQUS怎么不使用CAE界面提交作業,以及批量提交作業。那么為什么我們需要用命令行來提交作業而不直接從ABAQUS/GUI中提交?畢竟ABAQUS的GUI界面可以說是有限元分析軟件中做的最好的最人性化的界面。
可能的原因如下(個人感受):
Inp中少數關鍵字不為ABAQUS/CAE識別
多個INP需要被提交,且來自于不同的模型不同的分析任務,這就導致無法在CAE界面中同時提交作業
【01 相關命令的介紹】
首先介紹幾個ABAQUS/命令行的幾個重要命令,以及各個命令的含義和須知事項:
提交任務:abaqus job = jobname1 int/interactive, 這個命令是用作提交Job的,命令行中輸入此命令就會直接調用abaqus求解器進行求解。后面跟上的int或interactive含義一樣,加上DOS窗口會顯示任務運行的階段。另外一個功能就是讓任務一個一個交,而不是一次性全部提交。
殺死任務:abaqus terminate job = jobname int, 終止任務一般不可以恢復,但是如果有restart文件,可以重啟動計算
任務暫停和恢復:abaqus suspend/resume job = jobname int, 暫停任務,以及恢復任務,從上次暫停的地方開始接著算。
展開 linux 提交任務的命令(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 協議 -tn 便是用n核計算 -g 便是不啟用圖形界面 -3d 表示3D模式 -i XXX 表示輸入文件
-cnf=“”便是制定某個節點用幾核計算
展開 ABAQUS批量提交Job與Python讀取ODB結果應力應變數據
批量提交的核心是需要等待當前計算任務的結束,上圖中若干個job的提交代碼如下:
# coding: utf-8
#微信公眾號:ABAQUS二次開發
#作者:阿信老師CAE
#email:axin_cae@163.com
#2022.03.17
from abaqus import *
from abaqusConstants import *
jobList = mdb.jobs.keys() #獲取所有計算任務的jobName
for jobName in jobList:
mdb.jobs[jobName].submit(consistencyChecking=OFF) #提交計算
mdb.jobs[jobName].waitForCompletion() #等待計算完成
print jobName , "is completed"
不過在實際的操作過程中,我們可能會需要避開一些job不提交,或者job窗口事先并沒有建立job,等等,總之實際問題永遠比任何教程都復雜,不過只需要靈活面對就可以了,處理起來并不難。
展開 
Abaqus模擬焊接提交作業報錯
焊接溫度場已經算完了,在計算應力的時候,出現The file size exceeds the 16 gb limit on unit 10的錯誤是為什么?
abaqus批量提交inp文件進行計算
當分析參數較多時,可能同時有多個模型需要計算。但只有一臺電腦的話需要人守著一個一個提交模型文件,耗費大量人的精力。
實際上只需要幾行代碼,就可實現電腦一個接一個自動計算模型。
話不多說實現方式如下:(不需要下載任何軟件)
(1)新建一個txt文件,將以下內容作為表頭固定輸入。
ABAQUS批量提交任務的兩種方法
相信大家在研究過程中都會有這個需求,進行大量工況的批量運算時,怎么讓其自動的一個一個進行提交,而無需手動提交?
這里介紹兩種方法,兩種方法各有優劣,可以根據自己實際情況進行選擇:
Bat文件提交方法;
Python提交方法。
Bat文件
Abaqus command中有一些基本的程序調取命令,經常使用服務器的小伙伴估計都不陌生。在幫助文檔《Abaqus Analysis User's Guide》的3.2.2節中詳細介紹了inp文件提交過程中的關鍵字用法,如下圖所示:
這里給出一個最簡單的inp文件提交格式如下:
abaqus job=job-name int
其中int 為 interactive的縮寫,幫助文檔解釋:在運行過程中反饋進程,隱式求解輸出log文件;顯式求解則輸出status和log文件。Interactive還有一個重要功能是:讓任務一個一個提交,而不是一次性提交運算。
為了批量提交計算,我們可以將任務提交語句寫入bat文本文件,雙擊bat文件即可提交運算;但經常會由于輸入格式錯誤而無法實現預期效果。
錯誤示例:
這也是網上經常遇到的錯誤答案:使用call作為開始關鍵字,或沒有采用int關鍵字。運行后會發現多個任務同時提交,且僅前幾個任務被提交;
正確示例:
以cmd/c為開始,并包含int或interactive關鍵字,此時任務可以順序提交。
展開 免費工具 | 一種ABAQUS inp文件批量提交的工具
本次推薦simwe論壇榮譽版主garethz前輩在2009年共享的inp文件批量提交工具Abaqus-bat(V1.3)
Abaqus-bat V1.3 能批量提交選定目錄下的所有inp文件,適用于所有版本的ABAQUS軟件,無需手動編寫bat批處理命令,界面操作簡單,非常的方便,親測可用。
軟件具體的使用說明參考simwe論壇,網址(可下載軟件)如下:
http://forum.simwe.com/forum.php?mod=viewthread&tid=894456&highlight=Abaqus-bat
考慮部分道友沒有注冊simwe,故提供網盤下載地址,如下:
鏈接:
https://pan.baidu.com/s/1gTe_lrqYjEdkf75mKaNnug
提取碼:
z98c
特別說明:
1、該工具發布時間較早,新手一般不會留意,容易被埋沒,所以才斗膽挖出來推薦給大家,不是炒冷飯;
2、在論壇原帖中garethz版主未收取仿真幣,其目的就是方便更多道友,故下載一份通過網盤傳播,零差價,造福更多道友,應該不構成侵權,請大家明鑒。
3、歡迎關注微信公眾號:ABAQUS在線(ID:Abaqus)交流。
展開