
發布
注冊
/
登錄abaqus 批量輸出的案例
abaqus二次開發:后處理批量提取場輸出和歷程輸出結果(源碼帶注釋) ¥198
abaqus二次開發:后處理批量提取場輸出和歷程輸出結果(購買后需要加V私聊獲取使用教程)
購買后,請加V:wzd_1021_
更多插件內容,請私聊
同時提供定制hypermesh/hyperview/abaqus前后處理插件開發。
【ANSYS文件輸出】ANSYS怎么批量文件輸出?
這期是ANSYS不定期更新,這期主要講一下ANSYS怎么批量文件輸出,還有批量輸出前的一些預處理操作。</span></p><p><strong>01</strong></p><p><strong>怎么去除右上角的時間?</strong></p><p>/PLOPTS,DATE,0 !都不顯示</p><p>/PLOPTS,DATE,1 !只顯示日期</p><p>/PLOPTS,DATE,2 !顯示日期和時間</p><p><strong>02</strong></p><p><strong>怎么去除右上角的LOGO?</strong></p><p>/plopts,logo,on !以logo形式</p><p>/plopts,logo,off !以文本形式</p><p> 用上面兩種形式,logo還是會存在的,還有一種方法就是在界面,鼠標箭頭放在logo上,右鍵點擊data,REPLOT一下,這樣logo就會不再出現。</p><p><strong>03</strong></p><p><strong>怎么把背景變成白色?</strong></p><p>!
展開 ANSYS如何批量輸出結果圖
工程項目中,很多時候會遇到批量出圖的情況,今日水哥就簡單介紹下后處理時如何批量導出圖片。
ANSYS提供了很多圖片格式,但有些格式只適用于特定的操作系統或者Device,且有些圖片格式是不能通過APDL語言導出來的(ANSYS導出圖片的命令流有三種,水哥只推薦/image,其他兩種使用起來太繁瑣,不做推薦),只能采用GUI操作。本人就比較偏愛的三種格式簡單如下:
1)JPG
此種格式清晰度較高,且可以根據自己需要設置圖片質量高低,經常不涉及批量出圖,只需一兩張結果圖時,我便會使用這種格式。但這種格式不能通過/image命令導出來,且只會保留圖片到你剛開始指定的工作目錄下,文件名字不能更改。
GUi路徑如下:
2)BMP、PNG
這兩種格式均可通過GUI和命令流輸出,GUi輸出和上述JPG的輸出方法如出一轍,這里不再介紹。既然可以使用命令流輸出,那么就可以采用循環的方式批量出圖了,后面會做例子簡單演示。
但此兩種格式的圖片空間較大,一般在2M左右,但對于如今的磁盤空間來講,這點缺點微不足道了。
3)emf
這個格式不用說了,對寫論文的童鞋來講在熟悉不過了。此格式唯一不好的地方是不能采用命令流輸出,只能GUi操作。
回歸正題,如何批量出圖。
使用命令流:/image,該命令流使用格式如下:
label一般選擇save,Fname 為文件的名字,當采用循環存儲的時候為了避免圖片相互之間因為同名被覆蓋,此處需要用到將數字轉為字符的命令%_%,可通過引號指定圖片保存的位置,ext為圖片格式,此處可以為bmp,png。
展開 hyperview二次開發-批量輸出應力結果
一、hyperview二次開發-批量輸出應力結果(此腳本源代碼50元)
分析結果文件:NASTRAN的.op2文件
功能:可輸出多個comp在不同工況下的最大應力值及安全系數,保存在.csv的表格文件中,思路如下
二、需要定制功能或其他腳本(價格可議)
hypermesh前處理、hyperview云圖動畫、hypergrash曲線,自動輸出分析報告等均可滿足您的需求,
可聯系Q1700403934
https://www.yqgqt.org.cn/college/video/c13045

