ANSYS使用經驗及二次開發

2021-03-04 01:04:36 字數 4857 閱讀 6955

ansys提供了幾種通用截面供使用者選用,但有時不能滿足使用者的特殊需求。為此,ansys提供了使用者建立截面(庫)的方法。如果你需要建立乙個非通用橫截面,必須建立乙個使用者網格檔案。

具體方法是,首先建立乙個2-d實體模型,然後利用secwrite命令將其儲存(main menu>preprocessor>sections> -beam-write sec mesh)。該過程的細節如下:

1. 建立截面的幾何模型(二維面模型)。

2. 對所有線設定單元份數或者單元最大尺寸 (main menu>preprocessor> -meshing-size **trls>-lines-picked lines或使用meshtool)。記住:

保證模型中的區格(cell)數目不能超過250個。

3. 選擇選單main menu>preprocessor>sections>-beam-write sec mesh,彈出乙個拾取視窗,單擊pick all拾取包含區格的所有面。

4. ansys自動在所有面上建立區格。在劃分網格時,ansys可能顯示單元形狀差的訊息,也可以被忽略不顯示,但是總能看到一條訊息「unable to mesh area....

」。如果已經完成上述工作,你清除所有面上的單元(main menu>preprocessor>-meshing-clear> areas),並重複第2、3、4步,即必須重新控制網格密度。

5. 如果第4步成功則彈出write section library file對話方塊,file name域填入乙個未用過sect檔名,drives域指定乙個截面檔案存放驅動器,directories域指定乙個截面檔案存放目錄,然後單擊按鈕ok,完成使用者截面檔案建立。如果在第3步中給線指定太多單元份數,區格和節點的數目可能超過限制範圍,必須清除所有面上的單元2~4步,直到獲得合適數量的區格和節點。

一旦完成上述工作,使用者可以在以後分析中讀取使用者網格檔案 (main menu > preprocessor > sections > -beam-read sect mesh),定義成適當的截面id號,就與通用梁完全一致。要想檢查使用者截面,只要繪製截面(網格)圖(main menu>preprocessor>sections>plot section)或者列表截面屬性(main menu>preprocessor>sections>list sections)。

在ansys操作過程或條件語句中,常常需要知道有關模型的許多引數值,如選擇集中的單元數、節點數,最大節點號等。此時,一般可通過*get命令來獲得這些引數。現在,對於此類問題,我們有了乙個更為方便的選擇,那就是查詢函式 — inquiry function。

inquiry function類似於ansys的 *get 命令,它訪問ansys資料庫並返回要查詢的數值,方便後續使用。ansys每執行一次查詢函式,便查詢一次資料庫,並用查詢值替代該查詢函式。

假如你想獲得當前所選擇的單元數,並把它作為*do迴圈的上界。傳統的方法是使用*get命令來獲得所選擇的單元數並把它賦給乙個變數,則此變數可以作為*do迴圈的上界來確定迴圈的次數

*get, elmax,elem,,count

*do, i, 1, elmax……

*enddo

現在你可以使用查詢函式來完成這件事,把查詢函式直接放在*do迴圈內,它就可以提供所選擇的單元數

*do, i, elmiqr(0,13)……

*enddo

這裡的elmiqr並不是乙個陣列,而是乙個查詢函式,它返回的是現在所選擇的單元數。括弧內的數是用來確定查詢函式的返回值的。第乙個數是用來標識你所想查詢的特定實體(如單元、節點、線、面號等等),括弧內的第二個數是用來確定查詢函式返回值的型別的(如選擇狀態、實體數量等)。

同本例一樣,通常查詢函式有兩個變數,但也有一些查詢函式只有乙個變數,而有的卻有三個變數。

查詢函式的種類和數量很多,下面是一些常用、方便而快速快捷的查詢函式

1 area—arinqr(areaid,key)

areaid—查詢的面,對於key=12,13,14可取為0;

key—標識關於areaidr的返回資訊

=1, 選擇狀態

=12,定義的數目

=13,選擇的數目

=14,定義的最大數

=-1,材料號

=-2,單元型別

=-3,實常數

=-4,節點數

=-6,單元數

…arinqr(areaid,key)的返回值

對於key=1

=0, areaid未定義

=-1,areaid未被選擇

=1, areaid被選擇

…2 keypoints—kpinqr(kpid,key)

kpid—查詢的關鍵點,對於key=12,13,14為0

key —標識關於kpid的返回資訊

=1,選擇狀態

=12,定義的數目

=13,選擇的數目

=14,定義的最大數目

=-1,數料號

=-2,單元型別

=-3,實常數

=-4,節點數,如果已分網

=-7,單元數,如果已分網

kpinqr(kpid,key)的返回值

對於key=1

=-1,未選擇

=0,未定義

=1, 選擇

3 line—lsinqr(lsid,key)

lsid—查詢的線段,對於key=12,13,14為0

key—標識關於lsid的返回資訊

=1, 選擇狀態

=2, 長度

