ANSYS高級(jí)分析之-APDL 基礎(chǔ)_第1頁(yè)
ANSYS高級(jí)分析之-APDL 基礎(chǔ)_第2頁(yè)
ANSYS高級(jí)分析之-APDL 基礎(chǔ)_第3頁(yè)
ANSYS高級(jí)分析之-APDL 基礎(chǔ)_第4頁(yè)
ANSYS高級(jí)分析之-APDL 基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

APDL基礎(chǔ)第9講APDL基礎(chǔ)

概述APDL是ANSYS參數(shù)化設(shè)計(jì)語(yǔ)言的的縮寫,它是一種允許使用參數(shù)并能完成一系列任務(wù)的強(qiáng)大的程序語(yǔ)言。使用APDL可以:用參數(shù)而不是用數(shù)值輸入模型尺寸,材料類型等。從ANSYS數(shù)據(jù)庫(kù)中獲取信息,比如節(jié)點(diǎn)位置或最大應(yīng)力。在參數(shù)中進(jìn)行數(shù)學(xué)運(yùn)算,包括矢量和矩陣運(yùn)算。把常用的命令或宏定義成縮寫形式。建立一個(gè)宏使用if-then-else分支和do循環(huán)等來(lái)執(zhí)行一系列任務(wù)。APDL基礎(chǔ)

…概述這一章的目的是向您介紹APDL的基本功能使您能夠:定義并使用標(biāo)量參數(shù)從ANSYS數(shù)據(jù)庫(kù)中獲取信息您可以從在線幫助的APDL手冊(cè)中獲得更多的信息。我們將就以下問(wèn)題展開討論:A.定義參數(shù)B.利用參數(shù)C.獲取數(shù)據(jù)庫(kù)信息D.練習(xí)APDL基礎(chǔ)

A.定義參數(shù)用以下格式定義參數(shù)Name=Value可以在輸入窗口或標(biāo)量參數(shù)對(duì)話框中輸入(UtilityMenu>Parameters>ScalarParameters...)參數(shù)名不能超過(guò)8個(gè)字符。值可以是一個(gè)數(shù)值,一個(gè)以前定義過(guò)的參數(shù),一個(gè)函數(shù),一個(gè)參數(shù)表達(dá)式,或者一個(gè)字符串(用單引號(hào)括?。PDL基礎(chǔ)

...定義參數(shù)例子:inrad=2.5outrad=8.2numholes=4thick=outrad-inrade=2.7e6density=0.283bb=cos(30)pi=acos(-1)g=386massdens=density/gcircumf=2*pi*radarea=pi*r**2dist=sqrt((y2-y1)**2+(x2-x1)**2)slope=(y2-y1)/(x2-x1)theta=atan(slope)jobname=‘proj1’用*SET看有用參數(shù)列表APDL基礎(chǔ)

...定義參數(shù)以上例子是關(guān)于標(biāo)量參數(shù)的,它只有一個(gè)值—數(shù)字或者字符。ANSYS也提供數(shù)組參數(shù),它有若干個(gè)值。數(shù)字?jǐn)?shù)組和字符數(shù)組都是有效的。字符數(shù)組在本教程中不討論。28.7-9.2-2.151.00.0xvalues=job1job2job3job4job5filnam=APDL基礎(chǔ)

...定義參數(shù)一些命名規(guī)則:參數(shù)名不超過(guò)8個(gè)字符,并以字母開頭。參數(shù)名中只能出現(xiàn)字母,數(shù)字和下劃線。避免以下劃線開頭,這在ANSYS中另有它用。參數(shù)名不分大小寫,如“RAD”和“Rad”是一樣的。所有的參數(shù)都以大寫形式存儲(chǔ)。避免使用ANSYS標(biāo)識(shí),如STAT,DEFA,和

ALL。APDL基礎(chǔ)

