動網(wǎng)格流沙版完美整理_第1頁
動網(wǎng)格流沙版完美整理_第2頁
動網(wǎng)格流沙版完美整理_第3頁
動網(wǎng)格流沙版完美整理_第4頁
動網(wǎng)格流沙版完美整理_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、動網(wǎng)格讓網(wǎng)格動起來(1)閑談動網(wǎng)格在固體有限元計算中,網(wǎng)格運(yùn)動實非什么稀奇事兒。而且在絕多數(shù)固體計算的基本物理量是網(wǎng)格的節(jié)點位移,所以,固體計算中,網(wǎng)格節(jié)點運(yùn)動是對的,沒有運(yùn)動反而不正常了。也可以這么說:正因為計算域內(nèi)部節(jié)點間的相對運(yùn)動,才導(dǎo)致了內(nèi)應(yīng)力的產(chǎn)生。流體計算與固體完全不同。其根源在于它們使用的網(wǎng)格類型不同。當(dāng)前固體有限元計算采用的是拉格朗日網(wǎng)格,而流體計算則大多數(shù)采用的歐拉網(wǎng)格。如果說把拉格朗日網(wǎng)格中的節(jié)點點看作是真實世界的物質(zhì)原子的話,那么歐拉網(wǎng)格的節(jié)點則好比是真實世界中的一個個傳感器,它們總是呆在相同的位置,真實的記錄著各自位置上的物理量。正常情況下,歐拉網(wǎng)格系統(tǒng)是這樣的:計算域

2、和節(jié)點保持位置不變,發(fā)生變化的是物理量,網(wǎng)格節(jié)點就像一個個布置在計算域中的傳感器,記錄該位置上的物理量。這其實是由流體力學(xué)研究方法所決定的。宏觀與微觀的差異決定了固體力學(xué)計算采用拉格朗日網(wǎng)格,流體計算采用歐拉網(wǎng)格。關(guān)于這部分的詳細(xì)解說,可以參閱任何一本計算流體動力學(xué)書籍。世界是公平的。有利必有弊。朗格朗日網(wǎng)格適合計算節(jié)點位移,然而對于過大的網(wǎng)格變形卻難以處理。歐拉網(wǎng)格生來可以處理大變形(因為節(jié)點不動),然而對于對于節(jié)點運(yùn)動的處理,則是其直接軟肋。然而很不幸的是,現(xiàn)實生活中有太多網(wǎng)格邊界運(yùn)動的實例。如汽車發(fā)動機(jī)中的氣缸運(yùn)動、閥門開啟與關(guān)閉、機(jī)翼的運(yùn)動、飛機(jī)投彈等等等等舉不勝舉。計算流體動力學(xué)計算

3、的基本物理量通常為:速度、溫度、壓力、組分。并不計算網(wǎng)格節(jié)點位移。因此要讓網(wǎng)格產(chǎn)生運(yùn)動,通常給節(jié)點施加的物理約束是速度。CFD中的動網(wǎng)格大體分為兩類:(1)顯式規(guī)定的網(wǎng)格節(jié)點速度。配合瞬態(tài)時間,即可很方便的得出位移。當(dāng)然一些求解器(如FLUENT)也支持穩(wěn)態(tài)動網(wǎng)格,這時候可以直接指定節(jié)點位移。(2)網(wǎng)格節(jié)點速度是通過求解得到的。如6DOF模型基本上都屬于此類。用戶將力換算成加速度,然后將其積分成速度。對于第一類動網(wǎng)格問題,在fluent中通??梢允褂胮rofile與UDF進(jìn)行網(wǎng)格設(shè)置,通過規(guī)定節(jié)點或區(qū)域的速度、角速度或位移等方式來顯式確定網(wǎng)格的運(yùn)動,通常大部分的動網(wǎng)格問題都?xì)w于此類。而對于第二

4、類問題,通常涉及到力的計算,力在流體中通常是對壓力進(jìn)行積分而來。將力轉(zhuǎn)換為速度或位移,一般涉及到加速度、轉(zhuǎn)動慣量等物理量的計算。在fluent中,可以使用6DOF模型進(jìn)行處理,在CFX中,可以使用剛體模型(13.0以上版本才有)。在FLUENT中,動網(wǎng)格涉及的內(nèi)容包括:(1)運(yùn)動的定義。主要是PROFILE文件與UDF中的動網(wǎng)格宏。(2)網(wǎng)格更新。FLUENT中關(guān)于網(wǎng)格更新方法有三種:網(wǎng)格光順、動態(tài)層、網(wǎng)格重構(gòu)。需要詳細(xì)了解這些網(wǎng)格更新方法的運(yùn)作機(jī)理,每個參數(shù)所代表的具體含義及設(shè)置方法,每種方法的適用范圍。動網(wǎng)格的最在挑戰(zhàn)來自于網(wǎng)格更新后的質(zhì)量,避免負(fù)體積是動網(wǎng)格調(diào)試的主要目標(biāo)。在避免負(fù)網(wǎng)格的