Abaqus彈簧批量連接/車橋耦合扣件批量連接代碼+詳細教學視頻 ¥38.9
ABAQUS軟件批量彈簧連接代碼(可修改距離誤差)+使用視頻(10分鐘自己錄制)
贈送:
ABAQUS鄰近點匹配算法批量建立連接器單元_模擬鋼筋混凝土粘結滑移,教學視頻+代碼
其他批量連接代碼
通過Abaqus python腳本批量獲取節點的應力 ¥25
背景
有限單元法計算單元積分點的應力應變值,而對于節點的應力應變值是通過外插得到的,Abaqus中云圖顯示的就是經過插值和平均后的節點的值。通過工具欄的Query-Probe values可以查看單元或節點的應力應變等結果。
對于自動化的后處理場景,通常需要自動批量地獲取單元/節點的結果,通常都需要通過python腳本來實現。通過類似odb.steps['Step-1'].frames[-1].fieldOutputs['S']的場輸出可以比較方便地直接獲得單元的積分點應力,但沒有直接的API可以獲取節點的應力應變等結果。
如果需要獲取部件表面節點應力,可以通過創建路徑+XYData的方式實現,但想要獲得最大節點應力,則該方式不便實現。
2. 通過python腳本獲取節點應力結果
本文通過fieldOutput.getSub()函數獲取所有單元的節點結果,并對每一節點關聯的多個單元的節點值進行平均后得到節點的結果。以下以某個簡單的odb結果進行驗證。
(1)批量獲得節點的mises應力值
(2)批量獲得節點的X方向正應力值
(3)批量獲得節點的最大主應力值
(4)獲取節點的最大mises應力及編號
3. 獲取節點應變等結果
只需將腳本程序中的應力場改為應變成E等即可,此處不再演示。
以下為本文的python腳本代碼(代碼中作了必要的簡單注釋)。
展開 Abaqus的Python批量隨機幾何建模入門
Abaqus支持使用Python語言進行二次開發建模,用戶可以利用Python代碼達成特殊的建模要求。在批量隨機幾何建模問題中,有兩個關鍵詞:一是批量、二是隨機。
1、批量建模
批量建模主要用到的技巧是循環。在此我們介紹兩種常用的Python語言循環控制代碼格式。
首先是while循環,也就是“當循環”。我們直接看一個例子:
i=1
while i < 6:
print i
i=i+1
我們觀察以上代碼,它的意思是:當i小于6的時候,執行print i的命令,直到while后面的條件不成立(即i大于等于6)為止。在循環前,我們給i幅值為1,每一次循環又讓i在原來基礎上加一,這樣就實現了循環打印五個數字的效果。這里的i一般用于循環計數,自加的操作可以讓它記錄循環次數。
注意:while下面的執行語句要空四個格!
第二種方式是for循環,也就是“歷遍循環”。還是直接看例子:
a=[1,2,3,4,5]
for i in a:
print i
這段代碼首先定義了一個列表a,它包含五個元素,分別是1、2、3、4、5這五個整型變量。for i in a:的意思是讓虛擬元素i在a中逐個變化,也就是第一次循環時,i=1,第二次循環時,i=2,依次把五個元素歷遍后循環終止。這段代碼的實現效果與第一段代碼相同。
同樣需要注意,for下面的執行語句也要空四個格!
2、隨機建模
隨機建模主要用到的技巧是產生隨機數字。這就要用到Python的隨機模塊random了。
展開 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根據Excel/csv批量生成inp
進行Job 和 Step的名稱標準化, 使用ABAQUS名稱標準化工具, 因為無論是.xls還是.csv, 均有可能出現不符合ABAQUS命名規則的字符串出現.
03
—
補充說明
讀取Excel/csv進行批量生產inp, 最難的部分在于力的作用邏輯, 因為涉及力與扭矩的判斷, 并且有的點只受力的作用而不受扭矩的作用.
這需要進行判別(目前程序無法判別只受扭矩作用的情況, 當然這種作用方式在實際工作中也沒有遇見過), 因為只受力的作用時該點有三個方向的載荷而普通的作用點是有六個方向的載荷的.
這部分的邏輯是我剛開始接觸python的時候設計的, 屬于陳年舊貨, 現在拿來使用雖然沒有邏輯問題, 但是還是有很大的優化空間, 只不過....以后再說吧.
04
—
源代碼
關注AbaqusCoder并回復createJobFromExcel獲得源代碼.
期待更多技術干貨, 請關注AbaqusCoder!
如果本文對您有幫助, 期待您的轉發與點亮再看!
展開 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批量計算工具
功能:
每個inp任務放到單獨的文件夾中,不會導致計算結果文件都混在一起
支持 .for 文件的子程序
輸出計算成功或失敗信息
4個文件的求解結果示例
剛開發完成,沒怎么測試,可能有bug,歡迎大家反饋。
Abaqus批量計算.zip

ABAQUS批量inp順序作業
work-more.txt
ABAQUS批量inp順序作業.docx
Abaqus批量生成連接器
Abaqus批量生成連接器
批量提取Abaqus的節點坐標(初始坐標、指定Step下的變形量、變形后節點坐標) ¥40
<h2>摘要</h2><p>本文介紹如何使用Python腳本二次開發來批量提取ABAQUS輸出數據庫(ODB)文件中指定Step下的Set節點集變形量。通過詳細的步驟說明、代碼示例和圖片展示,您將學會如何使用該腳本,自動化輸出CSV文件包含(Node Label;Step Name、Increment、Step Time,U1,U2)。</p><p>如果還需要按Increment提取每個增量下的變形后的節點坐標的話,在提取變形量的基礎上,與初始坐標進行簡單的計算就可以求得坐標。 (備注:該代碼只提取了x,y方向的變形量)</p><h2>1. 問題描述</h2><p>在工程仿真和分析領域,提取ABAQUS輸出數據庫(ODB)文件中的節點集變形量是一項常見任務。然而,手動提取這些數據是一項繁瑣且容易出錯的工作。因此,需要一種自動化的方法來批量提取指定步驟下按節點集組織的變形量數據。</p><h2>2. 實例展示</h2><p>假設我們有一個名為`example.odb`的ODB文件,其中包含名為`Step-x`的步驟和名為`Set-x`的節點集。運行以上代碼后,腳本會自動將該步驟下節點集的變形量提取出來,并保存為`NodalDisplacement.csv`文件。
展開 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庫,用于后面計算每個分析使用時長。
展開