B.使用參數(shù)使用參數(shù)時(shí),只需在對(duì)話框中或通過(guò)命令輸入?yún)?shù)名就行了。例如,利用參數(shù)定義一個(gè)w=10,h=5的矩形,您可以使用以下菜單:Preprocessor>Create>Rectangle>By2Corners+或命令:/prep7blc4,,,w,hAPDL基礎(chǔ)

...參數(shù)的用法注意:當(dāng)使用參數(shù)時(shí),ANSYS將立刻把參數(shù)名換為它的值。

上一個(gè)例子中的矩形將被存為10x5,而不是

wxh。也就是說(shuō),如果你在生成矩形后再改變

w或

h的值,矩形將不被修改。APDL基礎(chǔ)

...參數(shù)的用法其它一些關(guān)于參數(shù)用法的例子:jobname=‘proj1’/filnam,jobname !作業(yè)名/prep7youngs=30e6mp,ex,1,youngs !楊氏模量force=500fk,2,fy,-force !2號(hào)關(guān)鍵點(diǎn)的力fk,6,fx,force/2 !6號(hào)關(guān)鍵點(diǎn)的力APDL基礎(chǔ)

C.從數(shù)據(jù)庫(kù)中獲取信息從數(shù)據(jù)庫(kù)中獲取信息并給參數(shù)賦值,使用

*GET

命令或

UtilityMenu>Parameters>GetScalarData...對(duì)獲取大量信息是很有用的,包括模型和結(jié)果數(shù)據(jù),請(qǐng)參看*GET命令的詳細(xì)資料。APDL基礎(chǔ)

...從數(shù)據(jù)庫(kù)中獲取信息例子:*get,x1,node,1,loc,x !x1=節(jié)點(diǎn)1的x坐標(biāo)[CSYS]*/post1*get,sx25,node,25,s,x !sx25=節(jié)點(diǎn)25的x方向應(yīng)力[RSYS]**get,uz44,node,44,u,z !uz44=節(jié)點(diǎn)44的UZ方向的位移[RSYS]*nsort,s,eqv !對(duì)節(jié)點(diǎn)的vonMises應(yīng)力排序*get,smax,sort,,max !smax=排序的最大值etable,vol,volu !用vol存儲(chǔ)單元體積ssum !對(duì)單元表的列求和*get,totvol,ssum,,vol !totvol=對(duì)vol的列求和*CSYS=激活坐標(biāo)系(CSYS)RSYS=激活的結(jié)果坐標(biāo)系(RSYS)APDL基礎(chǔ)

...從數(shù)據(jù)庫(kù)中獲取信息一些數(shù)據(jù)可以通過(guò)函數(shù)獲取。

例如:x1=nx(1) !x1=節(jié)點(diǎn)1的x坐標(biāo)[CSYS]*nn=node(2.5,3,0) !nn=在(2.5,3,0)處的節(jié)點(diǎn)[CSYS]*/post1ux25=ux(25) !ux25=25號(hào)節(jié)點(diǎn)的UX值[RSYS]*temp93=temp(93) !temp93=節(jié)點(diǎn)93的溫度值width=distnd(23,88) !width=23號(hào)節(jié)點(diǎn)和88號(hào)節(jié)點(diǎn)間的距離*CSYS=激活坐標(biāo)系(CSYS)RSYS=激或的結(jié)果坐標(biāo)系(RSYS)APDL基礎(chǔ)

...從數(shù)據(jù)庫(kù)中獲取信息在一些地方您可以直接取函數(shù)值,就象用一個(gè)參數(shù)一樣。例如:k,10,kx(1),ky(3) !10號(hào)關(guān)鍵點(diǎn)x坐標(biāo)取1號(hào)關(guān)鍵點(diǎn)的x坐標(biāo),y坐標(biāo)取 !3號(hào)關(guān)鍵點(diǎn)的y坐標(biāo)k,11,kx(1)*2,ky(3) ![CSYS]*f,node(2,2,0),fx,100 !在節(jié)點(diǎn)(2,2,0)施加力FX[CSYS]**CSYS=激活坐標(biāo)系(CSYS)APDL基礎(chǔ)概要:利用格式Name=Value定義參數(shù).參數(shù)值可以是一個(gè)數(shù)值,一個(gè)以前定義過(guò)的參數(shù),一個(gè)函數(shù),一個(gè)參數(shù)表達(dá)式,或者一個(gè)字符串。利用