5、同時,努力提高運(yùn)動更新后的網(wǎng)格質(zhì)量。讓網(wǎng)格動起來(2)PROFILE文件 這里要說的PROFILE文件,只針對利用于網(wǎng)格運(yùn)動定義之用的瞬態(tài)profile文件。其它類型的profile文件,可參閱FLUENT用戶文檔,里頭有詳細(xì)的描述。在ANSYS FLUENT中,有兩種方式用于指定瞬態(tài)網(wǎng)格區(qū)域及邊界條件:(1)與標(biāo)準(zhǔn)profile格式相同的瞬態(tài)profile文件(2)表格格式的瞬態(tài)profile文件。對于這兩種方式,網(wǎng)格域及邊界條件的變化均只與時間有關(guān)。然而如果使用了in-cylinder模型,則用戶可以使用crank角代替時間變量。1、標(biāo)準(zhǔn)瞬態(tài)profile文件一個標(biāo)準(zhǔn)瞬態(tài)profile文件

6、格式如下:(profile-name transient n periodic?)(field_name_1 a1 a2 a3 an)(field_name_2 b1 b2 b3 bn).(field_name_r r1 r2 r3 rn)注意:(1)profile-name:profile名,必須全部為小寫字母,少于64個字符。(2)transient為保留關(guān)鍵字,不可隨便更改。(3)n表示每一個場變量所包含的變量個數(shù)。(4)periodic?用于標(biāo)識是否使用周期,1為使用時間周期,0表示不使用時間周期。(5)通常field_name_1為time,后面的變量值為升序排列。(6)所有的值,包

7、括坐標(biāo)值,都必須使用SI單位制。fluent讀入profile文件時不進(jìn)行單位轉(zhuǎn)換。一個實際的例子:(sampleprofile transient 3 0)(time 1 2 3)(u 10 20 30)解讀:(1)profile名為sampleprofile,讀入該profile文件后,合適的地方出現(xiàn)的變量名為sampleprofile。(2)在3個時間點上定義了值,分別為1s,2s,3s。其中1s時的x方向速度值為10m/s,2s時刻對應(yīng)的速度值為20m/s,3s時刻對應(yīng)的速度值為30m/s。u,v,w是表示x,y,z三方向的速度,也可以使用v_x,v_y與v_z,旋轉(zhuǎn)速度使用omega

8、_x,omega_y,omega_z變量名。一個使用crank angle替代time的例子:(example transient 3 1)(angle 0 180 360)(temperature 300 500 300)2、表格瞬態(tài)profile文件表格格式與標(biāo)準(zhǔn)格式有很大的差異。表格格式如下:profile_name n_field n_data peridoic?field_1 field_2 field_3 field_4v-1-1 v-2-1 v-n_field_1v-1-2 v-2-2 v-n_field-2.v-1-n_data v-2-n_data v-n_field-n_d

9、ata說明:與標(biāo)準(zhǔn)格式類似,profile_name為profile名,體現(xiàn)在fluent中為運(yùn)動變量名。格式要求與標(biāo)準(zhǔn)格式一致:小寫,少于64個字符。field_1通常為time,表示時間。后方接著的是各個變量名。v-1-1表示field_1的第一個值,依此類推,v-1-2表示第二個值。按升序排列。peridoic?表示是否采用時間周期,1表示采用,0表示不采用。一個例子:sampleprofile 2 3 0time u1 102 203 30解讀:第一行:sampleprofile表示profile名,fluent讀入此profile后,將會在使用profile的地方顯示該profile

10、名。2表示兩個場變量(time與u)或者說是表的列數(shù),3表示一共有3個數(shù)據(jù)點或者說表有三行。0表示不使用周期。第二行:定義場變量。一共是兩個場變量:time與u,通常time放在第一個。第三行到最后一行:第一個值表示時間值,第二個值表示u的值。定義了1s時的x方向速度值為10m/s,2s時刻對應(yīng)的速度值為20m/s,3s時刻對應(yīng)的速度值為30m/s。若使用周期,則必須定義一個周期內(nèi)的時間物理量的變化。簡單來說,就是最后一行的物理量的值與第一行物理量的值相同。如下一個例子:periodprofile 2 4 1time u0 101 202 303 10也可以使用crank angle代替時間進(jìn)

11、行變量定義:exaple 2 3 1angle temperature0 300180 500360 300請注意:使用列表形式的profile,只能使用TUI命令讀入到fluent中:file read-transient-table讓網(wǎng)格動起來(3)實例1:Profile定義運(yùn)動 本次實例采用的場景來自于流體中高速飛行的物體。如子彈、火箭、導(dǎo)彈等。這里只是為了說明profile在動網(wǎng)格運(yùn)動定義中的應(yīng)用,因此為了計算方便不考慮高速問題。問題描述如下圖所示: 如圖所示,1為運(yùn)動剛體,2為計算域。由于不考慮也沒辦法考慮剛體的變形,因此在構(gòu)建面域的時候,將1中的部分通過布爾運(yùn)算去除。計算域總長度為

12、300mm,其中固體運(yùn)動最大位移為300-40-30-6mm=224mm。為了防止固體邊界與計算域邊界發(fā)生重疊,我們使運(yùn)動最大距離為200mm。運(yùn)動速度v=0.4t,這樣可能計算運(yùn)動完200mm需要的時間為1s。采取5個時間數(shù)據(jù)點分別為:0,0.25,0.5,0.75,1s,相對應(yīng)的速度為:0,0.1,0.2,0.3,0.4 m/s。profile文件如下:(moveVelocity transient 5 0)(time 0 0.25 0.5 0.75 1)(v_x 0 0.1 0.2 0.3 0.4)(1)將計算域離散為網(wǎng)格。由于三角形網(wǎng)格非常適合于2D動網(wǎng)格,因此本例使用三角形網(wǎng)格。若要

