
發布
注冊
/
登錄腳本調用abaqus的案例
Tcl調用Hyperview自動執行腳本 ¥3
做HyperWork二次開發時,想通過tcl調取hyperview自動執行已經編制好的tcl腳本
Hypermesh和hyperview的腳本文件皆為tcl代碼,利用tcl代碼可以完成很多操作,例如在hyperview里面可以自動導入結果文件、自動顯示云圖、截取圖片結果并輸出保存,也可以輸出動畫和數值結果。
如下幾張圖片是通過一個已經編好的tcl腳本自動導入輸出的圖片。
以及文件輸出結果和動畫。
以下就如何通過tcl調取hyperview進行演示。
Ansys Workbench中調用Mechanical python腳本的方法及注意事項 ¥19
? 如果將Ansys Mechanical的代碼實現定義為函數,并在Workbench代碼中進行調用時,則mechaCmd中的字符串代碼需要以頂格為基準格式,進行代碼編寫,即認為字符串中的Mechanical代碼與Workbench代碼“獨立”存在。
通過批處理文件(.bat)后臺調用hyperview執行tcl腳本的 ¥9
工作中如果存在一些已開發好的tcl腳本(比如,使用hyperview讀取模型數據并寫入txt或excel文件中),通過批處理命令可以實現從后臺調用hyperview執行腳本,從而更方便的獲取數據
ABAQUS UMAT調用后為什么損傷變量出現負值?
ABAQUS UMAT調用后為什么損傷變量和單元刪除出現負值和大于1得值?
調用子程序后,計算復合材料損傷過程,損傷變量和單元刪除出現負值和大于1得值,真誠求助。附上子程序,請老師指教
20251203.txt