*GET

命令或函數(shù)從

ANSYS數(shù)據(jù)庫(kù)中獲取信息。ANSYS存儲(chǔ)的是參數(shù)的實(shí)際值(數(shù)字或字符串),而不是參數(shù)名。2.數(shù)組參數(shù)數(shù)組參數(shù)

是能夠容納多個(gè)值的參數(shù)數(shù)組參數(shù)可以是1-D,2-D,or3-D.1-D:m

x1

列2-D:m

xn

列3-D:m

xn

xk

面17.1-47.6-5.225.0107.9814 17 3861057 -47 7041033 -52 3487141 25 -66622 107 1115x1array5x3arraymxnx3arrayAA=BB=CC=...數(shù)組參數(shù)本章主要討論怎樣定義和使用數(shù)組參數(shù).主要內(nèi)容:A.數(shù)組參數(shù)的類型B.怎樣定義數(shù)組C.獲取數(shù)據(jù)庫(kù)信息D.數(shù)組操作E.專題數(shù)組參數(shù)

A.數(shù)組參數(shù)的類型有三種數(shù)組參數(shù)類型:數(shù)值數(shù)組表字符數(shù)組數(shù)值數(shù)組是標(biāo)準(zhǔn)的1-D,2-D,或3-D數(shù)值矩陣,如下面的

BBBB(2,3)=704BB(3,1)=1033等.814 17 3861057 -47 7041033 -52 3487141 25 -66622 107 1115x3arrayBB=數(shù)組參數(shù)

...數(shù)組參數(shù)的類型數(shù)據(jù)表除了行、列、面可以是實(shí)數(shù)外與數(shù)值數(shù)組類似。第零行、零列、零面必須填充數(shù)字。對(duì)定義隨時(shí)間變化的載荷和類似情況非常有用例如,表FORCE可以表示力隨時(shí)間的變化關(guān)系,第零行表示時(shí)間值。FORCE(0.4)=279.9996FORCE(6.5)=560.0FORCE(8.9)=119.25等數(shù)組參數(shù)

...數(shù)組參數(shù)的類型一個(gè)字符型數(shù)組是1-D,2-D,或3-D的字符串矩陣可用來(lái)存放文件名,自由度標(biāo)識(shí)等每個(gè)字符串不超過(guò)8個(gè)字符。JOB1JOB2JOB3JOB4JOB5jobs=UXUYUZROTYROTZdofs=數(shù)組參數(shù)

B.怎樣定義數(shù)組定義數(shù)組的步驟:1. 指定類型和維數(shù)UtilityMenu>Parameters>ArrayParameters>Define/Edit>Add或使用

*DIM

命令.

例如:*dim,aa,array,4 !4x1x1array*dim,force,table,5 !5x1x1table*dim,bb,array,5,3 !5x3x1array*dim,dofs,char,6 !6x1x1characterarray數(shù)組參數(shù)

...怎樣定義數(shù)組2.給數(shù)組賦值UtilityMenu>Parameters>ArrayParameters>Define/Edit>Edit或使用*VEDIT

命令或使用“=”命令.例如:bb(1,1)=11,21,31,41,51bb(1,2)=12,22,32,42,52bb(1,3)=13,23,33,43,53數(shù)組參數(shù)

...怎樣定義數(shù)組對(duì)于表型數(shù)組,必須定義第0位置。

否則,取缺省值7.8886E-31.例如:force(1,1)=0,560,560,238.5,0force(1,0)=1E-6,0.8,7.2,8.5,9.3force(0,1)=0數(shù)組參數(shù)