13、使用四邊形網(wǎng)格,則需要進(jìn)行滑移面處理。詳細(xì)的說明將留待以后網(wǎng)格更新的時候進(jìn)行。同樣的,也不進(jìn)行邊界層處理。 簡化問題描述,設(shè)定四周為wall壁面,中間區(qū)域為rigid wall,在動網(wǎng)格中進(jìn)行設(shè)定。全局網(wǎng)格尺寸為2mm,運(yùn)動邊界網(wǎng)格尺寸1mm,網(wǎng)格單元總數(shù)19671,節(jié)點總數(shù)9832。(2)啟動fluent,讀入msh文件選擇2D求解器,勾選雙精度選項。檢查單位,確保使用的單位為mm。選用瞬態(tài)求解器。general中的其它選項采取默認(rèn)。如下圖所示。 (3)選用標(biāo)準(zhǔn)k-e湍流模型,材料使用水。設(shè)定cell zone condition將默認(rèn)域介質(zhì)設(shè)定為water。由于本例使用全封閉計算域,所有邊

14、界類型為wall,所以boundary condition采用默認(rèn)設(shè)置。(4)讀入profile文件利用file profile菜單讀入已準(zhǔn)備好的profile文件。(5)激活動網(wǎng)格選項如下圖所示。勾選smoothing、layering、remeshing選項。 各選項的參數(shù)設(shè)置分別如下圖所示。 (6)定義運(yùn)動區(qū)域定義中間剛體壁面為rigid body,選擇運(yùn)動profile為讀入的profile文件movevelocity,設(shè)置meshing options中的cell height為1mm。該參數(shù)用于網(wǎng)格的分裂與合并。當(dāng)網(wǎng)格高度大于1.4時進(jìn)行分裂,小于0.2時合并。預(yù)覽zone的運(yùn)動與

15、網(wǎng)格運(yùn)動。注意在預(yù)覽網(wǎng)格運(yùn)動之前保存case文件。(7)定義其它選項如動畫、節(jié)點物理量監(jiān)測等。(8)總結(jié)對于類似本例的純外流場問題,通過都不利用動網(wǎng)格進(jìn)行計算。主要原因在于:(1)網(wǎng)格發(fā)生運(yùn)動后的質(zhì)量不好,通常都會低于原始網(wǎng)格質(zhì)量。(2)動網(wǎng)格計算開銷比較大。因為每次網(wǎng)格運(yùn)動時要計算網(wǎng)格節(jié)點的位置。要例所示的問題,一般使用相對運(yùn)動的原理:剛體不動,運(yùn)動的是流動介質(zhì)。然而在一些特殊的場合(比如火箭發(fā)射后的整流罩分離等)則必須使用到動網(wǎng)格。 讓網(wǎng)格動起來(4)動網(wǎng)格UDF宏 雖然瞬態(tài)PROFILE文件可以在一定程度上定義網(wǎng)格運(yùn)動,然而其存在著一些缺陷。最主要的一些缺陷存在于以下一些方面:(1)PR

16、OFILE無法精確的定義連續(xù)的運(yùn)動。其使用離散的點值進(jìn)行插值。如果想獲得較為精確的運(yùn)動定義,勢必要定義很多點。(2)一些情況下無法使用profile。比如穩(wěn)態(tài)動網(wǎng)格。在FLUENT中定義網(wǎng)格運(yùn)動,更多的是采用UDF宏。fluent中與動網(wǎng)格有關(guān)的UDF宏一共有5個,其中四個用于常規(guī)的網(wǎng)格運(yùn)動定義,一個用于6DOF模型。這些宏分別為:DEFINE_CG_MOTION、DEFINE_DYNAMIC_ZONE_PROPERTY、DEFINE_GEOM、DEFINE_GRID_MOTION、DEFINE_SDOF_PROPERTIES注意:動網(wǎng)格宏只能為編譯型UDF。1、DEFINE_CG_MOTIO

17、N最常用的運(yùn)動網(wǎng)格宏。用戶可以使用該宏定義每一時間步上的線速度或角速度來指定fluent中某一特定區(qū)域的運(yùn)動。DEFINE_CG_MOTION(name,de,vel,omega,time,dtime)參數(shù)說明:name:UDF的名字。體現(xiàn)在fluent中表現(xiàn)為可選擇的函數(shù)列表。Dynamic_Thread *dt:存儲了用戶所指定的動網(wǎng)格屬性和結(jié)構(gòu)指針。real vel:線速度。vel0為x方向速度,vel1為y方向速度,vel2為z方向速度real omega:角速度。與線速度定義相同。real time:當(dāng)前時間。real dtime:時間步長。函數(shù)返回值為:void從函數(shù)的參數(shù)類型,配

18、合c語言的參數(shù)調(diào)用方式可知,vel,omega為數(shù)值類型,屬于傳入類型。因此只需在函數(shù)體中顯式定義vel與omega即可將速度傳入fluent求解器。time與dtime是用于定義速度的。詳細(xì)實例可參看fluent udf文檔p182。2、DEFINE_DYNAMIC_ZONE_PROPERTY該宏能用于以下一些場合:(1)在in-cylinder應(yīng)用中定義旋轉(zhuǎn)中心。(2)定義變化的網(wǎng)格層高度。第一種用法:DEFINE_DYNAMIC_ZONE_PROPERTY(name,dt,swirl_center)參數(shù)說明:name:UDF名。Dynamic_Thread *t:指向存儲動網(wǎng)格屬性結(jié)構(gòu)的

