Abaqus與python
2016-12-27 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
Abaqus軟件提供的二次開發(fā)接口兩種:Fortran開發(fā)的用戶子程序,主要用于自定義本構(gòu)關(guān)系、自定義單元等;二是在python語言基礎(chǔ)上進(jìn)行定制開發(fā),主要用于前處理(例如,快速建模)、后處理(例如創(chuàng)建和訪問輸出數(shù)據(jù)庫)、自定義模型(例如自動后處理)等。
Python接口允許用戶繞過ABAQUS/CAE的GUI界面,直接與內(nèi)核交互。
使用Python編寫的包含腳本接口命令的程序可實現(xiàn)如下功能:
1、在Abaqus輸入文件(Input file)中,用Python腳本定義關(guān)鍵詞*Parameter項下的數(shù)據(jù)行,例如有的關(guān)鍵字在Abaqus/CAE界面中沒有,則需要在inp文件里添加。
2、能夠?qū)崿F(xiàn)自動化過程,編寫腳本可以實現(xiàn)各種判斷語句、循環(huán)語句、數(shù)據(jù)存儲等,例如對一個過程進(jìn)行多次重復(fù)計算,將會是一個繁瑣的過程,使用python編程則可以自動實現(xiàn)這個功能。
3、能夠?qū)崿F(xiàn)參數(shù)化分析,編寫腳本可以進(jìn)行參數(shù)化分析、優(yōu)化分析、系統(tǒng)分析、多系列多型號的產(chǎn)品分析等,使產(chǎn)品的設(shè)計更加合理,產(chǎn)品研發(fā)周期更短。
學(xué)習(xí)編寫Python腳本
借助于abaqus.rpy文件,Abaqus/CAE中的每一步操作都記錄在abaqus.rpy中。Rpy文件可以使用PythonReader.exe軟件來查看內(nèi)容??梢訡AE與python混合建模,不會的命令就利用CAE生成,然后用PythonReader打開并進(jìn)行修改,可以彌補(bǔ)不熟悉python的缺點,逐句修改python語句,可以去掉一些不必要的語句。
Abaqus的python看似繁瑣,但有著固定、嚴(yán)謹(jǐn)?shù)慕Y(jié)構(gòu),很多都是固定格式,因此并不難理解。
下面是提取結(jié)果中應(yīng)力的Python命令:
#coding=utf-8
fromabaqus import *
fromabaqusConstants import *
fromodbAccess import *
importnumpy as np
OdbFilePath= 'E:\SD2014\TEST\'
#OdbFileName= 'TEST.odb'
#OdbFile= OdbFilePath + OdbFileName
OdbFile='E:\SD2014\TEST\TEST.odb'
outfilename= OdbFilePath + 'STRESS.txt'
nodesetname='NSET-SZ'
#intancename='PART-1-1'
#打開ODB文件
Odb =odbAccess.openOdb[OdbFile]
if notintancename: intancename = Odb.rootAssembly.instances.keys()[-1]
nodeset= Odb.rootAssembly.instances[intancename].nodeSets[nodesetname]
lastStep = Odb.steps.keys()[-1]
lastFrame= Odb.steps[lastStep].frames[-1]
# 提取YY方向應(yīng)力, 如需要XX或其它方向應(yīng)力, 可更改x.data[0]或其它
stress_field= lastFrame.fieldOutputs['S']
stress_field_nodset= stress_field.getSubset(region=nodeset, position=ELEMENT_NODAL)
nset_val= stress_field_nodset.values
stress_data= map(lambda x:[x.nodeLabel, x.data[2]], nset_val)
只需將上述命令輸入到最下面的窗口即可提取所需要的結(jié)果,對于需要提取大量結(jié)果的使用起來能夠大大增加效率。
相關(guān)標(biāo)簽搜索:Abaqus與python abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)