Abaqus與python

2016-12-27  by:CAE仿真在線  來(lái)源:互聯(lián)網(wǎng)

Abaqus軟件提供的二次開(kāi)發(fā)接口兩種:Fortran開(kāi)發(fā)的用戶子程序,主要用于自定義本構(gòu)關(guān)系、自定義單元等;二是在python語(yǔ)言基礎(chǔ)上進(jìn)行定制開(kāi)發(fā),主要用于前處理(例如,快速建模)、后處理(例如創(chuàng)建和訪問(wèn)輸出數(shù)據(jù)庫(kù))、自定義模型(例如自動(dòng)后處理)等。

Python接口允許用戶繞過(guò)ABAQUS/CAE的GUI界面,直接與內(nèi)核交互。

使用Python編寫(xiě)的包含腳本接口命令的程序可實(shí)現(xiàn)如下功能:

1、在Abaqus輸入文件(Input file)中,用Python腳本定義關(guān)鍵詞*Parameter項(xiàng)下的數(shù)據(jù)行,例如有的關(guān)鍵字在Abaqus/CAE界面中沒(méi)有,則需要在inp文件里添加。

2、能夠?qū)崿F(xiàn)自動(dòng)化過(guò)程,編寫(xiě)腳本可以實(shí)現(xiàn)各種判斷語(yǔ)句、循環(huán)語(yǔ)句、數(shù)據(jù)存儲(chǔ)等,例如對(duì)一個(gè)過(guò)程進(jìn)行多次重復(fù)計(jì)算,將會(huì)是一個(gè)繁瑣的過(guò)程,使用python編程則可以自動(dòng)實(shí)現(xiàn)這個(gè)功能。

3、能夠?qū)崿F(xiàn)參數(shù)化分析,編寫(xiě)腳本可以進(jìn)行參數(shù)化分析、優(yōu)化分析、系統(tǒng)分析、多系列多型號(hào)的產(chǎn)品分析等,使產(chǎn)品的設(shè)計(jì)更加合理,產(chǎn)品研發(fā)周期更短。


學(xué)習(xí)編寫(xiě)Python腳本

借助于abaqus.rpy文件,Abaqus/CAE中的每一步操作都記錄在abaqus.rpy中。Rpy文件可以使用PythonReader.exe軟件來(lái)查看內(nèi)容。可以CAE與python混合建模,不會(huì)的命令就利用CAE生成,然后用PythonReader打開(kāi)并進(jìn)行修改,可以彌補(bǔ)不熟悉python的缺點(diǎn),逐句修改python語(yǔ)句,可以去掉一些不必要的語(yǔ)句。

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'

#打開(kāi)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)

Abaqus與pythonabaqus有限元培訓(xùn)資料圖片1

只需將上述命令輸入到最下面的窗口即可提取所需要的結(jié)果,對(duì)于需要提取大量結(jié)果的使用起來(lái)能夠大大增加效率。


開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:Abaqus與python abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com