19、指針。若沒有動態(tài)區(qū)域位于當(dāng)前計算的旋轉(zhuǎn)中心,則fluent內(nèi)部將該參數(shù)設(shè)置為NULL.real *swirl_center:swirl_center為一個具有3個元素的數(shù)值,表示旋轉(zhuǎn)中心的x,y,z坐標(biāo)。返回值為:void。具體實例可參看udf手冊p183。第二種用法:在使用動態(tài)層方法時定義變化的網(wǎng)格高度。參數(shù)與第一種用法略有不同。DEFINE_DYNAMIC_ZONE_PEOPERTY(name,dt,height)參數(shù)說明:name: UDF名Dynamic_Thread dt:指向存儲動網(wǎng)格屬性結(jié)構(gòu)的指針real *height: 一個實數(shù)指針,指向動態(tài)層高度為時間或crank角的函數(shù)。

20、返回值:void具體實例參看fluent udf手冊P1853、DEFINE_GEOM用戶可以使用此宏定義變化區(qū)域的幾何。默認(rèn)情況下,ansys fluent提供了機(jī)制用于定義節(jié)點沿平面或柱面運(yùn)動。當(dāng)ansys fluent更新了變形區(qū)域上的節(jié)點時(例如通過彈簧光順或局部面重構(gòu)之后),會通過調(diào)用DEFINE_GEOM宏重新定位節(jié)點。請注意該宏只能作為編譯型UDF使用。函數(shù)說明:DEFINE_GEOM(name,d,dt,position)參數(shù)說明:name:UDF名Domain *d:指向計算域的指針Dynamic_Thread *dt:指向存儲用戶指定的動網(wǎng)格參數(shù)的指針real *posit

21、ion:指向存儲位置信息的數(shù)組。此函數(shù)沒有返回值。詳細(xì)實例可參閱FLUENT UDF手冊P187.4、DEFINE_GRID_MOTION默認(rèn)情況下,ANSYS FLUENT通過使用固體運(yùn)動方程來更新動態(tài)區(qū)域的節(jié)點位置。這意味著動態(tài)區(qū)域的節(jié)點之間沒有相對運(yùn)動。但是如果用戶需要獨(dú)立的控制每一個節(jié)點的運(yùn)動的話,則可以通過使用DEFINE_GRID_MOTION宏來實現(xiàn)。例如網(wǎng)格運(yùn)動UDF可以更新由于流固耦合所導(dǎo)致的彎曲形成的節(jié)點坐標(biāo)。此UDF宏只能用于編譯型。函數(shù)說明:DEFINE_GRID_MOTION(name,d,dt,time,dtime)參數(shù)說明:name:UDF名Domain *d:計

22、算域指針Dynamic_Thread *dt:指向存儲了動網(wǎng)格參數(shù)的結(jié)構(gòu)的指針real time:當(dāng)前時間real dtime:時間步返回類型:void。具體實例可參閱FLUENT UDF手冊P188讓網(wǎng)格動起來(5)配置UDF編譯環(huán)境 FLUENT UDF中關(guān)于動網(wǎng)格的DEFINE宏均要求為編譯型。FLUENT的UDF運(yùn)行環(huán)境有兩種:解釋型與編譯型。雖然兩種方式都是采用編譯,但是編譯方式及編譯后獲得的結(jié)果是不同的。編譯型UDF需要通過Complied進(jìn)行編譯,編譯后得到相應(yīng)的dll文件。而解釋型UDF則是通過Interprete進(jìn)行加載,不會生成dll文件。據(jù)我的直覺,編譯型UDF可能利用了

23、鉤子函數(shù)的技術(shù)。一、編譯型UDF與解釋型UDF的差異(翻譯自UDF手冊)1、解釋型UDF一個精簡的平臺都能被作為編譯型UDF使用不需要C編譯器(利用FLUENT自身的編譯器)比編譯型UDF反應(yīng)慢在方法方面受到較多的限制無法被鏈接到編譯系統(tǒng)或其它庫只能使用預(yù)定義宏訪問存儲于ansys fluent中的數(shù)據(jù)2、編譯型UDF比解釋型UDF反應(yīng)迅速沒有諸多C語法限制能夠使用其它語言編寫的函數(shù)當(dāng)具有一些解釋型UDF不能處理的功能時,無法作為解釋型UDF使用3、選取原則對于小型的、簡單的功能,使用解釋型UDF復(fù)雜功能使用編譯型UDF。(如具有較大的CPU開銷、需要訪問公共庫)二、配置UDF編譯環(huán)境對于編譯

24、型UDF,在fluent中加載時,需要調(diào)用C編譯器將其編譯成DLL文件。這里的C編譯器雖說理論上是沒有任何限制的,但是在windows環(huán)境下還是推薦使用microsoft visual c+,在linux環(huán)境下推薦使用GCC。我們這里只說windows環(huán)境下編譯環(huán)境的配置問題。visual c+最高版本是6.0,再往后就是microsoft visual studio7.0、8.0、9.0、10.0。其中7.0對應(yīng)microsoft visual studio2003,8.0對應(yīng)2005,9.0對應(yīng)2008,10.0對應(yīng)2010。在一些老版的fluent中,通常需要配置環(huán)境變量。配置環(huán)境變量的