...怎樣定義數(shù)組對(duì)字符數(shù)組,不能以圖形方式填充字符串使用“=”命令鍵入值,接著用

*STAT顯示字符串每個(gè)字符串必須用單引號(hào)括起來(lái)例如:dofs(1)=‘ux’,‘uy’,‘uz’,‘rotx’,‘roty’,‘rotz’*stat,dofs數(shù)組參數(shù)

...怎樣定義數(shù)組給數(shù)組賦值的其他方法:用

*VFILL

命令或(UtilityMenu>Parameters>ArrayParameters>Fill)預(yù)定義函數(shù)賦值躍階函數(shù)隨機(jī)函數(shù)等從一個(gè)文件讀入數(shù)據(jù):*VREAD

用于數(shù)值數(shù)組*TREAD

用于數(shù)據(jù)表或

UtilityMenu>Parameters>ReadfromFile從數(shù)據(jù)庫(kù)獲取(下一步討論).數(shù)組參數(shù)

C.獲取數(shù)據(jù)庫(kù)信息正如

*GET

從數(shù)據(jù)庫(kù)獲取標(biāo)量數(shù)據(jù),可以用

*VGET

獲取數(shù)組信息.或

UtilityMenu>Parameters>GetArrayData先定義數(shù)組,然后獲取數(shù)據(jù).例如:*dim,dispval,array,20,3 !20x3array*vget,dispval(1,1),node,1,u,x !UXofnodes1-20incolumn1*vget,dispval(1,2),node,1,u,y !UYincolumn2*vget,dispval(1,3),node,1,u,z !UZincolumn3數(shù)組參數(shù)

…獲取數(shù)據(jù)庫(kù)信息其他可獲取的數(shù)組信息類型:節(jié)點(diǎn)和關(guān)鍵點(diǎn)坐標(biāo)(當(dāng)前坐標(biāo)系)單元屬性,體,面等.實(shí)體的選擇狀態(tài)(1選上,0未選上)節(jié)點(diǎn)應(yīng)力,應(yīng)變,溫度梯度,熱通量等單元表數(shù)據(jù)等…數(shù)組參數(shù)

D.數(shù)組操作一旦定義了數(shù)組參數(shù),就可以對(duì)它們進(jìn)行各種操作UtilityMenu>Parameters>ArrayOperations或使用

*VFUN,*VOPER,*VSCFUN,*VWRITE等命令數(shù)組參數(shù)

...數(shù)組操作*VFUN

對(duì)單個(gè)數(shù)組操作*vfun,b(1),sin,a(1)

等價(jià)于

b(j)=sin(a(j))其他操作包括:自然對(duì)數(shù),常用對(duì)數(shù),指數(shù)平方根,排序,復(fù)制局部坐標(biāo)系與整體坐標(biāo)系的相互轉(zhuǎn)換關(guān)系路徑的切線和法線矢量等數(shù)組參數(shù)

...數(shù)組操作*VOPER

對(duì)兩個(gè)數(shù)組參數(shù)操作。*voper,c(1),a(1),sub,b(1)

等價(jià)于

c(k)=a(k)-b(k)其它操作包括:加,減,乘,除最小值,最大值,邏輯運(yùn)算微分,積分點(diǎn)積和叉積數(shù)組參數(shù)

...數(shù)組操作*VSCFUN

定義數(shù)組參數(shù)的屬性。*vscfun,maxval,max,a(1)

等價(jià)于一個(gè)標(biāo)量

maxval=max(a(i))其它操作包括:求數(shù)組的所有元素的和諸如標(biāo)準(zhǔn)偏差,中值,平均數(shù)等統(tǒng)計(jì)量最小值/最大值,最小值/最大值的位置

第一個(gè)和最后一個(gè)非零記錄的位置數(shù)組參數(shù)

