模型簡化及網(wǎng)格劃分 模型簡化及網(wǎng)格劃分 使在建立仿真模型時,經(jīng)驗是非常有助于用戶決定哪些部件應該考慮因而必須建立在模型中,哪些部件 不應該考慮因而不需建立到模型中,這就是所謂的模型簡化。此外,網(wǎng)格劃分也是影響分析精度的另外 一個因素。本文將集中討論如何簡化模型以獲得有效的仿真模型以及網(wǎng)格劃分需要注意的一些問題。理 想情況下,用戶都希望建立盡可能詳細的仿真模型,而讓仿真軟件自己來決定哪些是主要的物理現(xiàn)象。 然而,由于有限的計算機資源或算法限制,用戶應該簡化電磁仿真的模型。 模型簡化 模型簡化主要取決于結果參數(shù)及結構的電尺寸。例如,如果用戶希望分析安裝在某電大尺寸載體上的天 線的遠場方向圖,那么模型上距離源區(qū)超過一個波長的一些小特征和孔徑(最大尺度小于 /50)就可以 不考慮。另一方面,如果用戶希望分析從源到用帶有小孔的屏蔽面屏蔽的導線之間的耦合,那么必須對 小孔、靠近源的屏蔽面以及導線進行精確建模。另外一個常用的簡化是用無限薄的面來模擬有限厚度的 導體面。一般而言,厚度小于/100的金屬面都可以近似為無限薄的金屬面。有限導電性和有限厚度的影 響可以在SK卡中設置。對于比較厚的導體面,如果這種影響是次要的,那么用戶仍然可以采取這種近似。例如,當建立大反射面天線的饋源喇叭模型時,喇叭壁的有限厚度對于反射面天線主波束的影響就是次要的。然而,如果喇叭天線用于校準標準時,那么喇叭壁的有限厚度就不能忽略。 網(wǎng)格劃分 一般而言,網(wǎng)格劃分的密度設置為最短波長的十分之一。然而,在電流或電荷梯度變化劇烈的區(qū)域,如 源所在區(qū)域、曲面上的縫隙和曲面的棱邊等,必須劃分得更密。一個實用的指導原則是網(wǎng)格大小應該與 結構間的間隔距離(d)相比擬(<=2d)。同樣地,如果需要計算近場分布,那么網(wǎng)格大小應該同場點 到源點間距離(d)相比擬。 總之,用戶建立的幾何模型應該抓住主要的物理現(xiàn)象,而網(wǎng)格劃分則需要權衡輸出結果相對于網(wǎng)格大小的收斂性。 二次開發(fā)調試技術 二次開發(fā)調試技術(摘自ANSYS用戶專區(qū))- - 在調試用戶子程序過程中,可以利用非《ANSYS命令參考手冊》某些命令和其它特性幫助用戶提供許多有 用的信息。但是,它們僅僅適合于極小問題并只包含較少迭代求解情況;否則,它們將會輸出大量的數(shù)據(jù) 。 下面將詳細介紹/TRACK 和 /DEBUG兩個命令;另外有兩個ANSYS文檔沒有包含的命令:OUTEQ 與 /NERR。 命令OUTEQ,on 能夠用于控制所有平衡迭代計算的輸出結果。 命令/NERR,,,-1 使系統(tǒng)一直報錯,并保持程序繼續(xù)運行。 這時,正常的中斷方式有:1) 系統(tǒng)中斷; 2) 錯誤結果。 1、跟蹤程序運算邏輯順序 /TRACK命令:當程序按邏輯順序進入和離開某些更高級別的子程序時發(fā)送一條信息。子程序的 TrackBegin(開始)和TrackEnd(結束)(參看UPFs第六章)一起構成/TRACK命令的程序跟蹤。 然后,按下列格式執(zhí)行命令: /TRACK,MonLevel,PrintLevel,SumLevel 其中:MonLevel是時間監(jiān)視級別; PrintLevel是進入/退出輸出狀態(tài)開關; SumLevel是輸出累積時間狀態(tài)開關。 這三個參數(shù)可以是0到9之間的任何值(缺省為0)。用戶可以使用/TRACK命令查找出程序中斷發(fā)生的代碼 位置。例如,將所有子程序標識為八個級別,以便確定程序進入與退出它們的時間, 此時用戶應當執(zhí)行 的命令為: /TRACK,,8 2、調試單元與求解 /DEBUG命令能夠在輸出的許多位置點進行調試。/DEBUG命令具有下列三種調試格式: 求解(solution)調試格式 單元(element)調試格式 一般調試格式 (1)求解(solution)調試格式 執(zhí)行命令: /DEBUG,-1,F1,F2,F3,F4,F5,F6,F7,F8,F9 參數(shù)說明: F1—1 (輸出基本求解結果控制調試結果) F2—1 (輸出使用Newmark常數(shù)的瞬態(tài)計算調試結果) 2 (輸出使用速度與加速度的瞬態(tài)計算調試結果) F3—1 (輸出單元矩陣調試結果,包括矩陣與載荷矢量) 2 (輸出單元矩陣調試結果,只包括載荷矢量) 3 (輸出單元矩陣調試結果,包括矩陣對角元素和載荷矢量) F4—1 (輸出自動時間步長(auto time stepping)調試結果) F5—1 (輸出多物理場調試結果) F6—1 (輸出弧長(arc-length)調試結果) F7—1 (輸出基本Newton-Raphson調試結果) 2 (輸出Newton-Raphson調試結果,包括非平衡力或增量位移或每個DOF) 3 (輸出Newton-Raphson調試結果,包括施加載荷與每個DOF 上的n-r恢復力) F8—1,2 (輸出位移矢量以及位移指針調試結果) 2 (輸出位移矢量以及增量位移調試結果) 3 (輸出位移矢量以及接觸數(shù)據(jù)庫調試結果) F9—1 (輸出臨時程序員調試結果) (2)單元(element)調試格式 執(zhí)行命令: /DEBUG,-3,G1,G2,G3,G4,G5,G6,G7,G8,G9 參數(shù)說明: G1—1 (輸出基本單元通過(pass)調試結果) G2—1 (輸出單元位移和坐標調試結果) G3—1 (輸出單元矩陣調試結果,包括矩陣與載荷矢量) 2 (輸出單元矩陣調試結果,只包括載荷矢量) 3 (輸出單元矩陣調試結果,包括矩陣對角元素和載荷矢量) G4—1 (輸出單元載荷調試結果) G5—1 (輸出單元實常數(shù)(real constant)調試結果) G6—1 (輸出單元存儲變量(saved variable)調試結果) G7—1 (輸出線性材料特性單元材料特性調試結果) 2 (輸出非線性材料特性單元材料特性調試結果) G8—1,2 (輸出塑性單元非線性調試結果) 2 (輸出大變形單元非線性調試結果) 3 (輸出接觸數(shù)據(jù)庫單元非線性調試結果) G9—1 (輸出臨時程序員調試結果) (3)一般調試格式 執(zhí)行命令: /DEBUG,H1,H2,,H4,H5 參數(shù)說明: H1—1 (輸出文件頭紀錄(file header record)信息) 2 (輸出字符輸入行(character)) 3 (輸出解碼輸入行(decoded)) H2—1 (輸出波前重新排序(wavefront reordering)與單元檢查調試結果) 2 (輸出網(wǎng)格劃分調試結果) H4—1 (輸出節(jié)點坐標系轉換格式調試結果) 2 (輸出位移更新調試結果) H5—1 (輸出pre-單元、單元特性(characteristics)以及單元場載荷調試結果) 利用APDL功能按照一定格式寫出ansys數(shù)據(jù)文件的方法 ANSYS在運行階段總是處理大量的模型數(shù)據(jù)、載荷數(shù)據(jù)以及結果數(shù)據(jù)等,有時需要將這些數(shù)據(jù)按照一定 的格式寫進指定的數(shù)據(jù)文件中,這時可以利用*GET和*VGET數(shù)據(jù)提取的各種命令將數(shù)據(jù)存入到變量或數(shù) 組中,然后利用*CFWRITE或*VWRITE命令寫入到指定文件.下面是使用*VWRITE實現(xiàn)該過程的一個實例: /post1 set,,,,,10.0 *get,ntemp01,node,2,temp ! 時間等于10時的節(jié)點2的溫度值 *get,ntemp02,node,9,temp ! 時間等于10時的節(jié)點9的溫度值 *get,ntemp03,node,7,temp ! 時間等于10時的節(jié)點7的溫度值 *vwrite,ntemp01,ntemp02,ntemp03 (T1,''N2 TEMP='',F5.1,'', N9 TEMP='',F5.1,'', N7 TEMP='',F5.1) /output,nodetemp,dat 其中,命令/output可以用于確定輸出方向,即輸出到ansys的輸出窗口(OUTPUT WINDOW)中, 或者指定的文件中。上面將溫度值輸出到nodetemp.dat文件中,內容如下: N2 TEMP= 19.2, N9 TEMP= 19.8, N7 TEMP= 20.8 這樣就可以對輸出數(shù)據(jù)用別的工具進行處理。 在ANSYS如何考慮混凝土 我最近在用ANSYS模擬一個簡單的梁,混凝土用SOLID65單元,鋼筋用Link8單元(1),采用以下命令 流定義: ...... et,1,65,,,,,2,,1 et,2,link8 mp,ex,1,2.134e4 mp,nuxy,1,0.2 TB,CONC,1 TBDATA,,0.3,0.5,2.45,24.5 mp,ex,2,1.914e5 mp,nuxy,2,0.3 TB,BISO,2,1,2, TBTEMP,0 TBDATA,,662,0,,,, R,1 R,2,2580/3 ........ 大致碰到以下幾個問題: (1):混凝土的幾個參數(shù),剪切縮減系數(shù)不知如何取值,系數(shù)對結果有何影響? (2):混凝土采用以上定義方式是不是就可以了,需不需要定義屈服準則,以及輸入 混凝土的應力應變曲線,如何輸入?如以上定義可以,不知道ANSYS是如何定義混凝土的 特性的,因為我想混凝土種類很多,就用以上幾個參數(shù)就可以定義嗎?我心里沒有譜; (3):采用以上定義,我計算了一根梁,分為考慮混凝土壓碎和不考慮混凝土壓碎??紤]混凝土壓 碎時,得出的極限荷載比實際的要小,但混凝土的壓應力不超過抗壓強度;不考慮混凝土壓碎,得到的 極限荷載較為接近實際值,但混凝土的最大壓應力遠遠大于其抗壓強度;并且得不到開裂破碎圖。我就 不知道,如何得到極限荷載又可以得到開裂破碎圖? 1):分析混凝土結構,選擇合理的材料特性是建立模型的關鍵,所以有必要弄清混凝土的材料特性。 混凝土是脆性材料,并具有不同的拉伸和壓縮特性。典型混凝土的抗拉強度只有抗壓強度的8%-15%。 在ANSYS中,對于混凝土單元,材料特性ANSYS要求輸入以下數(shù)據(jù)(為了清楚起見,我將幾個系數(shù)均譯 為了中文):彈性模量 、泊松比 、張開與閉合滑移面的剪切強度縮減系數(shù) 與 、抗拉與抗壓強度與 、 極限雙軸抗壓強度 、周圍靜水應力狀態(tài) 、靜水應力狀態(tài)下單軸與雙軸壓縮的極限抗壓強度 與 、斷裂 發(fā)生時剛度乘子 。其中,1~6是必須輸入的,7~11要么不輸入,都采用默認值,如果輸入其中一個, 其他的都需要輸入;另外, 與 在0~1之間取值,具體如何取值,是值得探討的話題,但有一點是肯定 的,不能將剪切縮減系數(shù),取的太小,否則,就很難不收斂,據(jù)我體會,分析一個梁的極限荷載時,剪切 縮減系數(shù)的取值影響也不是很大; 2):據(jù)我理解,如果定義:TB,concer,mat(mat是需要定義的材料號),則混凝土定義了破壞準則, 沒有定義屈服準則,主要是W-W模型。由于混凝土材料的復雜性(太隨機了),很難得到一個完全適合 混凝土的屈服的材料模型; 3):如果考慮混凝土的壓碎破壞,有限元模型會較早失效,得不到真實極限荷載,建議在研究鋼筋混 凝土結構極限荷載時,關閉混凝土壓碎能力;材料模型的選取對荷載變形曲線路徑影響不大,即模擬曲 線與真實曲線相對應部分吻合較好;不考慮混凝土的壓碎破壞,并不意味著不考慮混凝土的抗壓能力, 相反,為了得到較準確的極限荷載,采用受壓混凝土模型是必需的,也只有采用受壓混凝土模型才能得 到整個荷載變形曲線; 如何實現(xiàn)ansys倒退功能undo,并添加toolbar模式 首先用命令/undo,on激活undo命令 然后在MenuCtrls中的Edit Toolbar....中輸入:*ABBR, UNDO, undo 即可添加undo命令的快捷方式。然后Save Toolbar. 這對于喜歡gui方式的朋友可能有些用處。 注意: 激活UNDO命令后,ANSYS求解運行時會變慢,可能正是因為這樣,所以ANSYS公司沒有把這個命令 激活!這是專門做二次開發(fā)的一位網(wǎng)友告訴我的。所以,建議大家最好還是將這個命令關閉。 將ANSYS作為子程序調用 對于優(yōu)化或參數(shù)化設計,可以在VC或FORTRAN中將ANSYS作為子程序調用。具體調用方法如下: 1.在VC中調用ANSYS ::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL); 2.在FORTRAN中調用ANSYS LOGICAL(4) result RESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -p ansys_product_feature -i input_file -o output_file') 3.說明 1和2中,input_file為用APDL語言編寫的ANSYS輸入文件。 ansys_product_feature為你的ANSYS產品特征代碼。 需要注意的是,在VC中調用ANSYS時,需要加一條判斷語句,以確定ANSYS 已經(jīng)執(zhí)行完畢。在FORTRAN中不需要判斷,F(xiàn)ORTRAN會等ANSYS執(zhí)行完畢才繼續(xù)執(zhí)行下一條語句。在VC中,我沒有 找到與FORTRAN類似的函數(shù),只好加一條循環(huán)判斷語句。 如果誰能找著這樣的函數(shù),請告訴我,謝謝!判斷方法很簡單,只需判斷錯誤文件file.err是否可寫就可以了。因為當ANSYS在運行時,file.err是不可寫的,只有當它運行完畢,此文件才可寫。 數(shù)據(jù)文件(假設輸出的數(shù)據(jù)文件名為opt.out): *dim,out1,,2,1 out1(1)=dmax !目標函數(shù) out1(2)=1-eymax !約束條件1 *cfopen,opt,out *vwrite,out1(1),out1(2) (2f10.6) *cfclos 在VC中相應的顯示數(shù)據(jù)文件命令為: result=system("notepad opt.out"); 圖形文件(假設ANSYS工作文件名為test,輸出jpg圖形文件,具體信息請參考命令/show): /SHOW,JPEG JPEG,QUAL,75, JPEG,ORIENT,HORIZ JPEG,COLOR,2 JPEG,TMOD,1 /GFILE,600, !* plns,uy /SHOW,TERM 在VC中相應的顯示圖形文件命令為: result=system("mspaint test001.jpg"); ************************************************************************************** VC調用ANSYS的示例程序。 file://Test.cpp #include "stdio.h" #include"process.h" void main() { int result; printf("Solving..."); result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out"); file://不用::WinExec,就用不著等待語句,可以實現(xiàn)用FORTRAN調用一樣的效果。 printf("Solution finished..."); } 怎么還不知道?那個特征表找著沒有?ANSYS幫助->ANSYS,INC.Licensing Guide->License files->What are License files->Product feature Table 以第一行為例:ANSYS/MULTIPHYSICS ane3fl ANSYS/MULTIPHYSICS是產品特征名稱,ane3fl是與其對應的產品特征代碼,把這個代碼填到下面的語句中: result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ane3fl -i test.txt -o test.out"); VC中的變量與APDL語言中的變量可以進行數(shù)據(jù)交換,否則怎么實現(xiàn)參數(shù)化或優(yōu)化設計? 不過不能直接互換.我采用的辦法是,在VC中將變量結果寫到一個文件中,然后再在ANSYS的APDL語言文件中讀入這個文件的數(shù)據(jù),再由ANSYS進行新的計算,計算結束之后,再由后處理處理結果,并將結果數(shù)據(jù)輸出到一個文件中,然后用VC讀入此文件中的數(shù)據(jù),進行下一步處理. 復雜幾何模型的系列網(wǎng)格劃分技術 眾所周知,對于有限元分析來說,網(wǎng)格劃分是其中最關鍵的一個步驟,網(wǎng)格劃分的好壞直接影響到解算的精度和速度。在ANSYS中,大家知道,網(wǎng)格劃分有三個步驟:定義單元屬性(包括實常數(shù))、在幾何模型上定義網(wǎng)格屬性、劃分網(wǎng)格。在這里,我們僅對網(wǎng)格劃分這個步驟所涉及到的一些問題,尤其是與復雜模型相關的一些問題作簡要闡述。 一、 自由網(wǎng)格劃分 自由網(wǎng)格劃分是自動化程度最高的網(wǎng)格劃分技術之一,它在面上(平面、曲面)可以自動生成三角形或四邊形網(wǎng)格,在體上自動生成四面體網(wǎng)格。通常情況下,可利用ANSYS的智能尺寸控制技術(SMARTSIZE命令)來自動控制網(wǎng)格的大小和疏密分布,也可進行人工設置網(wǎng)格的大?。ˋESIZE、LESIZE、KESIZE、ESIZE等系列命令)并控制疏密分布以及選擇分網(wǎng)算法等(MOPT命令)。對于復雜幾何模型而言,這種分網(wǎng)方法省時省力,但缺點是單元數(shù)量通常會很大,計算效率降低。同時,由于這種方法對于三維復雜模型只能生成四面體單元,為了獲得較好的計算精度,建議采用二次四面體單元(92號單元)。如果選用的是六面體單元,則此方法自動將六面體單元退化為階次一致的四面體單元,因此,最好不要選用線性的六面體單元(沒有中間節(jié)點,比如45號單元),因為該單元退化后為線性的四面體單元,具有過剛的剛度,計算精度較差;如果選用二次的六面體單元(比如95號單元),由于其是退化形式,節(jié)點數(shù)與其六面體原型單元一致,只是有多個節(jié)點在同一位置而已,因此,可以利用TCHG命令將模型中的退化形式的四面體單元變化為非退化的四面體單元,減少每個單元的節(jié)點數(shù)量,提高求解效率。在有些情況下,必須要用六面體單元的退化形式來進行自由網(wǎng)格劃分,比如,在進行混合網(wǎng)格劃分(后面詳述)時,只有用六面體單元才能形成金字塔過渡單元。對于計算流體力學和考慮集膚效應的電磁場分析而言,自由網(wǎng)格劃分中的層網(wǎng)格功能(由LESIZE命令的LAYER1和LAYER2域控制)是非常有用的。 二、 映射網(wǎng)格劃分 映射網(wǎng)格劃分是對規(guī)整模型的一種規(guī)整網(wǎng)格劃分方法,其原始概念是:對于面,只能是四邊形面,網(wǎng)格劃分數(shù)需在對邊上保持一致,形成的單元全部為四邊形;對于體,只能是六面體,對應線和面的網(wǎng)格劃分數(shù)保持一致;形成的單元全部為六面體。在ANSYS中,這些條件有了很大的放寬,包括: 1 面可以是三角形、四邊形、或其它任意多邊形。對于四邊以上的多邊形,必須用LCCAT命令將某些邊聯(lián)成一條邊,以使得對于網(wǎng)格劃分而言,仍然是三角形或四邊形;或者用AMAP命令定義3到4個頂點(程序自動將兩個頂點之間的所有線段聯(lián)成一條)來進行映射劃分。 2 面上對邊的網(wǎng)格劃分數(shù)可以不同,但有一些限制條件。 3 面上可以形成全三角形的映射網(wǎng)格。 4 體可以是四面體、五面體、六面體或其它任意多面體。對于六面以上的多面體,必須用ACCAT命令將某些面聯(lián)成一個面,以使得對于網(wǎng)格劃分而言,仍然是四、五或六面體。 5 體上對應線和面的網(wǎng)格劃分數(shù)可以不同,但有一些限制條件。 對于三維復雜幾何模型而言,通常的做法是利用ANSYS布爾運算功能,將其切割成一系列四、五或六面體,然后對這些切割好的體進行映射網(wǎng)格劃分。當然,這種純粹的映射劃分方式比較煩瑣,需要的時間和精力較多。 面的三角形映射網(wǎng)格劃分往往可以為體的自由網(wǎng)格劃分服務,以使體的自由網(wǎng)格劃分滿足一些特定的要求,比如:體的某個狹長面的短邊方向上要求一定要有一定層數(shù)的單元、某些位置的節(jié)點必須在一條直線上、等等。這種在進行體網(wǎng)格劃分前在其面上先劃分網(wǎng)格的方式對很多復雜模型可以進行良好的控制,但別忘了在體網(wǎng)格劃分完畢后清除面網(wǎng)格(也可用專門用于輔助網(wǎng)格劃分的虛擬單元類型-MESH200-來劃分面網(wǎng)格,之后不用清除)。 三、 拖拉、掃略網(wǎng)格劃分 對于由面經(jīng)過拖拉、旋轉、偏移(VDRAG、VROTAT、VOFFST、VEXT等系列命令)等方式生成的復雜三維實體而言,可先在原始面上生成殼(或MESH200)單元形式的面網(wǎng)格,然后在生成體的同時自動形成三維實體網(wǎng)格;對于已經(jīng)形成好了的三維復雜實體,如果其在某個方向上的拓撲形式始終保持一致,則可用(人工或全自動)掃略網(wǎng)格劃分(VSWEEP命令)功能來劃分網(wǎng)格;這兩種方式形成的單元幾乎都是六面體單元。通常,采用掃略方式形成網(wǎng)格是一種非常好的方式,對于復雜幾何實體,經(jīng)過一些簡單的切分處理,就可以自動形成規(guī)整的六面體網(wǎng)格,它比映射網(wǎng)格劃分方式具有更大的優(yōu)勢和靈活性。 四、 混合網(wǎng)格劃分 混合網(wǎng)格劃分即在幾何模型上,根據(jù)各部位的特點,分別采用自由、映射、掃略等多種網(wǎng)格劃分方式,以形成綜合效果盡量好的有限元模型?;旌暇W(wǎng)格劃分方式要在計算精度、計算時間、建模工作量等方面進行綜合考慮。通常,為了提高計算精度和減少計算時間,應首先考慮對適合于掃略和映射網(wǎng)格劃分的區(qū)域先劃分六面體網(wǎng)格,這種網(wǎng)格既可以是線性的(無中節(jié)點)、也可以是二次的(有中節(jié)點),如果無合適的區(qū)域,應盡量通過切分等多種布爾運算手段來創(chuàng)建合適的區(qū)域(尤其是對所關心的區(qū)域或部位);其次,對實在無法再切分而必須用四面體自由網(wǎng)格劃分的區(qū)域,采用帶中節(jié)點的六面體單元進行自由分網(wǎng)(自動退化成適合于自由劃分形式的單元),此時,在該區(qū)域與已進行掃略或映射網(wǎng)格劃分的區(qū)域的交界面上,會自動形成金字塔過渡單元(無中節(jié)點的六面體單元沒有金字塔退化形式)。ANSYS中的這種金字塔過渡單元具有很大的靈活性:如果其鄰接的六面體單元無中節(jié)點,則在金字塔單元四邊形面的四條單元邊上,自動取消中間節(jié)點,以保證網(wǎng)格的協(xié)調性。同時,應采用前面描述的TCHG命令來將退化形式的四面體單元自動轉換成非退化的四面體單元,提高求解效率。如果對整個分析模型的計算精度要求不高、或對進行自由網(wǎng)格劃分區(qū)域的計算精度要求不高,則可在自由網(wǎng)格劃分區(qū)采用無中節(jié)點的六面體單元來分網(wǎng)(自動退化成無中節(jié)點的四面體單元),此時,雖然在六面體單元劃分區(qū)和四面體單元劃分區(qū)之間無金字塔過渡單元,但如果六面體單元區(qū)的單元也無中節(jié)點,則由于都是線性單元,亦可保證單元的協(xié)調性。 五、 利用自由度耦合和約束方程 對于某些形式的復雜幾何模型,可以利用ANSYS的約束方程和自由度耦合功能來促成劃分出優(yōu)良的網(wǎng)格并降低計算規(guī)模。比如,利用CEINTF命令可以將相鄰的體在進行獨立的網(wǎng)格劃分(通常是采用映射或掃略方式)后再"粘結"起來,由于各個體之間在幾何上沒有聯(lián)系,因此不用費勁地考慮相互之間網(wǎng)格的影響,所以可以自由地采用多種手段劃分出良好的網(wǎng)格,而體之間的網(wǎng)格"粘結"是通過形函數(shù)差值來進行自由度耦合的,因此連接位置處的位移連續(xù)性可以得到絕對保證,如果非常關注連接處的應力,可以如下面所述再在該局部位置建立子區(qū)模型予以分析。再如,對于循環(huán)對稱模型(如旋轉機械等),可僅建立一個扇區(qū)作為分析模型,利用CPCYC命令可自動對扇區(qū)的兩個切面上的所有對應節(jié)點建立自由度耦合條件(用MSHCOPY命令可非常方便地在兩個切面上生成對應網(wǎng)格)。 六、 利用子區(qū)模型等其它手段 子區(qū)模型是一種先總體、后局部的分析技術(也稱為切割邊界條件方法),對于只關心局部區(qū)域準確結果的復雜幾何模型,可采用此手段,以盡量小的工作量來獲得想要的結果。其過程是:先建立總體分析模型,并忽略模型中的一系列細小的特征,如導角、開孔、開槽等(因為根據(jù)圣維南原理,模型的局部細小改動并不特別影響模型總的分析結果),同時在該大模型上劃分較粗的網(wǎng)格(計算和建模的工作量都很?。?,施加載荷并完成分析;其次,(在與總體模型相同的坐標系下)建立局部模型,此時將前面忽略的細小特征加上,并劃分精細網(wǎng)格(模型的切割邊界應離關心的區(qū)域盡量遠),用CBDOF等系列命令自動將前面總體模型的計算結果插值作為該細模型的邊界條件,進行求解計算。該方法的另外好處是:可以在小模型的基礎上優(yōu)化(或任意改變)所關心的細小特征,如改變圓角半徑、縫的寬度等;總體模型和局部模型可以采用不同的單元類型,比如,總體模型采用板殼單元,局部模型采用實體單元等。 子結構(也稱超單元)也是一種解決大型問題的有效手段,并且在ANSYS中,超單元可以用于諸如各種非線性以及裝配件之間的接觸分析等,有效地降低大型模型的求解規(guī)模。 巧妙地利用結構的對稱性對實際工作也大有幫助,對于常規(guī)的結構和載荷都是軸對稱或平面對稱的問題,毫無疑問應該利用其對稱性,對于一些特殊情況,也可以加以利用,比如:如果結構軸對稱而載荷非軸對稱,則可用ANSYS專門用于處理此類問題的25、83和61號單元;對于由多個部件構成裝配件,如果其每個零件都滿足平面對稱性,但各對稱平面又不是同一個的情況下,則可用多個對稱面來處理模型(或至少可用此方法來減少建模工作量:各零件只需處理一半的模型然后拷貝或映射即可生成總體模型)。 總之,對于復雜幾何模型,綜合運用多種手段建立起高質量、高計算效率的有限元模型是極其重要的一個步驟,這里介紹的注意事項僅僅是很少一部分,用戶自己通過許多工程問題的不斷摸索、總結和驗證才是最能保證有效而高效地處理復雜模型的手段。 以面積為權重的加權平均應力計算 通過有限元計算可以得到結構在所承受載荷下各個位置的應力分布。如何根據(jù)這些工作應力來對結構進行安全性、可靠性評估,有各種各樣的評判準則。在某些行業(yè)里,需要計算結構關于面積的加權平均應力,用該應力來對結構進行強度評判,例如飛輪等設備。在飛輪的強度計算中,大多可以簡化為平面或軸對稱模型。ANSYS計算可以得到結構各節(jié)點、單元的應力,加權平均應力可以采用APDL語言編制一段小程序計算得到。下面給出了一個采用2-D分析,計算以面積為權重的加權平均應力計算的一段程序。 /post1 nee=4 *get,nmax,node,,count *get,emax,elem,,count area_total=0 s_area_t=0 *do,i,1,emax *get,area_e,elem,i,area se_av=0 *do,ii,1,nee *get,sz_e,node,nelem(i,ii),s,z se_av=se_av+sz_e *enddo se_av=se_av/nee s_area=se_av*area_e s_area_t=s_area_t+s_area area_total=area_total+area_e *enddo s_a_v=s_area_t/area_total |
|