25、方法,網(wǎng)絡(luò)上很多,可以搜索。這里講的是通過修改udf.bat文件來配置編譯環(huán)境。在fluent 12.0之后的版本中,可以通過修改udf.bat文件的方式進(jìn)行編譯環(huán)境配置。該文件位于xxANSYS Incv140fluentntbinwin64目錄下。本人安裝的fluent是64bit的,版本為14.0。不同版本的fluent,該文件所處的位置可能不同。大家可以利用windows的文件搜索功能尋找該文件。注意若是安裝了icepak,則會有兩個udf.bat文件,一定要注意我們只針對fluent目錄下的該文件。我們用記事本打開此文件,由于本機(jī)上安裝的是microsoft visual studi

26、o 2010,因此只需要關(guān)注圖中橙色線框中的部分。現(xiàn)在來分析橙色框中的語句。有過DOS經(jīng)驗的人可能嫌我羅嗦,不過我還是要說一下。因為現(xiàn)在有DOS經(jīng)驗的人越來越少了。(1)第8行:echo是dos中助于在屏幕上寫出一段文本。這與c語言中的printf,c#中的Console.WriteLine,JAVA中的System.Print的功能是一樣的,只是在屏幕上打出后面一段文字,我們可以忽略了。(2)第10行:設(shè)定MSVC_DEFAULT的值。其實是一個賦值語句。容易理解。一會兒需要動它。(3)第11行:if exist是判斷,判斷后面的vcvarsall.bat文件是否存在,若存在,則設(shè)置變量MS

27、VC的值。(4)第12行:判斷MSVC是否為空,若不為空,則進(jìn)入msvc_env100標(biāo)記行。找到該標(biāo)記行,其內(nèi)容位于8689行。該標(biāo)記行的內(nèi)容為:(1)設(shè)定msvc_version為100(2)調(diào)用vcvarsall.bat文件,利用amd64,因為我安裝的fluent版本是64bit,若32bit版本會有所不同。(5)跳轉(zhuǎn)到ms_c_end行,該行是一個結(jié)束標(biāo)記行。 看起來復(fù)雜,其實人們要做的工作很少。用戶所要做的僅僅是修改第10行的內(nèi)容。修改microsoft visual studio的安裝路徑。若vc是全默認(rèn)安裝,則什么都不需修改,否則改為正確的路徑。如本機(jī)的microsoft st

28、udio安裝在d:program files目錄下,只需將第10行修改為:set MSVC_DEFAULT=D:Program FilesMicrosoft Visual Studio 10.0就可以了。剩下要做的工作是:在fluent啟動面板中勾選Environment標(biāo)簽頁下的setup compilation Environment for UDF選項。該選項默認(rèn)是選中的,且不同的版本該選項所處的位置可能有所不同。 三、總結(jié)配置12.0以上fluent UDF編譯環(huán)境,需要進(jìn)行的工作:(1)找到fluent安裝目錄下的udf.bat文件(2)打開udf.bat文件,修改對應(yīng)本機(jī)安裝的mi

29、crosoft visual studio版本的路徑OK了!這種方式配置UDF編譯環(huán)境不需要考慮計算機(jī)的操作系統(tǒng)。讓網(wǎng)格動起來(6)動網(wǎng)格參數(shù)圖解 Fluent的動網(wǎng)格設(shè)置,主要是通過dynamic mesh面板進(jìn)行設(shè)置。動網(wǎng)格面板如下圖所示。主要包括兩部分內(nèi)容:(1)Mesh Methods (2) Dynamic Mesh Zones。另外還包括網(wǎng)格域運(yùn)動預(yù)覽及網(wǎng)格運(yùn)動預(yù)覽。整個動網(wǎng)格面板通過勾選Dynamic Mesh選項而激活。 1、Mesh Methods(網(wǎng)格更新方法)該部分主要用于網(wǎng)格或網(wǎng)格域在運(yùn)動過程中,設(shè)置計算域中網(wǎng)格節(jié)點位置更新方法。fluent中有三種主要網(wǎng)格更新方法:(

30、1)網(wǎng)格光順方法(2)動態(tài)層方法(3)網(wǎng)格重構(gòu)。對于3D模型,還包括in-cylinder、six-dof、Implicit Update三種選項。其中in-cyliner用于發(fā)動機(jī)氣缸模擬,six-dof主要用于流體作用于剛體,預(yù)測剛體運(yùn)動。implicit update用于設(shè)定網(wǎng)格更新方式。默認(rèn)采用顯式方式,勾選此選項可設(shè)定網(wǎng)格以隱式方式更新。2、動態(tài)網(wǎng)格域 用于定義網(wǎng)格運(yùn)動的區(qū)域及運(yùn)動類型。FLUENT中網(wǎng)格運(yùn)動類型主要有:靜止、剛體運(yùn)動、變形區(qū)域、用戶自定義域、耦合域。靜止域在網(wǎng)格運(yùn)動過程中,區(qū)域內(nèi)節(jié)點位置保持不變。雖然說默認(rèn)情況下不設(shè)定區(qū)域運(yùn)動,則該區(qū)域為靜止,但是一些情況下還是需要