...數(shù)組操作*VWRITE把數(shù)據(jù)按格式寫進(jìn)文件例如:*cfopen,wing,dat*vwrite(/,3x,’NodeNumber’,4x,’Temperature’,/)*vwrite,nnum(1),tval(1)(5x,f6.0,6x,e14.8)*cfclose

將會(huì)創(chuàng)建一個(gè)名為

wing.dat

的文件,包含指定格式的

nnum

tval

數(shù)組數(shù)組參數(shù)

...數(shù)組操作還有大量很有用的數(shù)組操作。請(qǐng)參考

APDL程序員指南獲取詳細(xì)情況.10.宏基礎(chǔ)APDL(ANSYS參數(shù)設(shè)計(jì)語(yǔ)言)最強(qiáng)有力的特征之一是創(chuàng)建宏的能力。宏就是一系列貯存在一個(gè)文件中的ANSYS命令,并且能象一個(gè)ANSYS命令一樣來(lái)運(yùn)行。常用宏功能:它可以如同ANSYS命令一樣具有變量。分支和循環(huán)用來(lái)控制一系列命令。交互式特征如圖形拾取,提示,以及對(duì)話框。宏可以嵌套――一個(gè)宏引用第二個(gè)宏,第二個(gè)宏引用第三個(gè)宏,等等―一直可嵌套20級(jí)?!昊A(chǔ)在這一章,我們將給出創(chuàng)建宏的基本步驟:A.

創(chuàng)建一個(gè)宏B.

帶參數(shù)的宏C.

分支D.

循環(huán)E.

總的指導(dǎo)方針F.

練習(xí)更多的細(xì)節(jié),請(qǐng)參考APDL程序指南等宏基礎(chǔ)

A.創(chuàng)建宏創(chuàng)建一個(gè)宏,在文本編輯器中,創(chuàng)建一系列命令,并以文件名name.mac保存它們.

name以一個(gè)字母開始,可以達(dá)32個(gè)字符。在文件名中空格不允許。避免特殊字符。確保name不是一個(gè)有效的ANSYS命令??梢栽陂_始或所有處理器(PREP7,POST1,等等)中進(jìn)行檢驗(yàn)。如果得到這種信息...不是有效的命令或宏…那么這個(gè)名字是“安全的”。擴(kuò)展名.mac允許你運(yùn)行宏如同運(yùn)行一個(gè)命令一樣:只需敲入name。宏基礎(chǔ)

…創(chuàng)建宏例子:宏totvolume.mac用來(lái)計(jì)算所有單元的整個(gè)體積:esel,all !選擇所有單元etable,volume,volu !將所有單元體積建立單元表ssum !求解單元表選項(xiàng)總和*get,totvol,ssum,,item,volume !totvol=體積總和*stat,totvol !列totvol值-在Post1(在求解之后)中發(fā)出totvolume來(lái)計(jì)算整個(gè)體積。宏基礎(chǔ)

…創(chuàng)建宏搜索路徑:-ANSYS首先在下列搜索路徑中尋找文件name.mac并運(yùn)行它: 1.

/ansys57/docu2.

在ANSYS_M(jìn)ACROLIB環(huán)境變量路徑中。3.

在WINDOWS系統(tǒng)中的注冊(cè)路徑。4.

當(dāng)前工作路徑。-如果在上級(jí)路徑和下級(jí)路徑同時(shí)尋找到同樣的文件名,則采用上級(jí)路徑。宏基礎(chǔ)

B.帶參數(shù)的宏通過(guò)特殊的字符名,你可以創(chuàng)建多達(dá)20個(gè)參數(shù)的宏:-NAME,arg1,arg2,arg3,…,ar10,ar11,ar12,…,ar20參數(shù)如同標(biāo)準(zhǔn)的ANSYS命令中的參數(shù),可以為:數(shù)字字符(被包括在單引號(hào)中)參數(shù)(標(biāo)量或數(shù)組)參數(shù)表達(dá)式參數(shù)的意義由所定義的宏來(lái)決定。宏基礎(chǔ)

