ANSYS二次開發(fā)概述_第1頁
ANSYS二次開發(fā)概述_第2頁
ANSYS二次開發(fā)概述_第3頁
ANSYS二次開發(fā)概述_第4頁
ANSYS二次開發(fā)概述_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、ANSYS二次開發(fā)概述標準ANSYS程序是一個功能強大、通用性好的有限元分析程序,同時它還具有良好的開放性,用戶可以根據(jù)自身的需要在標準ANSYS版本上進行功能擴充和系統(tǒng)集成,生成具有行業(yè)分析特點和符合用戶需要的用戶版本的ANSYS程序。開發(fā)功能包括四個組成部分:.參數(shù)化程序設計語言(APDL.用戶界面設計語言(UIDL.用戶程序特性(UPFs.ANSYS數(shù)據(jù)接口APDL所能實現(xiàn)的功能通俗的說來應該是次于UPF而強與UIDL,但實際上是由于三者具體側(cè)重點不同造成的:UIDL主要控制GUI界面的各類二次開發(fā)方法,涉及的分析部分就要少一些,APDL可以稱其為和分析部分頻繁打交道的一組小型工具,功能

2、強大,但不和UIDL一樣能夠非常具體的針對某一兩方面的二次開發(fā)處理,通常情況下融合在分析的角角落落中。UPF是三者之間的最強者,能完成最復雜的二次開發(fā)工作,比如說構(gòu)建新單元,復雜數(shù)據(jù)庫交互,外圍命令定制等,但UPF在很多情況下也借助了APDL命令來完全實現(xiàn)其功能。同樣也能在UIDL中嵌入APDL命令,來構(gòu)建比較復雜的GUI二次開發(fā)工作。UIDL、APDL和UPF三者各有所長,密不可分。結(jié)合使用三者,就能夠?qū)崿F(xiàn)任何強大的分析功能。5.2 Ansys的開發(fā)功能組成部分Ansys的開發(fā)功能由三個部分組成:參數(shù)化程序設計語言(APDL、用戶界面設計語言(UIDL、用戶程序特性(UPFs參數(shù)化程序設計語

3、言(APDL-ANSYS Parametric Design Language實質(zhì)上由類似于FORTRAN77的程序設計語言部分和1000多條ANSYS命令組成。其中,程序設計語言部分與其它編程語言一樣,具有參數(shù)、數(shù)組表達式、函數(shù)、流程控制(循環(huán)與分支、重復執(zhí)行命令、縮寫、宏以及用戶程序等。標準的ANSYS 程序運行是由1000多條命令驅(qū)動的,這些命令可以寫進程序設計語言編寫的程序,命令的參數(shù)可以賦確定值,也可以通過表達式的結(jié)果或參數(shù)的方式進行賦值。從ANSYS命令的功能上講,它們分別對應ANSYS分析過程中的定義幾何模型、劃分單元網(wǎng)格、材料定義、添加載荷和邊界條件、控制和執(zhí)行求解和后處理計算

4、結(jié)果等指令。很多情況下,APDL主要用在優(yōu)化設計或者自適應網(wǎng)格劃分中。用戶可以利用程序設計語言將ANSYS命令組織起來,編寫出參數(shù)化的用戶程序,從而實現(xiàn)有限元分析的全過程,即建立參數(shù)化的CAD模型、參數(shù)化的網(wǎng)格劃分與控制、參數(shù)化的材料定義、參數(shù)化的載荷和邊界條件定義、參數(shù)化的分析控制和求解以及參數(shù)化的后處理。宏是具有某種特殊功能的命令組合,實質(zhì)上是參數(shù)化的用戶小程序,可以當作ANSYS的命令處理,可以有輸入?yún)?shù)或沒有輸入?yún)?shù)??s寫是某條命令或宏的替代名稱,它與被替代命令或宏存在一一對應的關(guān)系,在ANSYS中二者是完全等同的,但縮寫更符合用戶習慣,更易于記憶,減少敲擊鍵盤的次數(shù)。ANSYS工具條

5、就是一個很好的縮寫例子。標準ANSYS交互圖形界面可以驅(qū)動ANSYS命令,提供命令的各類輸入?yún)?shù)接口和控制開關(guān),用戶在圖形驅(qū)動的級別上進行有限元分析,整個過程變得直觀輕松。用戶圖形界面設計語言(UIDL-User Interface Design Language就是編寫或改造ANSYS圖形界面的專用設計語言,GUI方面幾乎全部的二次開發(fā)功能都將由它完成,主要完成以下三種圖形界面的設計:.主菜單系統(tǒng)及菜單項.對話框和拾取對話框.幫助系統(tǒng)通過用戶界面設計語言(UIDL,用戶可以在擴充ANSYS功能的同時建立起對應的圖形驅(qū)動界面,如在主菜單的某位置增加菜單項,設計對應的對話框、拾取對話框,實現(xiàn)參數(shù)

6、的輸入和其它程序運行的控制,同時提供相應的聯(lián)機幫助,使操作者能方便地獲取系統(tǒng)幫助。主要功能有:1 組織強大的菜單系統(tǒng)。在Ansys中也能輕松做出可以和VC,VB之類主流GUI開發(fā)工具媲美的菜單響應效果。2 構(gòu)建功能繁復的對話框。利用強大的UIDL工具,也能輕松架構(gòu)起進行大型工程分析的實用對話框向?qū)А? 建立自己的聯(lián)機幫助Ansys中的聯(lián)機幫助非常實用,構(gòu)建自己完善的幫助系統(tǒng),UIDL是這方面不可或缺的理想開發(fā)工具一個完整的UIDL控制文件結(jié)構(gòu)大致如圖5-1:控制文件頭結(jié)構(gòu)塊結(jié)構(gòu)圖5-1 UIDL控制文件結(jié)構(gòu)圖任何一個UIDL控制文件開頭都是一個控制文件頭,其后接一個或多個結(jié)構(gòu)塊結(jié)構(gòu)??刂莆募^

7、第一行必須有:F filename,filename是UIDL控制文件名。控制文件頭第二行必須有:D description,description是對本文件的一些說明。注意到description中有時能帶%E%擴展,但只有當擁有類似SCCS的系統(tǒng)(含一源碼控制系統(tǒng),ANSYS才能有效的進行%E%擴展,否則只有手動把這些說明替代%E%寫入description中??刂莆募谌斜仨氂?I 0, 0, 0,各個0必須出現(xiàn)在第9、18、27行。只要在這些位置填入0,ANSYS在調(diào)用該文件后會自動在這些位置填入GUI界面的位置信息。結(jié)構(gòu)塊結(jié)構(gòu)是一個UIDL控制文件的核心,它涵蓋了菜單信息,命令信息

8、,以及幫助文件信息,按照其不同的類型可劃分為菜單結(jié)構(gòu)塊,命令結(jié)構(gòu)塊和幫助結(jié)構(gòu)塊。一般來說函數(shù)結(jié)構(gòu)塊還都伴隨著構(gòu)建一個對話框結(jié)構(gòu)。結(jié)構(gòu)塊結(jié)構(gòu)基本框架如圖5-2。頭部分數(shù)據(jù)控制部分尾部分圖5-2 UIDL結(jié)構(gòu)塊結(jié)構(gòu)圖ANSYS在調(diào)用GUI界面時會自動調(diào)用menulistxx.ans文件(由版本不同而改變,該文件中描述了UIDL前處理器到哪里去尋找UIDL控制文件。ANSYS 在其docu/目錄中有一個基本的menulistxx.ans文件和對應的基本UIDL控制文件。默認情況下,ANSYS就調(diào)用這一文件。用戶程序特性(UPFs向用戶提供豐富的FORTRAN77用戶程序開發(fā)子程序和函數(shù),用戶利用它們

9、從開發(fā)程序源代碼的級別上擴充ANSYS的功能。使用這些子程序和函數(shù),編寫用戶功能的源代碼程序,在與ANSYS版本要求匹配的FORTRAN或C+編譯器上重新編譯和連接,生成用戶版本的ANSYS程序。另外,還提供了外部命令功能,允許用戶創(chuàng)建ANSYS可以利用的共享庫。用戶可以開發(fā)下列方面的功能程序:.開發(fā)用戶子程序?qū)崿F(xiàn)從ANSYS數(shù)據(jù)庫中提取數(shù)據(jù)或?qū)?shù)據(jù)寫入ANSYS 數(shù)據(jù)庫。該種子程序可以編譯連接到ANSYS中,此時ANSYS提供了10個數(shù)據(jù)庫操作命令;如果作為外部命令處理,可以在ANSYS的任何模塊中運行;.利用ANSYS提供的子程序定義各種類型的載荷,其中包括BF或BFE 載荷、壓力載荷、對

10、流載荷、熱通量和電荷密度等;.利用ANSYS提供的子程序定義各種材料特性,包括塑性、蠕變、膨脹、粘塑性、超彈、層單元失效準則等;.利用ANSYS提供的子程序定義新單元和調(diào)整節(jié)點方向矩陣;.利用ANSYS提供的子程序修改或控制ANSYS單元庫中的單元;(6.利用UEROP創(chuàng)建用戶優(yōu)化程序;ANSYS程序作為子程序在用戶程序中調(diào)用。一個典型的UPFs包括下列步驟:1.在FORTRAN77中編制用戶程序。在ANSYS中所有的用戶程序源代碼都是公開的。大部分完成至少一個簡單的功能,因此在編制程序前應列出一份完整的可用程序表。2.編譯并將用戶程序連接到ANSYS程序中。在ANSYS Installati

11、on and Configuration Guide中有這方面的詳細描述。3.用戶可能要驗證自己做的改動是否影響其他ANSYS標準功能的使用??梢酝ㄟ^做幾個ANSYS Verification Manual中的例題來驗證。在ANSYS中也有輸入這些問題的方法。4.用用戶認為可以滿足要求的過程檢驗用戶子程序。請牢記本步由用戶完成,用戶要對子程序負責。ANSYS程序?qū)⒃谟脩羰褂脮r自動激活一些子程序,如用戶單元等。例如,要激活一個用戶單元,僅僅在模型建立時指定它為其中的一個單元類型(ET命令或MainMenuPreprocessorElement TypeAdd/Edit/Delete,將單元類型屬

12、性指針設置好,然后用該單元進行實體劃分AMESH,VMESH等或直接生成單元ET等命令即可。對于其他一些UPFs,用戶需要做一些別的操作來激活它們。即,需要輸入USRCAL命令或選擇下列菜單:Main MenuPreprocessorLoads-Load Step Opts-OtherUser Routines或Main MenuSolution-Load Step Opts-OtherUser Routines。如果沒有做這一步,將執(zhí)行標準的ANSYS功能。例如,如果想施加對流載荷,即便連接了用戶對流子程序,缺省時仍是使用標準的ANSYS功能。因此用戶必須使用USRCAL命令(或相應路徑激活正確的用戶子程序才能使用用戶過程。請參閱USRCAL命令描述得到命令可以影響的用戶過程列表。使用NSVR命令定義在用戶過程中要存儲的另外的變量數(shù)目。(NSVR命令無相應的路徑。另一個有用的命令是/UCMD,可以使用戶在

溫馨提示

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

最新文檔

評論

0/150

提交評論