python工业自动化仿真_ABAQUS 中基于 Python 脚本语言开发实现仿真自动化操作
進行 ABAQUS 開發編程前,首先需要明白 ABAQUS 有限元分析思路和基本流程,以及 Python 基本語法和面向對象編程有基本的認識,下面是 Python 和 ABAQUS 的開發模板:
# 注釋說明本程序需要實現的項目內容和功能#
#----------------------------------
#Initialization 初始化導入需要的包
from ABAQUS import *
from abaqusConstant import *
from caeModules import *
#----------------------------------
#Create the model
'''How to create the model'''
#-----------------------------------
#Create the part
'''How to create the part'''
#-----------------------------------
#Create materials
'''How to create the materials'''
'''……'''
開發模板中編寫具體功能的實現方法,可實現的功能和 ABAQUS 提供的各操作模塊一致:
初始化
創建分析模型
創建幾何部件
定義材料屬性及截面并與幾何模型實現連接
創建裝配體
創建分析步
定義場變量和歷史變量輸出
創建邊界及載荷
網格劃分
提交求解
結果后處理
寫代碼的過程中涉及的類、方法等,可以通過宏命令快速了解相關的 api 函數及其作用和功能;也可以通過查看工作路徑下的 abaqus.rpy 文件,里面記錄整個操作過程的腳本。
1. 層級關系
ABAQUS 基于 Python 擴展出 500 多種對象模型,它們之間存在著不同的層級和包含關系,通常可以分為三大類:Session、MDB 以及 Odb,如圖所示為開發包中的各功能模塊層級介紹。其中根據顏色分為 Container 容器和 Singular object 單個對象,Container 中還包含有其它對象,而 Singular object 僅為自己。
在 Python 和 ABAQUS 的開發模板中,通過下面的代碼實現初始化,其中可以理解為所有。
from ABAQUS import *
from abaqusConstant import *
from caeModules import *
其中
from ABAQUS import *
可以 * 理解為導入 ABAQUS 模塊下的所有公共對象。通過這一命令,我們才能使用 mdb.*、session. * 這些命令,這是面向對象編程的基本思路。
from abaqusConstant import *
可以理解為導入 ABAQUS 中用到的所有符號常量,通常是整型或者浮點變量,但是為了能夠清晰的表明代碼的含義都以大寫英文單詞出現,這與 C 語言中定義的符號常量意義差不多,比如下面的代碼中的 THREE_D 和 DEFORMABLE_BODY:
testPart=testModel.Part(name='Test',dimensionality=THREE_D,type=DEFORMABLE_BODY)
定義我們建立的模型是三維可變形實體模型,是一類專有名詞,在 ABAQUS 中有特定的含義,如果不事先通過 abaqusConstant 導入則使用該語句將會報錯。
from caeModules import *
這一句實現 ABAQUS 窗口中所有對象模塊的導入。一般而言,有這三句命令,初始化工作基本完成。
2. 建模、材料等
如何實現建模、材料屬性編輯以及其它各項操作呢。為了能夠方便的介紹相關模塊內容,我們直接使用宏命令來進行腳本的錄制,直接快速。
首先是創建分析模型,通常默認為“Model-1”,我們也可以自定義,如果不清楚如何自定義,可以通過宏進行監控便于代碼的學習,這里創建 Model 并自定義名稱的宏代碼如圖所示(紅色框)。
所以我們在直接導入基礎包之后,可以通過 mdb.models.changeKey(fromName='Model-1',toName='MyTestModel') 實現創建 Model,編寫代碼如下所示。
#----------------------------------
#Create the model
mdb.models.changeKey(fromName='Model-1', toName='MyTestModel')
myModel=mdb.models['MyTestModel']
之后創建分析部件,這里基于 ABAQUS 的 part 建模功能完成,我們拉伸創建一個長方體,察看宏代碼如圖所示(紅色框)。
篩選簡化后將其轉為如下代碼行。具體代碼的含義,熟悉整個 ABAQUS 操作的朋友一眼就能明白,這里不作過多說明。
請您登錄后閱讀全文, 登錄?或者?注冊
總結
以上是生活随笔為你收集整理的python工业自动化仿真_ABAQUS 中基于 Python 脚本语言开发实现仿真自动化操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年GitHub上最热门的Java
- 下一篇: Java基础学习需要掌握哪些内容?