…帶參數(shù)的宏例如,我們可以定義宏totvolume.mac來(lái)計(jì)算指定類型的所有單元體積和:-TOTVOLUME,TYPE宏具體如下:esel,s,type,,arg1etable,volume,volussum*get,totvol,ssum,,item,volume*vwrite,arg1,totvol(‘Totalvolumefortype’,f4.0,’elements=’,f8.2)求解之后在通用后處理器中發(fā)出totvolume,1將得出下列結(jié)果:宏基礎(chǔ)

…帶參數(shù)的宏注意:-特殊的字符名ARG1-ARG9和AR10-AR99僅僅是局部參數(shù),僅僅在該宏中有效。一旦宏運(yùn)行結(jié)束后并返回ANSYS主程序,它們將無(wú)意義。避免在模型的其它地方應(yīng)用這些名稱。-無(wú)論何時(shí)應(yīng)用參數(shù)時(shí),一定通過(guò)在宏中包含注釋來(lái)描述它們的意義。 例如,下面在宏totvolume.mac的開始處的注釋是非常有用的。 !MacroTOTVOLUME.MACtocalculatetotalvolumeofelements !Usage:TOTVOLUME,TYPE.validonlyinPOST1afterasolve !TYPE=validelementtypenumberesel,stype,,arg1 … …宏基礎(chǔ)

C.分支通過(guò)應(yīng)用IF-THEN-ELSE結(jié)構(gòu),在只有一定的條件滿足的情況下,你可以運(yùn)行一個(gè)命令或命令塊。在*IF和*ELSEIF命令中,可以運(yùn)用AND,OR,或XOR比較符。

IF,A,EQ,B,AND,C,GT,D,THEN分枝以*IF開始和*ENDIF結(jié)束。*ELSEIF和*ELSE在它們中也可以使用: *if,x,eq,y,then ,,,,,, ,,,,,, *elseif,x,eq,z,then ,,,,,, *else ,,,,,, ,,,,,, *endif宏基礎(chǔ)

…分枝條件符可能是:x,EQ,y !x=yx,NE,y !xyx,LT,y !x<yx,GT,y !x>yx,LE,y !xyx,GE,y !xyx,ABLT,y !|x|<|y|x,ABGT,y !|x|>|y|X和Y可以是數(shù)字,參數(shù),或參數(shù)表達(dá)式。操作符為:THEN

運(yùn)行隨后的命令塊*EXIT

退出DO循環(huán)*CYCLE

跳到DO循環(huán)末端這些操作符只有當(dāng)條件為真是才起作用。否則,ANSYS將會(huì)移至*ELSEIF(若提供),*ELSE(若提供),和*ENDIF。*if,x,eq,y,

then宏基礎(chǔ)

…分支例如,你可以在宏totvolume.mac中增加if-test來(lái)測(cè)試輸入的變量是的有效性:*if,arg1,lt,1,then !如果ARG1小于1*msg,warn !發(fā)出一個(gè)警告Elementtypenumbermustbe1orgreater !退出宏/eof esel,s,type,,arg1 !選擇所有確定類型的單元etable,volume,volu !建立單元表ssum !求解單元表數(shù)據(jù)總和…發(fā)出totvolume,-1將得出下列結(jié)果:宏基礎(chǔ)

D.循環(huán)DO循環(huán)允許執(zhí)行一個(gè)命令塊數(shù)次。實(shí)際上在DO循環(huán)中對(duì)其中包含什么內(nèi)容沒(méi)有限制。你可以包含任何ANSYS命令――包括前處理,求解和處理――這是在條件允許的情況下。*DO開始循環(huán),*ENDDO結(jié)束循環(huán)。 -你可以用*EXIT(退出循環(huán))和*CYCLE(跳到DO循環(huán)末)控制循環(huán)。 -EX

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論