
發布
注冊
/
登錄abaqus 批量提交的案例
ABAQUS中inp文件批量提交計算程序 ¥80
ABAQUS批量提交inp自動計算bat程序
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批量提交作業 ¥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批量提交任務
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批量提交任務-Python腳本
公眾號:CAE分析技術分享
前一篇文章介紹了如何用bat的形式在DOS下批量提交ABAQUS作業,這一篇將介紹如何用python腳本來實現批量提交作業。
Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似于PHP和Perl語言。
Python 是交互式語言: 這意味著,您可以在一個 Python 提示符 >>> 后直接執行代碼。
Python 是面向對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
Python 是初學者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。
使用Python腳本實現批量提交abaqus任務基本上有倆種方式:
打開ABAQUS/CAE的情況下,通過file→run script的方式
通過ABAQUS command,不打開ABAQUS/CAE的情況
01 打開ABAQUS/CAE時
Talk is easy,let's show the code first!
原理解讀:
第一步:首先我們需要創建一個腳本頭,包含讀者,時間等信息,方便他人閱讀。這是一種規范,沒有任何理由,照著做就可以了。#encoding:utf-8中文編碼。
第二步:導入abaqus相關的庫,以及python自帶的time庫,用于后面計算每個分析使用時長。
展開 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批量提交作業-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, 暫停任務,以及恢復任務,從上次暫停的地方開始接著算。
展開 ABAQUS批量提交Job與Python讀取ODB結果應力應變數據
今天完成了一些節點性工作,下午有些時間,回答一個后臺有網友的提問:
這個問題具有一定的普遍性和通用性,普遍性是很多人都會遇到,通用性是指應用場景很廣泛,尤其是現在很多人趕時髦搞深度學習和機器學習什么的,需要進行大量計算和數據處理來構建數據集,這就不可避免的要進行批量化處理了,因此對這些問題進行基本的講解也就有了意義,我原來也寫過一些相關文章,點擊下面圖片可以跳轉。
該網友的問題,實際上是兩個問題:
問題1是如何批量提交job;
問題2是如何從ODB結果文件中讀取計算結果數據。
因此本文也從兩個方面來進行介紹。
問題1
如何批量提交job——計算任務
批量提交計算任務這個問題實際上是老生常談了,可以用兩種基本的方式實現。
方法1:
在cmd中使用命令行的方式,這種方式也可以保存為bat文件的方式運行,這個方式我并不常用,可參考幫助文檔中的如下部分,很詳細。
方法2
采用python程序進行批量提交
如果你的若干個job已經在job界面建好了,并且打算每算完一個job自動的進行后處理的話,采用python腳本會很方便。
展開 【公益貼】 ABAQUS批量提交CAE計算(非inp)
# 創建作業任務
mdb.jobs[JobName].submit(consistencyChecking=OFF) #提交作業
Python腳本文件
abaqus_submit.txt
以及相關CAE測試文件
ABAQUS.rar
免費工具 | 一種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)交流。
展開 
ABAQUS中利用Python批量創建提交多個分析任務
abaqus二次開發:前處理批量提交作業插件(源碼+注釋) ¥168
abaqus二次開發:前處理批量提交作業插件(源碼+注釋)
購買后,請加V:wzd_1021_
更多插件內容,請私聊
同時提供定制hypermesh/hyperview/abaqus前后處理插件開發。
基于PERL語言的MS中CASTEP模塊批量提交計算腳本
為了滿足廣大科研工作者在材料科學、化學、物理等領域日益增長的計算需求,我們特別推出了一款基于Perl語言的MS CASTEP模塊批量提交計算腳本。
一、批量提交,高效處理
該腳本支持MS CASTEP模塊的批量提交計算,您可以一次性提交多個計算任務,無需逐個手動操作,從而大大節省了時間和精力。通過并行計算,該腳本還能充分利用計算機資源,提高計算效率,讓您更快獲得研究成果。
二、靈活定制,滿足個性需求
該腳本具備高度的可定制性,您可以根據具體的研究需求和計算條件,靈活設置腳本參數,實現個性化的計算任務配置。無論是結構優化、性質計算還是動力學模擬等,該腳本都能為您提供全面而精準的支持。可以是被Forcite、dmol、castep等不同模塊。
三、穩定可靠,值得信賴
我們深知科研工作對于計算結果準確性和可靠性的高要求。因此,該腳本在開發過程中經過了嚴格的測試和驗證,確保在各種計算環境下均能穩定運行。同時,我們還提供完善的售后服務和技術支持,確保您在使用過程中遇到的問題能夠得到及時解決。
在一般的計算中,我們要實現對結構的計算需要依次打開每一個結構文件,進行參數設置和計算,并獲得計算結果文件。如:
特別是需要獲取結果的能量等信息的時候,要進入每一個結果文件進行查找,當你面對少量的模型時,能量提取還能hold住。
然而,我們的計算往往是相同的參數進行大量的計算,面多幾十甚至幾百個結構的計算量時,這種手動尋找能量的方式就難以使用。,因此,使用我們所提供的腳本,可以批量的提交計算任務,獲得計算結果。
當然,您也可以進行參數的自我定義,只需要修改腳本中的恰當部分即可。
展開 Abaqus彈簧批量連接/車橋耦合扣件批量連接代碼+詳細教學視頻 ¥38.9
ABAQUS軟件批量彈簧連接代碼(可修改距離誤差)+使用視頻(10分鐘自己錄制)
贈送:
ABAQUS鄰近點匹配算法批量建立連接器單元_模擬鋼筋混凝土粘結滑移,教學視頻+代碼
其他批量連接代碼