大学生a级毛片免费视频_亚洲精品www久久久久久广东_嫩草国产_国产资源一区二区三区_av一二三区_97日韩精品

Abaqus交互式參數化Python建模與計算

2017-03-29  by:CAE仿真在線  來源:互聯網



1 概述

Abaqus的腳本接口有幾種方式,前一次討論過利用Plug-in插件的方式,這次采用交互式,將操作者設置的參數反饋到Python腳本文件中,再通過Abaqus的內核運行,完成有限元分析過程。、

完成交互式參數化用到的主要函數是getInput()getInputs(),也有提示信息的getWarningReply()。本次用到的模型例子如圖1


1 模型

需要交互式參數化的參數是矩形的長、寬、圓的半徑以及材料參數(彈性模量和泊松比)以及載荷大小。

2 模型交互輸入

w_=getInput('輸入矩形的長度','40')

h_=getInput('輸入矩形的寬度','20')

r_=getInput('輸入圓的半徑','5')

ww=float(w_)

hh=float(h_)

rr=float(r_)

采用getInput()函數,以字符串的形式獲取從界面輸入的參數,再通過float函數將字符串變成數值數據,這三條命令在Abaqus的命令窗口執行結果如圖2,設置了默認值,也可以直接輸入,輸入完之后點擊OK即出現下一個對話框。


2 交互式輸入幾何參數

建模部分完整的代碼如下,其中紅色標記的是引用的交互式輸入的參數。

from abaqus import *

from abaqusConstants import *

session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=359.549987792969,

height=234.613327026367)

session.viewports['Viewport: 1'].makeCurrent()

session.viewports['Viewport: 1'].maximize()

from caeModules import *

from driverUtils import executeOnCaeStartup

executeOnCaeStartup()

session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(

referenceRepresentation=ON)

Mdb()

#: A new model database has been created.

#: The model "Model-1" has been created.

w_=getInput('輸入矩形的長度','40')

h_=getInput('輸入矩形的寬度','20')

r_=getInput('輸入圓的半徑','5')

ww=float(w_)

hh=float(h_)

rr=float(r_)

session.viewports['Viewport: 1'].setValues(displayedObject=None)

s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',

sheetSize=200.0)

g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints

s.setPrimaryObject(option=STANDALONE)

s.rectangle(point1=(-ww/2, -hh/2), point2=(ww/2, hh/2))

s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(rr, 0.0))

p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=TWO_D_PLANAR,

type=DEFORMABLE_BODY)

p = mdb.models['Model-1'].parts['Part-1']

p.BaseShell(sketch=s)

s.unsetPrimaryObject()

p = mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport: 1'].setValues(displayedObject=p)

del mdb.models['Model-1'].sketches['__profile__']

執行完之后即出現如圖1所示的幾何模型。

3 材料參數交互輸入

材料參數包括彈性模量和泊松比,采用getInputs()函數,getInputs()函數允許在一個對話框顯式多個文本輸入框,而前面的getInput()函數則每次只有一個文本對話框。getInputs()getInput()均返回字符串的數值。

Eu=getInputs((('輸入彈性模量:','201000'),('輸入泊松比:','0.3')))

EE=float(Eu[0])

uu=float(Eu[1])

Eu中有彈性模量和泊松比兩個量,采用Eu[0]Eu[1]分別獲得兩個值(注意:Abaqus中都是從0開始)


3 材料參數交互式輸入

材料設置完整代碼:

Eu=getInputs((('輸入彈性模量:','201000'),('輸入泊松比:','0.3')))

EE=float(Eu[0])

uu=float(Eu[1])

mdb.models['Model-1'].Material(name='Material-1')

mdb.models['Model-1'].materials['Material-1'].Elastic(table=((EE, uu),

))

mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',

material='Material-1', thickness=1.0)

p = mdb.models['Model-1'].parts['Part-1']

f = p.faces

faces = f.getSequenceFromMask(mask=('[#f ]', ), )

region = p.Set(faces=faces, name='Set-1')

p = mdb.models['Model-1'].parts['Part-1']

p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0,

offsetType=MIDDLE_SURFACE, offsetField='',

thicknessAssignment=FROM_SECTION)

4 載荷交互輸入

p_=getInput('輸入壓力大小','10')

pp=float(p_)

執行對話框如圖4


4 載荷交互式輸入

完整代碼如下:

p_=getInput('輸入壓力大小','10')

pp=float(p_)

a = mdb.models['Model-1'].rootAssembly

s1 = a.instances['Part-1-1'].edges

side1Edges1 = s1.getSequenceFromMask(mask=('[#1002 ]', ), )

region = a.Surface(side1Edges=side1Edges1, name='Surf-1')

mdb.models['Model-1'].Pressure(name='Load-1', createStepName='Step-1',

region=region, distributionType=UNIFORM, field='', magnitude=-pp,

amplitude=UNSET)

a = mdb.models['Model-1'].rootAssembly

e1 = a.instances['Part-1-1'].edges

edges1 = e1.getSequenceFromMask(mask=('[#2100 ]', ), )

region = a.Set(edges=edges1, name='Set-1')

mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',

region=region, u1=0.0, u2=0.0, ur3=UNSET, amplitude=UNSET, fixed=OFF,

distributionType=UNIFORM, fieldName='', localCsys=None)

mdb.models['Model-1'].boundaryConditions['BC-1'].move('Step-1', 'Initial')

5 執行計算

當所有代碼執行完之后,即可進行求解運算,在求解時可以設置一個信息提示框,提示是否開始計算,當得到肯定后才開始進行計算。信息提示框采用getWarningReply()函數。

reply=getWarningReply(message='開始計算?',buttons=(YES,NO))

if reply==YES:

mdb.jobs['Job-1'].submit(consistencyChecking=OFF)

else:

print '請檢查'

設置一個信息提示框,提示是否開始計算?

當得到肯定答復后執行計算,否則輸出信息“請檢查”。

信息提示框如圖5所示。


5 信息提示框

轉自博客 長安CAE


開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:Abaqus交互式參數化Python建模與計算 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 亚洲精品女人久久 | 欧美美女爱爱 | 91久久精品日日躁夜夜躁国产 | 91嫩草视频在线观看 | 国产精品成人在线观看 | 午夜成人免费电影 | 精品久久久久久久久久久久 | 中文字幕欧美日韩 | 91网站在线看 | 亚洲免费视频观看 | 色图综合 | 欧美成人精品一区二区 | 一本一道久久精品综合 | 成人午夜视频在线观看 | 国产精品国产三级国产aⅴ9色 | 亚洲黄色成人av | 国产成人在线视频 | 日韩精品一区二区三区四区 | 欧美综合一区二区三区 | 久在线 | 日韩成人| 日韩在线视频播放 | 香蕉久久久| 国产中文在线 | 中文字幕免费观看 | www.久久精品| 亚洲高清视频网站 | 亚洲国产日韩欧美 | 日韩三区 | 色呦呦网站在线观看 | www.成人在线视频 | 免费在线观看黄色 | 夜夜操天天干, | 特黄色一级片 | 久久久久久久久久久亚洲 | 香蕉av在线| 亚洲一二三 | 一区二区三区欧美 | 午夜视频在线免费观看 | av官网| 欧美一区二区在线观看 |