31、顯式設(shè)定某些區(qū)域為靜止域,尤其是在一些與剛體域相連的區(qū)域處理上。剛體運(yùn)動域:這是fluent動網(wǎng)格中最常見的運(yùn)動類型。通過規(guī)定剛體的速度或位移來控制運(yùn)動。變形域:由于邊界運(yùn)動導(dǎo)致節(jié)點變形。變形域通常與剛體域是相連的。自定義域:用戶可以使用UDF定義自己需要的域耦合域:節(jié)點位移由耦合求解器計算,在流固耦合計算中,耦合面上通常設(shè)定為耦合域類型。讓網(wǎng)格動起來(7)網(wǎng)格光順 FLUENT中的網(wǎng)格光順(smoothing)主要采用兩種方法:彈簧光順與擴(kuò)散光順。其中彈簧光順包含有:彈簧光順、邊界層光順、拉普拉斯光順。擴(kuò)散光順分為:基于壁面距離的擴(kuò)散光順與基于單元體積的擴(kuò)散光順。一、彈簧/拉普拉斯/邊界層光

32、順1、彈簧光順需要設(shè)置的參數(shù)主要有四個參數(shù)需要設(shè)置:Spring Constant Factor(彈簧常數(shù)因子),Boundary Node Relaxation(邊界節(jié)點松弛),Convergence Tolerance(收斂精度),Number of Iterations(迭代次數(shù))。如圖中橙色框選部分。 2、各參數(shù)作用彈簧常數(shù)因子:取值范圍0,1??梢酝ㄟ^該值來調(diào)整彈簧剛度的大小。該值為0表示彈簧間沒有阻尼,邊界運(yùn)動會影響到更多的內(nèi)部節(jié)點。該參數(shù)的默認(rèn)值為1。在實際應(yīng)用中,若發(fā)現(xiàn)運(yùn)動邊界附近網(wǎng)格堆積嚴(yán)重,可適當(dāng)調(diào)小此參數(shù),將位移擴(kuò)散出去。邊界節(jié)點松弛:網(wǎng)格位置更新時使用的參數(shù)。取值范圍0

33、,1。0表示沒有進(jìn)行網(wǎng)格節(jié)點保持不變,1表示不使用松弛處理。該參數(shù)默認(rèn)為1。調(diào)整該參數(shù)可以控制每次網(wǎng)格更新的節(jié)點位置。通常使用默認(rèn)值即可。迭代精度:網(wǎng)格節(jié)點位移值是通過求解平衡方程得到的。本參數(shù)即控制方程的求解精度。一般保持默認(rèn)值。迭代次數(shù):與迭代精度作用相同。用于平衡方程的求解控制。迭代方程如下。通常該參數(shù)保持默認(rèn)即可。 3、彈簧光順方法的適應(yīng)性(譯自用戶手冊)(1)適用于任何變形或運(yùn)動的單元或面域。更適用于四面體/三角形網(wǎng)格(2)在非四面體/三角形網(wǎng)格域中,建議在以下一些情況下使用彈簧光順方法:(a)邊界運(yùn)動在某一方向上具有明顯優(yōu)勢(b)運(yùn)動主要沿運(yùn)動邊界的法向方向。其它的非四邊形/非四面

34、體網(wǎng)格域(尤其是多面體網(wǎng)格域),建議使用擴(kuò)散光順方法。注意:默認(rèn)情況下,在非四面體/四邊形網(wǎng)格上,彈簧光順方法是關(guān)閉的。用戶可以使用TUI命令激活:define dynamic-mesh controls smoothing-paramters spring-on-all-shapes?二、擴(kuò)散光順1、擴(kuò)散光順擴(kuò)散光順是通過求解擴(kuò)散方程來獲得網(wǎng)格節(jié)點的位移的。 只有一個參數(shù)需要設(shè)置:擴(kuò)散參數(shù)。擴(kuò)散系數(shù)是通過擴(kuò)散參數(shù)得到的。如下兩公式求得擴(kuò)散系數(shù)。 與,式中的d為壁面正則距離,v為正則體積。用戶可以通過TUI命令設(shè)置迭代次數(shù)與收斂精度。通常很少進(jìn)行設(shè)置。define dynamic-mesh c

35、ontrols smoothing-parameters max-iterdefine dynamic-mesh controls smoothing-parameters relative-convergence-tolerance2、基于壁面距離的網(wǎng)格擴(kuò)散光順基于壁面距離的擴(kuò)散光順允許用戶將邊界網(wǎng)格運(yùn)動擴(kuò)散至內(nèi)部節(jié)點的規(guī)律定義為壁面距離的函數(shù)。減少遠(yuǎn)離運(yùn)動邊界的擴(kuò)散能夠使這些區(qū)域吸收更多的網(wǎng)格運(yùn)動,同時更好的保持運(yùn)動壁面附近的網(wǎng)格質(zhì)量。用戶可以通過調(diào)整diffusion parameter來控制網(wǎng)格擴(kuò)散,該參數(shù)的取值范圍0,2。該參數(shù)默認(rèn)為0,意味著擴(kuò)散參數(shù)為1,也即整個計算域采用相同程度