=12,定義的數目

=13,選擇的數目

=14,定義的最大數

=-1,材料號

=-2,單元型別

=-3,實常數

=-4,節點數

=-6,單元數

…4 node—ndinqr(node,key)

node—節點號,對於key=12,13,14為0

key—標識關於node的返回資訊

=1, 選擇狀態

=12,定義的數目

=13,選擇的數目

=14,定義的最大數

=-2,超單元標記

=-3,主自由度

=-4,啟用的自由度

=-5,附著的實體模型

ndinqr(node,key)的返回值

對於key=1

=-1,未選擇

=0,未定義

=1, 選擇

5 volumes—vlinqr(vnmi,key)

vnmi—查詢的體,對於key=12,13,14為0

key—標識關於vnmi的返回資訊

=1,選擇狀態

=12,定義的數目

=13,選擇的數目

=14,定義的最大數目

=-1,數料號

=-2,單元型別

=-3,實常數

=-4,節點數

=-6,單元數

=-8,單元形狀

=-9,中節點單元

=-10,單元座標系

vlinqr(vnmi,key)的返回值

對於key=1

=-1,未選擇

=0,未定義

=1, 選擇

窗體頂部

窗體底部

ansys具有混合網格剖分的功能。例如兩個粘在一起的面,可以對乙個面進行三角形劃分,再對另乙個面進行四邊形劃分。過程見下列命令:

/prep7

et,1,42

rect,,1,,1

rect,1,2,,1

aglue,all

mshape,0,2d

amesh,1

mshape,1,2d

amesh,3

膜元shell41可以用於大變形分析。但是膜元shell41在處理大變形問題時必須採用三角形單元,因為四邊形單元會產生蹺曲(warping),所以在劃分網格時請選tri。

當需要迫使兩個或多個自由度取得相同(但未知)值,可以將這些自由度耦合在一起。耦合自由度集包含乙個主自由度和乙個或多個其它自由度。

典型的耦合自由度應用包括:

模型部分包含對稱;

在兩重複節點間形成銷釘、鉸鏈、萬向節和滑動連線;

迫使模型的一部分表現為剛體。

如何生成耦合自由度集

1. 在給定節點處生成並修改耦合自由度集

命令:cp

gui: main menu>preprocessor>coupling / ceqn>couple dofs

在生成乙個耦合節點集之後,通過執行乙個另外的耦合操作(保證用相同的參考編號集)將更多節點加到耦合集中來。也可用選擇邏輯來耦合所選節點的相應自由度。用cp命令輸入負的節點號來刪除耦合集中的節點。

要修改一耦合自由度集(即增、刪節點或改變自由度標記)可用cpngen命令。(不能由gui直接得到cpnbgen命令)。

2. 耦合重合節點。

cpintf命令通過在每對重合節點上定義自由度標記生成一耦合集而實現對模型中重合節點的耦合。此操作對「扣緊」幾對節點(諸如一條縫處)尤為有用。

命令:cpintf

gui: main menu>preprocessor>coupling / ceqn>coincident nodes

3. 除耦合重複節點外,還可用下列替換方法迫使節點有相同的表現方式:

o 如果對重複節點所有自由度都要進行耦合,常用nummrg命令(gui:main menu>preprocessor>numbering ctrls>merge items)合併節點。

o 可用eintf命令(gui:main menu> preprocessor>create> elements >at coincid nd)通在重複節點對之間生成2節點單元來連線它們。

o 用ceintf命令(gui:main menu>preprocessor> coupling/ceqn >adjacent regions)將兩個有不相似網格模式的區域連線起來。這項操作使乙個區域的選定節點與另乙個區域的選定單元連線起來生成約束方程。

AutoCAD的二次開發

林學與園林學院 06園林傅欣蕾 摘要 通過對autocad軟體發展史的概述,從中歸納出cad的總體發展趨勢。從當今各行業所需的cad專業化功能,提出對其進行二次開發的意義及具體實施步驟。關鍵詞 autocad 發展史二次開發專業化功能 1.autocad的發展簡史 1.1 第一次cad技術革命 曲面...

基於VBA的AUTOCAD二次開發及應用例項

時間 2011 10 0318 25 09 作者 1引言autocad2005是autodesk公司的系列產品,該軟體從其使用和設計思路上都秉承了工程製圖人員的繪圖習慣,能夠非常輕鬆地繪製出帶有平面檢視和三維渲染效果的工程圖紙,是繪圖人員的乙個理想工具。隨著cad基礎理論和應用技術的不斷發展,對ca...

ERP專案二次開發如何進行

第二 設定階段目標。將整個開發專案要分成若干塊,而不是一刀切。軟體可以按模組或者生產線上的工序來劃分,設定若干個短期目標及中 長期目標,並分階段進行驗收。並且可以將整個合同的金額與專案階段目標進行掛勾,到什麼階段,驗收通過支付多少合同款等。第三 確定開發模式。最終的軟體成品採用的是b s模式還是c ...