ANSYS經(jīng)典APDL編程經(jīng)驗(yàn)總結(jié)
2016-02-03 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
在使用ANSYS的過(guò)程中的一些經(jīng)驗(yàn)總結(jié):
1.ANSYS中的一些關(guān)鍵概念的理解;
參數(shù)化程序設(shè)計(jì)語(yǔ)言(APDL:ANSYS Parametric Design Language)實(shí)質(zhì)上由類似于FORTRAN77的程序設(shè)計(jì)語(yǔ)言部分和1000多條ANS
YS命令組成。其中,程序設(shè)計(jì)語(yǔ)言部分與其它編程語(yǔ)言一樣,具有參數(shù)、數(shù)組表達(dá)式、
函數(shù)、流程控制(循環(huán)與分支)、重復(fù)執(zhí)行命令、縮寫、宏以及用戶程序等。標(biāo)準(zhǔn)的AN
SYS程序運(yùn)行是由1000多條命令驅(qū)動(dòng)的,這些命令可以寫進(jìn)程序設(shè)計(jì)語(yǔ)言編寫的程序,命
令的參數(shù)可以賦確定值,也可以通過(guò)表達(dá)式的結(jié)果或參數(shù)的方式進(jìn)行賦值。從ANSYS命令
的功能上講,它們分別對(duì)應(yīng)ANSYS分析過(guò)程中的定義幾何模型、劃分單元網(wǎng)格、材料定義
、添加載荷和邊界條件、控制和執(zhí)行求解和后處理計(jì)算結(jié)果等指令。
用戶可以利用程序設(shè)計(jì)語(yǔ)言將ANSYS命令組織起來(lái),編寫出參數(shù)化的用戶程序,從而
實(shí)現(xiàn)有限元分析的全過(guò)程,即建立參數(shù)化的CAD模型、參數(shù)化的網(wǎng)格劃分與控制、參數(shù)化
的材料定義、參數(shù)化的載荷和邊界條件定義、參數(shù)化的分析控制和求解以及參數(shù)化的后
處理。
宏是具有某種特殊功能的命令組合,實(shí)質(zhì)上是參數(shù)化的用戶小程序,可以當(dāng)作ANSY
S的命令處理,可以有輸入?yún)?shù)或沒(méi)有輸入?yún)?shù)。
縮寫是某條命令或宏的替代名稱,它與被替代命令或宏存在一一對(duì)應(yīng)的關(guān)系,在AN
SYS中二者是完全等同的,但縮寫更符合用戶習(xí)慣,更易于記憶,減少敲擊鍵盤的次數(shù)。
ANSYS工具條就是一個(gè)很好的縮寫例子。
用戶界面設(shè)計(jì)語(yǔ)言(UIDL)
標(biāo)準(zhǔn)ANSYS交互圖形界面可以驅(qū)動(dòng)ANSYS命令,提供命令的各類輸入?yún)?shù)接口和控制
開(kāi)關(guān),用戶在圖形驅(qū)動(dòng)的級(jí)別上進(jìn)行有限元分析,整個(gè)過(guò)程變得直觀輕松。用戶圖形界
面設(shè)計(jì)語(yǔ)言(UIDL)就是編寫或改造ANSYS圖形界面的專用設(shè)計(jì)語(yǔ)言,主要完成以下三種
圖形界面的設(shè)計(jì):
主菜單系統(tǒng)及菜單項(xiàng)
對(duì)話框和拾取對(duì)話框
幫助系統(tǒng)
通過(guò)用戶界面設(shè)計(jì)語(yǔ)言(UIDL),用戶可以在擴(kuò)充ANSYS功能的同時(shí)建立起對(duì)應(yīng)的圖
形驅(qū)動(dòng)界面,如在主菜單的某位置增加菜單項(xiàng),設(shè)計(jì)對(duì)應(yīng)的對(duì)話框、拾取對(duì)話框,實(shí)現(xiàn)
參數(shù)的輸入和其它程序運(yùn)行的控制,同時(shí)提供相應(yīng)的聯(lián)機(jī)幫助,使操作者能方便地獲取
系統(tǒng)幫助。
用戶程序特性(UPFs)
用戶程序特性(UPFs)向用戶提供豐富的FORTRAN77用戶程序開(kāi)發(fā)子程序和函數(shù),用
戶利用它們從開(kāi)發(fā)程序源代碼的級(jí)別上擴(kuò)充ANSYS的功能。使用這些子程序和函數(shù),編寫
用戶功能的源代碼程序,在與ANSYS版本要求匹配的FORTRAN或C++編譯器上重新編譯和連
接,生成用戶版本的ANSYS程序。另外,還提供了外部命令功能,允許用戶創(chuàng)建ANSYS可
以利用的共享庫(kù)。用戶可以開(kāi)發(fā)下列方面的功能程序:
開(kāi)發(fā)用戶子程序?qū)崿F(xiàn)從ANSYS數(shù)據(jù)庫(kù)中提取數(shù)據(jù)或?qū)?shù)據(jù)寫入ANSYS數(shù)據(jù)庫(kù)。該種子程序
可以編譯連接到ANSYS中,此時(shí)ANSYS提供了10個(gè)數(shù)據(jù)庫(kù)操作命令;如果作為外部命令處
理,可以在ANSYS的任何模塊中運(yùn)行;
利用ANSYS提供的子程序定義各種類型的載荷,其中包括BF或BFE載荷、壓力載荷、對(duì)流
載荷、熱通量和電荷密度等;
利用ANSYS提供的子程序定義各種材料特性,包括塑性、蠕變、膨脹、粘塑性、超彈、層
單元失效準(zhǔn)則等;
利用ANSYS提供的子程序定義新單元和調(diào)整節(jié)點(diǎn)方向矩陣;
利用ANSYS提供的子程序修改或控制ANSYS單元庫(kù)中的單元;
利用UEROP創(chuàng)建用戶優(yōu)化程序;
ANSYS程序作為子程序在用戶程序中調(diào)用。
ANSYS數(shù)據(jù)接口
ANSYS程序在分析過(guò)程中存在大量的設(shè)計(jì)分析數(shù)據(jù),一部分在運(yùn)行時(shí)置于計(jì)算機(jī)的內(nèi)
存之中,一部分以文件的形式存放在工作目錄中。除LOG文件和出錯(cuò)文件等文本文件之外
,其它文件都是二進(jìn)制文件,分別以不同的格式進(jìn)行寫入,如:數(shù)據(jù)庫(kù)文件、結(jié)果文件
、模態(tài)結(jié)果文件、單元矩陣文件、子結(jié)構(gòu)矩陣文件、對(duì)角化剛度矩陣文件、縮減位移矩
陣文件、縮減頻率矩陣文件和完整的剛度-質(zhì)量矩陣文件等等。ANSYS數(shù)據(jù)接口詳細(xì)地闡
述每種二進(jìn)制文件的格式,然后介紹從這些數(shù)據(jù)文件提取各種數(shù)據(jù)的子程序或函數(shù),從
而實(shí)現(xiàn)對(duì)二進(jìn)制數(shù)據(jù)的讀寫和修改。顯然,它滿足了用戶以下三種基本需要:檢查或觀
察過(guò)程數(shù)據(jù)或結(jié)果數(shù)據(jù);通過(guò)修改ANSYS的數(shù)據(jù)文件達(dá)到控制或修正計(jì)算;提取結(jié)果數(shù)據(jù)
進(jìn)行分析處理。
ANSYS數(shù)據(jù)接口提供了兩條模型和數(shù)據(jù)庫(kù)信息的轉(zhuǎn)換和傳遞命令,即CDREAD和CDWRI
TE,前者將一個(gè)符合ANSYS讀入或?qū)懗龈袷降哪P秃蛿?shù)據(jù)庫(kù)文件信息讀入到ANSYS數(shù)據(jù)庫(kù)
中,后者的作用正好相反。同時(shí),為了減少轉(zhuǎn)換或傳遞的時(shí)間,提高效率,還提供重定
向自由度映射關(guān)系和其它數(shù)據(jù)庫(kù)代碼化的輔助命令,如/DFLAB、NBLOCK、EBLOCK、EN等
等。該功能大大提高了ANSYS與其它有限元程序之間的模型數(shù)據(jù)的傳遞和轉(zhuǎn)換,也實(shí)現(xiàn)了
ANSYS自身數(shù)據(jù)庫(kù)文件代碼化后便于存儲(chǔ)或機(jī)器之間的傳遞。
ANSYS數(shù)據(jù)接口還闡述了圖形文件的格式,幫助用戶將ANSYS圖形文件轉(zhuǎn)換成其它格
式,如AI等。
(1)幾何模型和有限元模型
幾何模型是指模型的幾何信息,在ANSYS中的體現(xiàn)就是關(guān)鍵點(diǎn)(keypoint),面(area),體(volume)等。 而有限元模型是指用于有限元計(jì)算的信息,常常和關(guān)鍵點(diǎn),面,體等混淆的是節(jié)點(diǎn)(node),單元(單元)。 真正的用于有限元計(jì)算的是節(jié)點(diǎn)和單元,而不是所謂的關(guān)鍵點(diǎn)(keypoint)等,關(guān)鍵點(diǎn)等是創(chuàng)建有限元模型時(shí)的幾何信 息而已。
(2) 待續(xù)。。。
2.APDL中的選擇命令總結(jié)
在使用APDL編程的過(guò)程中,不管是幾何建模,還是網(wǎng)格剖分,求解,計(jì)算,后處理等,常見(jiàn)的模式就是選中相
應(yīng)的對(duì)象,然后對(duì)對(duì)象施加一些ansys定義好的操作。相對(duì)來(lái)講最常用,最有技巧性的操作往往是選擇(select),選
擇點(diǎn),線,面,體,節(jié)點(diǎn),單元等施加操作的對(duì)象, 通常的選擇方式有:
<1>. 通過(guò)圖元的編號(hào)來(lái)進(jìn)行選擇
包括給定其具體的編號(hào),或編號(hào)的序列(等差序列:其開(kāi)始,結(jié)束,步長(zhǎng)),在APDL中相應(yīng)的命令中指定Vmax,Vmin等參數(shù);
<2>. 通過(guò)依附關(guān)系(attached to)來(lái)選取
ANSYS中的圖元是有關(guān)聯(lián)關(guān)系的,低維的對(duì)象是依附于高層次的對(duì)象的,比如說(shuō)關(guān)鍵點(diǎn)是依附于線,面,體,節(jié)點(diǎn)依附于單元的。
<3>. 通過(guò)位置(by location)來(lái)選擇
這種方式包含在*SEL命令的參數(shù)里面。
<4>. 由材料屬性,單元類型的不同進(jìn)行選擇
這也是一種很方便的方式, 在命令流中是通過(guò)指定*SEL的參數(shù)來(lái)執(zhí)行的。
S:從包含所有的同類型的對(duì)象集合中選取一個(gè)集合。
R:從當(dāng)前選擇的對(duì)象集合中選取一個(gè)集合。
U:從當(dāng)前選擇的對(duì)象集合中反選取一個(gè)集合。A:從包含所有同類型對(duì)象的集合中選取一個(gè)集合并入當(dāng)前集合。
PS:這些選擇方式都是在GUI下面有相應(yīng)的選項(xiàng)的。
3.從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)的方法
APDL編程的另一個(gè)重要的操作就是如何提取ANSYS數(shù)據(jù)庫(kù)的信息。
<1>.*GET和*VGET命令;其中*GET是提取標(biāo)量參數(shù)的命令,而*VGET是批量提取數(shù)據(jù)庫(kù)的信息的命令。
<2>.等價(jià)的內(nèi)嵌提取函數(shù);
<3>.對(duì)象信息查詢函數(shù);ANSYS中提取數(shù)據(jù)庫(kù)信息的查詢函數(shù)是**INQR(其中**代表KP,LS,AR,VL,ND,分別代表關(guān)鍵點(diǎn),線,面,體,節(jié)點(diǎn)等的信息),但是對(duì)應(yīng)于單元的查詢函數(shù)是ELMIQR。
<4>.用/INQUIRE函數(shù)來(lái)查詢系統(tǒng)信息,包括路徑,工作目錄,工作文件名等。
4.常見(jiàn)的一些操作的模板
比如說(shuō),幾何建模,劃分網(wǎng)格,求解及其設(shè)置,后處理等都是用幾行APDL就能搞定的,并且大同小異。因此總
結(jié)一些模板有利于編程。
幾何建模的一些程序:
... ...
劃分網(wǎng)格:
1. ASEL, 2 !選擇面
SMRT,3 !網(wǎng)格尺寸
MSHKEY,0 !網(wǎng)格生成方式
AMESH,ALL !劃分網(wǎng)格
求解:
... ...
后處理:
... ...
未完待續(xù)
相關(guān)標(biāo)簽搜索:ANSYS經(jīng)典APDL編程經(jīng)驗(yàn)總結(jié) ansys APDL編程 ansys編程 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn) PROE培訓(xùn) 運(yùn)動(dòng)仿真