36、的擴(kuò)散。擴(kuò)散參數(shù)越大,則更多的保持近壁面網(wǎng)格,遠(yuǎn)離運(yùn)動邊界的位置將吸收更多的網(wǎng)格運(yùn)動。對于邊界旋轉(zhuǎn)運(yùn)動,通常將擴(kuò)散參數(shù)設(shè)置為1.5默認(rèn)情況下,fluent使用標(biāo)準(zhǔn)壁面距離。該方法使用最近的壁面邊界進(jìn)行正則化。請注意此方法是不包括其它邊界類型(如inlet,outlet,symmetry,周期邊界等),只使用wall壁面邊界。用戶可以使用generalized“壁面距離,該方法使用一切未聲明為變形的邊界,而不管邊界的類型。兩種方法均使用所有變形網(wǎng)格區(qū)域中發(fā)現(xiàn)的最大距離進(jìn)行正則化。用戶可以使用TUI命令設(shè)置fluent使用廣義邊界:definedynamic-meshcontrolssmoothi

37、ng-parametersboundary-distance-method3、基于單元體積的網(wǎng)格擴(kuò)散光順允許用戶將邊界運(yùn)動擴(kuò)散至內(nèi)部區(qū)域定義為單元尺寸的函數(shù)。在大網(wǎng)格上減小擴(kuò)散助于使這些網(wǎng)格吸收更多的網(wǎng)格變形,能更好的保持小體積單元的網(wǎng)格質(zhì)量。與基于壁面距離的網(wǎng)格擴(kuò)散相同,用戶也可通過調(diào)整擴(kuò)散參數(shù)來控制擴(kuò)散系數(shù)。默認(rèn)擴(kuò)散參數(shù)為0表示采用統(tǒng)一的擴(kuò)散。更大的擴(kuò)散參數(shù)將會使更大的體積的網(wǎng)格吸收更多的變形。擴(kuò)散參數(shù)取值范圍:0,24、擴(kuò)散光順方法的適應(yīng)性能夠應(yīng)用于任何類型的運(yùn)動或變形網(wǎng)格。擴(kuò)散光順方法比彈簧光順計算開銷要大(隱式求解擴(kuò)散方程。而彈簧光順是顯式計算節(jié)點位移),但是能夠得到較好的網(wǎng)格質(zhì)量(

38、特別是對于非四面體/非三角形網(wǎng)格及多面體網(wǎng)格)。更適合于平移運(yùn)動。擴(kuò)散光順方法與邊界層光順方法及面區(qū)域重構(gòu)方法不兼容。讓網(wǎng)格動起來(8)動態(tài)層方法 (2012-01-27 20:28:47)轉(zhuǎn)載標(biāo)簽: 雜談分類: FLUENT技巧動態(tài)層方法(dynamic layering)也許是fluent動網(wǎng)格中最容易理解與設(shè)置的方法了。動態(tài)層方法主要用于棱柱網(wǎng)格區(qū)域(如六面體網(wǎng)格、三棱柱網(wǎng)格等)或四邊形網(wǎng)格(2D幾何)中,用戶可以使用動態(tài)層方法增加或去除與運(yùn)動邊界相鄰的單元網(wǎng)格層數(shù)。在ANSYS FLUENT中,允許用戶為每一個運(yùn)動邊界指定一個理想高度作為網(wǎng)格層增加或去除的標(biāo)準(zhǔn)。ANSYS FLUENT

39、中的動態(tài)層方法一共有兩種:基于高度的動態(tài)層方法與基于比率的動態(tài)層方法。兩種方法需要設(shè)定的參數(shù)都是相同的,不同的是,網(wǎng)格分裂或收縮后的網(wǎng)格高度有差異。默認(rèn)情況下使用基于高度的動態(tài)層方法。1、參數(shù)設(shè)置動態(tài)層方法需要設(shè)置的參數(shù)只有兩個:分裂因子與收縮因子。如圖所示。其中split factor為分裂因子,collapse factor為收縮因子。2、分裂與收縮的判定假設(shè)用戶設(shè)定的理想網(wǎng)格高度為hideal,這通常為變形域與運(yùn)動域相交的節(jié)點在變形域上的網(wǎng)格高度。有點拗口呵。hideal參數(shù)是在運(yùn)動域中設(shè)定的cell height。記分裂因子為alpha,收縮因子為beta。當(dāng)網(wǎng)格被拉伸時,當(dāng)hmin

40、(1+alpha)*hideal時,網(wǎng)格進(jìn)行分裂。式中hmin為第一層網(wǎng)格高度。若為基于高度的動態(tài)層方法,分裂后一層網(wǎng)格高度為hideal,另一層網(wǎng)格高度為h-hideal。若為基于比率的動態(tài)層方法,則新生的網(wǎng)格高度為h*alpha。當(dāng)網(wǎng)格壓縮時,當(dāng)hminbeta * hideal時,網(wǎng)格進(jìn)行合并。兩層網(wǎng)格合并為一層。分裂因子與收縮因子的取值范圍均為0,13、動態(tài)層方法的適應(yīng)性(1)與運(yùn)動面域相鄰的風(fēng)格必須是楔形或六面體(2D中四邊形),盡管網(wǎng)格域中可能包含有混合網(wǎng)格。(2)網(wǎng)格層必須完全被單邊面域所包圍,除非使用了滑移交界面。(3)若邊界面區(qū)域是雙側(cè)壁面,則用戶必須分割壁面,并使用滑移交界