調用ABAQUS內置JH2模型模擬沖擊損傷-ABAQUS例子
結果如下:
impactsiliconcarbide_jh2.txt
把附件的txt后綴直接改為inp文件即可運行
ABAQUS斷裂模擬收徒 ,快速學會各種ABAQUS斷裂模擬方法 **/人(將有機會享有各種插件以及程序,價值**、專門定制視頻、全程親自教學、各種模型調試及解答問題等等,傾囊相教)
fortran 調用 abaqus
matlab和python都可以方便的調用<a href="/major/abaqus,為算法優化帶來了極大的便利。我在優化過程中需要用到Fortran調用abaqus,更準確的說是在abaqus的子程序中調用abaqus,目前遇到的一個問題是log中會有一個warning,暫不清楚會有什么影響,下面開始寫如何做到的。
我的warning:*Warning: it took 18 seconds to delete C:\Users\Bidong\AppData\Local\Temp\Bidong_Job-4_13268
1.Fortran調用abaqus代碼:
program XXX
use dflib
implicit none
logical(4) cmdout
cmdout=system('abaqus job=Job9_A2M inp=D:\abaqus\software\temp\Job9_A2M.inp')
end program XXX
這段代碼可以運行指定文件夾的inp,最后的結果文件在F文件項目所在的文件夾中。
2.在abaqus job1的子程序中運行新的job2,將上述代碼寫成一個子程序,用call的形式調用。生成的job2結果文件會在job1運行結束后在內存中釋放,job2的結果可以在job2的程序或子程序中進行提取。
3.在遇到已經存在的任務時,abaqus會詢問是否覆蓋先前的 job,如果不想被詢問直接覆蓋先前的任務,可以在上述命令結尾加上 ask=off
展開 通過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 PDE 中打開它(文件 --> Abaqus PDE)。在 Abaqus PDE 中,選擇文件 --> 打開并打開 abaqusMacros.py。它位于主目錄或工作目錄中,具體取決于您選擇保存宏的位置。在代碼中,我們可以識別模型名稱、材料名稱和材料屬性。這些都可以被賦予名稱和值。通過為這些參數填寫不同的值,使得宏的適用性更加廣泛。保存修改后的版本并重新加載并通過宏管理器運行它以進行嘗試。
圖 4:宏的原始版本,以及最后一部分的替代版本,其中模型名稱、材料名稱、楊氏模量和泊松比可以輕松修改。
在對話框中請求輸入
為了使事情變得更加用戶友好,最好彈出一個對話框來要求這些輸入。這可以與 getInputs 函數一起使用。圖 5 給出了一個示例。
圖5:使用getInputs獲取請求輸入的對話框
生成的對話框如圖 6 所示。
圖 6:使用 getInputs 創建的對話框。
第 3 級:循環參數
如果多次運行略有不同的模型版本,通常可以獲得腳本編寫的最大好處。這意味著不像我們之前那樣修改一次參數,而是自動填充不同的值并每次重新運行模型。該參數可以與任何事物相關。它可以是材料屬性、殼體厚度、摩擦系數……:Abaqus/CAE 中用值描述的任何內容。該腳本通常只有幾行代碼。我們將展示一個重新運行模型的示例,所有剛度從 150,000 MPa 到 250,000 MPa,增量為 25,000。
創建腳本基礎的最簡單方法是將 CAE 中完成的操作記錄在宏或 .rpy 文件中。
展開 一個Abaqus建模腳本
工作需要經常在三維軟件中建立葉片模型導入abaqus計算,不勝其煩,于是嘗試用Python編寫一個腳本。
#!
找人寫個abaqus的python腳本
這個腳本需要支持以下功能: 1. 用戶自定義半對稱或1/4對稱; 2. 用戶自定義模型的大小; 3. 用戶自定義模型的網格大小; 4. 用戶自定義模型的粘彈性參數; 5. 用戶自定義內含物的位置、大小及粘彈性參數; 6. 讀取外部給定的載荷數據文件在相應的節點生成載荷; 7. 用戶自定義仿真時長; 8. 用戶自定義場輸出的區域和輸出時間頻率; 9. 自動讀取obd文件提取數據。 預算1000
自動調用abaqus 進行計算的插件 ¥30
在使用abaqus進行仿真過程中,如果是通過別的軟件進行前處理導出得到inp,常常使用的方法是新建一個bat 文件,在文件中輸入
call abaqus job=XXX
XXX是inp的名字,那么問題來了,在調試過程中每次都得輸入inp的名字,如果在調試過程中,在一個文件夾下可能出現多個inp,每次修改起來依然不夠方便。因而,筆者編寫一個插件,每次能自動調用該文件夾下最新的inp 文件計算。
使用者每次在文件夾中右鍵,即可彈出該按鈕,單擊該按鈕即可自動調用,如下圖所示
使用方法:
解壓附錄文件,將
附錄:
如何在windows 添加右鍵
https://jingyan.baidu.com/article/3065b3b6455d6dbecff8a4b2.html
展開 
Abaqus利用Python腳本建模實例
Abaqus利用Python腳本建模實例
1 概述
通過Python編寫的命令能夠通過Abaqus的內核執行,編寫Python腳本快速建模使Abaqus高級用戶經常使用的功能之一。本次以一個實例,說明通過Python腳本語言進行Abaqus有限元分析的過程,模型如圖1所示。
Abaqus復合材料建模腳本
復合材料自動建模腳本,直接上圖,需要的站內聯系
python腳本編輯Abaqus關鍵字
使用Abaqus進行仿真分析時,經常會遇到CAE界面上無法實現的功能需求,此時通常就需要通過修改關鍵字的方式實現。
方式一:通過修改inp文件。
方式二:直接通過CAE界面的“編輯關鍵字”實現(本質也是修改inp)。
對于自動化的仿真分析任務,可以使用python語言進行自動地修改關鍵字。若采用方式一實現,需要先生成inp文件,再讀取文件進行修改,再提交inp文件創建任務,提交計算。整個過程相對較繁瑣。若直接通過程序編輯關鍵字,則不需要調整整個仿真任務的邏輯。
以在“Model-1”的“Material-1”后添加非線性粘彈性材料模型為例,如下圖:
通過對程序進行簡單修改,可以實現材料、載荷、約束等關鍵字的增加和修改等。
附錄:
展開 ABAQUS中調用MATLAB的函數
實例測試
在運行程序時,需要注意的是,必須將用到的自定義的m文件的目錄都包括進去
from mlab.releases import latest_release as matlab
# 添加matlab程序的位置,需要引入所有需要依賴的m文件的目錄
x = matlab.path(matlab.path(),r'C:\Users\15321\abaqus_plugins\path')
# 運行函數
number = matlab.plot(x)