41、面。(4)動態(tài)層方法無法與具有懸掛節(jié)點自適應(yīng)方法聯(lián)合使用。讓網(wǎng)格動起來(9)彈簧光順方法實例 上次講到,光順方法計算網(wǎng)格節(jié)點位移并不是依賴于網(wǎng)格質(zhì)量。因此,僅使用光順方法,只能處理一些小變形的情況 。倘若變形量過大,則會造成網(wǎng)格質(zhì)量降低,輕則影響收斂,重則出現(xiàn)負(fù)網(wǎng)格,導(dǎo)致計算出錯。1、問題描述邊長120mm的正方形空腔,內(nèi)有一個邊長30mm的正方形固體。研究固體以角速度1rad/s旋轉(zhuǎn)時對內(nèi)部流場的擾動。1、網(wǎng)格方案由于四邊形網(wǎng)格在剛體變形時會發(fā)生較大的扭曲,不太適合于使用彈簧光順方法,因此本例中使用三角形網(wǎng)格。使用全局尺寸2mm,生成網(wǎng)格如下圖所示。 2、指定運(yùn)動可以使用profile文件或

42、DEFINE_CG_MOTION宏來定義運(yùn)動。我們這里利用udf宏來定義運(yùn)動。UDF宏文件如下:#include “udf.h”DEFINE_CG_MOTION(RotationVel , dt , vel , omega , time , dtime) omega2 = 1;omega2表示z方向的角速度 。本例中以恒定的角速度旋轉(zhuǎn)。將內(nèi)部四條邊定義為rigid body。并把賦予運(yùn)動速度。 3、動網(wǎng)格參數(shù)勾選Dynamic Mesh選項,激活動網(wǎng)格。本例只考慮網(wǎng)格光順,因此只勾選Smoothing。(說明:通常動網(wǎng)格應(yīng)用中不會只使用一種網(wǎng)格更新方法,此處只是考慮光順,所以才會這樣。正常情況

43、下本例應(yīng)當(dāng)使用到網(wǎng)格重構(gòu))。點擊setting按鍵進(jìn)行smoothing設(shè)置面板 。如右下圖所示。 采用彈簧光順需要設(shè)置的參數(shù)一共有四個:彈簧常數(shù)因子、邊界節(jié)點松弛、收斂精度及迭代次數(shù)。通常需要設(shè)置的參數(shù)為彈簧常數(shù)因子及邊界節(jié)點松弛,其它兩個參數(shù)采用默認(rèn)即可。(1)彈簧常數(shù)因子:該參數(shù)取值范圍0,1,取值越大表示阻尼越大,也表示邊界運(yùn)動對內(nèi)部網(wǎng)格的影響越小。(2)邊界節(jié)點松弛:取值范圍0,1,1表示無松弛,0表示禁止節(jié)點位移。這里先將兩參數(shù)取中間值0.5。 3、其它設(shè)置創(chuàng)建運(yùn)動區(qū)域。設(shè)置中間四條邊為rigid body,設(shè)置運(yùn)動udf(注意UDF必須為編譯型)。如下圖所示。 4、預(yù)覽網(wǎng)格運(yùn)動(

44、1)觀察0.5s后的網(wǎng)格情況 可以看到,四角位置網(wǎng)格已經(jīng)扭曲得很厲害了。其它參數(shù)有興趣的同學(xué)可以自己嘗試。讓網(wǎng)格動起來(10)動態(tài)層實例 (2012-01-30 11:13:37)轉(zhuǎn)載標(biāo)簽: 雜談分類: FLUENT技巧與光順方法類似,動態(tài)層方法同樣不是以網(wǎng)格質(zhì)量作為網(wǎng)格更新判據(jù)的。動態(tài)層方法原理很簡單,且非常適合于結(jié)構(gòu)網(wǎng)格在某一方向上具有主導(dǎo)運(yùn)動的情況下。本例即是這么一種情況。1、問題描述如下圖所示,計算域空間尺寸160mmx50mm,一個長方形固體塊在大的空間沿x軸勻速運(yùn)動,速度0.05m/s,運(yùn)動時間2s,可計算出運(yùn)動位移0.1m。注意位移不能使邊界重疊,否則計算會產(chǎn)生錯誤以致退出。 2

45、、動網(wǎng)格解決方案若使用四邊形網(wǎng)格,由于本例中網(wǎng)格運(yùn)動具有強(qiáng)烈的方向性,滿足動態(tài)層方法的應(yīng)用需求。若使用三角形網(wǎng)格,可使用動態(tài)層方法配合網(wǎng)格重構(gòu)。然而,單純的使用動態(tài)層方法是有諸多限制的,若不對本例中的幾何進(jìn)行處理,是不滿足動態(tài)層應(yīng)用要求的。主要問題在于:動態(tài)層方法要求運(yùn)動邊界為單側(cè)邊界,則同一個域中不能既拉伸又壓縮。本例顯然不滿足單一的網(wǎng)格運(yùn)動,因為固體的運(yùn)動前方網(wǎng)格被壓縮,而后方網(wǎng)格被拉伸。因此可將幾何進(jìn)行切割。 如圖所示,將計算域如此切割,分解為四個計算域。如何在ICEM CFD中對計算域進(jìn)行處理,以后再說。也可以將區(qū)域切割后分別劃分網(wǎng)格。邊界類型:1,2,7,8:interface對類型,且為變形域,1、2伸長,7、8縮短。3,4:wall類型,且為變形域5,6:wall類

溫馨提示

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

最新文檔

評論

0/150

提交評論