跳轉到內容

工程師用火災模擬/FDS/邊界條件

來自華夏公益教科書

邊界條件

[編輯 | 編輯原始碼]

第三,一些屬性被設定,作為邊界條件的型別(SURF)。

這是設定模擬中最具挑戰性的部分:首先,對於真實和模擬的火災,火災的增長對周圍材料的熱特性非常敏感。其次,即使所有材料特性在某種程度上都是已知的,由於模型演算法的侷限性或數值網格的解析度,感興趣的物理現象可能無法得到正確模擬。

您有責任提供材料的熱特性,然後評估模型的效能以確保正在捕獲感興趣的現象。

本章還涵蓋 RAMP(時間相關)名稱列表組。

定義邊界條件,SURF

[編輯 | 編輯原始碼]

本章描述如何指定流動域邊界表面的屬性。定義邊界條件型別的名稱列表組為 SURF。例如,

 &SURF ID='warm_surface', TMP_FRONT=25. /

定義一個名為 warm_surface 的表面。其溫度固定為 25 °C。

在構建實體幾何體時,邊界條件型別將應用於流動域的每個邊界表面:實體障礙物的表面和計算域的外部邊界。

下表總結了一些 SURF 引數

預定義邊界條件

[編輯 | 編輯原始碼]

FDS 包含一些預定義的邊界條件,這些條件不需要在 SURF 名稱列表組中設定:INERT、OPEN 和 MIRROR。

INERT 邊界條件表示一個等溫壁,其溫度固定在環境溫度。INERT 允許熱量損失,與絕熱表面不同。INERT 固體是永遠不會升溫的東西,就像一塊鋼,其背面不斷流過冷水。

一般來說,不應使用此邊界條件,因為最好將實際材料屬性分配給所有物體。

OPEN 邊界條件假設環境條件存在於該 VENT 之外。OPEN 只能在計算域的外部邊界處指定。

如果您擔心透過特定通風口的流動,請不要使用 OPEN 邊界,因為恆定壓力假設只是一個近似值。您應該將計算域擴充套件到通風口之外,並將其建造成障礙物,如圖 [fig:Extending-the-domain] 所示。然後,進出流動將自然地被視為控制方程解的一部分。

選擇計算域來模擬開放邊界條件

MIRROR 邊界條件表示一個對稱平面。MIRROR 應該跨越計算域的整個面,本質上使域的大小翻倍。MIRROR 對面的流動完全相反。從數值的角度來看,MIRROR 是一個無通量、自由滑移邊界。

MIRROR 只能在計算域的外部邊界處指定。

邊界條件著色

[編輯 | 編輯原始碼]

如 [sec:Prescribing-colors] 部分所述

 &SURF ID='upholstery', RGB=0,255,0 /
 &SURF ID='carpet', COLOR='VIOLET RED' /

將導致邊界條件型別為 upholstery 的物體呈綠色,型別為 carpet 的物體呈紫紅色。

強烈建議透過 SURF 行為實體障礙物分配顏色,因為隨著 FDS 模擬的幾何圖形變得更加複雜,使用顏色作為點檢來確定是否已在研究的房間或建築物中分配了所需的表面屬性非常有用。

另一個例子

 &SURF ID='glass', RGB=0,255,0, TRANSPARENCY=.3 /

將導致邊界條件型別為 glass 的物體呈綠色並部分透明。

邊界條件示例

[編輯 | 編輯原始碼]

在以下部分中,列出了簡單的邊界條件。更復雜的示例可以在 [cha:Real-world-examples] 章中找到。

絕熱表面

[編輯 | 編輯原始碼]

對於某些特殊應用,通常希望實體表面是絕熱的,也就是說,從氣體到實體沒有淨熱傳遞(輻射和對流)。行

 &SURF ID='adiabatic_surface', ADIABATIC=.TRUE. /

定義一個名為 adiabatic_surface 的絕熱表面。FDS 將計算壁溫,使對流和輻射通量之和為零。

固定溫度和熱通量

[編輯 | 編輯原始碼]

 &SURF ID='warm_surface', TMP_FRONT=25. /

將表面溫度固定為 25 °C。

以下行以 kW/m^{2} 為單位指定 NET_HEAT_FLUX

 &SURF ID='warm_surface', NET_HEAT_FLUX=25. /

FDS 將計算所需的表面溫度,以確保從表面傳出的輻射和對流熱通量之和等於規定通量。

以下行分別指定 CONVECTIVE_HEAT_FLUX,以 kW/m2 為單位,並使用 TMP_FRONT 溫度(以 °C 為單位)和 EMISSIVITY 指定輻射熱通量

 &SURF ID='warm_surface', CONVECTIVE_HEAT_FLUX=25.,
     TMP_FRONT=150., EMISSIVITY=.9 /

符號約定是,從表面的正熱通量使氣體升溫。

對於大多數應用,建築物的通風系統在 FDS 中使用速度邊界條件來描述。例如,可以透過在垂直於實體表面的方向上指定速度,將新鮮空氣吹入隔間,並將煙霧從隔間中抽出。但是,速度邊界條件的各個方面將在下面描述。

例如,行

 &SURF ID='supply', VEL=-1.2, TMP_FRONT=50. /

定義一個向域內提供熱氣的表面,速度為 1.2 m/s,溫度為 50 °C。體積流量取決於規定的面積及其與計算網格的對齊方式。

 &SURF ID='supply', VOLUME_FLUX=1.2 /

定義一個從域內抽取空氣的表面,體積流量為 1.2 m3/s。速度取決於規定的面積及其與計算網格的對齊方式。

這行

 &SURF ID='supply', MASS_FLUX_TOTAL=-1.2 /

以 1.2 kg/s 的質量流量向域內提供空氣。MASS_FLUX_TOTAL 在內部轉換為速度邊界條件,其對於流出的值會根據區域性密度進行調整。

 &SURF ID='louver', VEL=-1.2, VEL_T=0.5,-0.3 /

代表一個百葉窗通風口的邊界條件,該通風口以 1.2 m/s 的法向速度和 0.5 m/s 的切向速度將空氣推入空間,切向速度在 x 或 y 方向上為 0.5 m/s,在 y 或 z 方向上為 -0.3 m/s,具體取決於法向方向。

在網格解析度有限的情況下,可能無法使用 VEL_T 來描述百葉窗通風口或狹縫擴散器,因為可能沒有足夠的網格單元跨越開口。在這些情況下,可以考慮在 VENT 前面簡單地指定一塊平板障礙物,偏移一個網格單元。平板將簡單地將氣流重新導向所有橫向方向。

請注意,應規定 VEL、VOLUME_FLUX 或 MASS_FLUX_TOTAL 中的任何一個,而不是同時規定多個。選擇取決於是否需要在給定通風口處獲得精確的速度,或者是否需要給定的體積流量或質量流量。

符號約定是,正的體積或質量流量是從域中抽出的。

注入額外氣體物質的風機

[編輯 | 編輯原始碼]

可以指定兩種物質邊界條件:MASS_FLUX(n) 和 MASS_FRACTION(n),其中 n 指的是給定的物質 SPEC,透過其在輸入檔案中的位置表示。

如果第 n 種物質的質量分數要在強制流動邊界(VEL 或 MASS_FLUX_TOTAL)處達到某個值,則將 MASS_FRACTION(n) 設定為相應 SURF 行上所需的質量分數。

如果需要第 n 種物質的質量流量,則設定 MASS_FLUX(n) 而不是 MASS_FRACTION(n)。如果設定了 MASS_FLUX(n),則不應設定 VEL。它會根據質量流量自動計算。

輸入 MASS_FLUX(n) 和 MASS_FRACTION(n) 僅應用於流入邊界條件。MASS_FLUX(n) 應始終為正,單位為 kg/m2/s。

例如,以下幾行

 &SPEC ID='ARGON', MASS_FRACTION_0=0.1 / 
 &SPEC ID='HELIUM' / 
 &SURF ID='inlet', MASS_FRACTION(2)=0.2, VEL=-0.3 /

指定除了未列出的預設空氣外,還應在計算中包括氬氣和氦氣。在入口處,氦氣(質量分數 20%)、氬氣(質量分數 10%,因為沒有指定不同的值)和空氣(質量分數 70%,佔剩餘部分)的混合氣體以 0.3 m/s 的速度流入流動域。

開放邊界處的動壓

[編輯 | 編輯原始碼]

在某些情況下,在邊界處指定動壓而不是速度更為方便。

假設正在對隧道內部進行建模,並且在其中一個入口處吹著風,這會影響隧道內的總體流動。如果(且僅當)入口使用 OPEN 通風口定義,則可以像這樣指定邊界處的動壓

 &VENT XB=0.,0.,0.,4.,0.,3., SURF_ID='OPEN',
     DYNAMIC_PRESSURE=2.4 /

將 2.4 Pa 的動壓施加到指定的表面。有關 VENT 命名列表組的說明,請參見第 [sec:VENT] 節。

規定熱釋放率

[編輯 | 編輯原始碼]

可以透過 MATL 命名列表組指定固體和液體燃料的相關特性。但是,如果只是想指定一個具有特定熱釋放率 (HRR) 的火災,則無需指定任何材料特性。指定的火災基本上被建模為從固體表面或通風口噴射出氣體燃料。這本質上是一個燃燒器,其單位面積的熱釋放率 (HRRPUA) 為 kW/m2。例如,以下這行

 &SURF ID='burner', HRRPUA=500. /

定義一個表面,該表面注入一股燃料氣流,當與周圍空氣充分混合時,該氣流會燃燒併產生每平方米發射表面 500 kW 的熱量。

HRRPUA 的另一種功能相同但用法不同的引數是 MLRPUA,但該引數指定的是單位面積的燃料氣體質量損失率,單位為 kg/m2/s。不要在同一 SURF 行上同時指定 HRRPUA 和 MLRPUA。

例如

 &SURF ID='burner', MRLPUA=5. /

指定單位面積的燃料氣體質量損失率為 5 kg/m2/s。

透過指定 HRRPUA 或 MRLPUA,可以控制燃燒速度,而不是讓材料根據周圍環境的條件進行熱解。

幾何一致性和速率

[編輯 | 編輯原始碼]

請注意,每當幾何物件轉換為與底層網格一致時,它們的表面積都會發生變化。FDS 會調整 HRRPUA、MRLPUA 和其他質量流量的值,以確保使用者規定的速率。

固體的邊界條件

[編輯 | 編輯原始碼]

每種材料的熱和燃燒特性透過 MATL 命名列表組指定。然後,透過 SURF 命名列表組呼叫材料來定義固體的邊界條件。

FDS 會在固體的每個表面執行一維熱傳遞計算,為氣相計算提供合理的邊界表面溫度。

固體邊界可以由一層或多層不同材料組成,每層可以包含多個材料成分。

這些層和材料成分的組合在 SURF 行上透過稱為 MATL_ID(i,j) 的陣列引數指定。引數 i 是一個整數,表示層索引,從 1 開始,即外部邊界處的層。引數 j 是一個整數,表示成分索引。MATL_ID(2,3)='brick' 表示第二層的第三個材料成分是磚。

固體混合物的成分被視為純物質,沒有空隙。

以下是一個多層、多成分表面的示例

 &MATL ID='water', CONDUCTIVITY=0.60, SPECIFIC_HEAT=4.19,
     DENSITY=1000. / material
 &MATL ID='brick', CONDUCTIVITY=0.69, SPECIFIC_HEAT=0.84,
     DENSITY=1600. / material
 &MATL ID='insulator', CONDUCTIVITY=0.041, SPECIFIC_HEAT=2.09,
     DENSITY=229. / material
 &SURF ID='brick wall', MATL_ID(1,1:2)='brick','water',
     MATL_MASS_FRACTION(1,1:2) = 0.95,0.05,
     MATL_ID(2,1)='insulator',
     THICKNESS(1:2)=0.1,0.2 / boundary condition

首先,定義材料,然後規定磚牆邊界條件。

在磚牆表面(參見圖 [fig:brick-wall]),第一層由磚和水的混合物組成。這是透過 MATL_ID 陣列指定的,該陣列指定第一層的成分 1 為磚材料,第一層的成分 2 為水材料。每種材料的質量分數透過 MATL_MASS_FRACTION 指定:磚為 95% 質量分數,水為 5% 質量分數。第一層厚度為 0.1 m。

最內層由一個成分組成,即絕緣材料,厚度為 0.2 m。

固體表面

牆體的最內層的熱傳遞條件使用 BACKING 引數設定。此引數可以設定為 VOID、INSULATED 或 EXPOSED。

對於 VOID 示例

 &SURF ID='double_layer', MATL_ID(1:2,1)='plastic','steel',
     THICKNESS(1:2)=0.1,0.2, BACKING='VOID', TMP_BACK=30. /

定義了一個兩層表面。外層由一個成分組成,即塑膠,厚度為 0.1 m。最內層由一個成分組成,即鋼,厚度為 0.2 m。最內層背襯到氣隙。氣隙的 TMP_BACK 溫度為 30 °C。如果未設定 TMP_BACK,則氣隙預設為環境溫度。BACKING='VOID' 可以安全地省略,因為它預設值。

第二個 INSULATED 示例

 &SURF ID='double_layer', MATL_ID(1:2,1)='plastic','steel',
     THICKNESS(1:2)=0.1,0.2, BACKING='INSULATED' /

定義了相同的兩層表面。在這種情況下,最內層背襯到絕緣(絕熱)材料,因此不會有熱量損失到背襯材料。

作為 EXPOSED 的最後一個示例

 &SURF ID='double_layer', MATL_ID(1:2,1)='plastic','steel',
     THICKNESS(1:2)=0.1,0.2, BACKING='EXPOSED' /

定義了相同的兩層表面。在這種情況下,最內層背襯到牆壁另一側的房間。EXPOSED 僅在牆壁厚度小於或等於一個網格單元,並且牆壁另一側存在非零體積的計算域時才有效。FDS 會計算整個 THICKNESS 的熱傳導,並使用前後兩側的氣相溫度和熱通量作為邊界條件。

在障礙物另一側會執行冗餘計算,因此請謹慎指定多層:如果分層是對稱的,則可以在兩側應用相同的 SURF 行;但是,如果分層不對稱,則必須建立兩個單獨的 SURF 行,並分別應用到每側。

例如,由鋼製成、外側覆蓋著一層絕緣材料和一層塑膠(位於絕緣材料之上)的不對稱分層空心箱柱,必須用以下兩個 SURF 行來描述

 &SURF ID='column exterior', BACKING='EXPOSED',
     MATL_ID(1:3,1)='plastic','insulation','steel',
     THICKNESS(1:3)=0.002,0.036,0.0063 /
 &SURF ID='column interior', BACKING='EXPOSED',
     MATL_ID(1:3,1)='steel','insulation','plastic',
     THICKNESS(1:3)=0.0063,0.036,0.002 /

設定初始溫度

[編輯 | 編輯原始碼]

可以透過 SURF 行上的 TMP_INNER 引數為固體障礙物指定初始溫度

 &SURF ID='stuff', MATL_ID='steel', THICKNESS=.1, TMP_INNER=30. /

初始溫度應在相關面內為 30 °C,而不是環境溫度。

時間相關的邊界條件

[編輯 | 編輯原始碼]

當啟用固體障礙物時(參見第 [sec:Activating-and-deactivating-objs] 節),它們面部的規定邊界條件開始生效。

啟用後,溫度、速度、燃燒速度等會從初始值大致在 1 秒內逐漸增加到規定值,因為任何事情都不會立即發生。

此預設 1 秒斜坡可由使用者修改:許多 SURF 引數可以隨時間變化,並在啟用瞬間後遵循不同的趨勢。

簡化斜坡

[編輯 | 編輯原始碼]

引數 TAU_Q、TAU_T、TAU_V、TAU_MF(n) 指示在 SURF 啟用後,熱釋放率 (HRRPUA)、表面溫度 (TMP_FRONT)、法向速度 (VEL、VOLUME_FLUX) 或 MASS_FLUX_TOTAL、物質分數或物質通量 n 將在 TAU_* 秒內升至其規定值,並在該值上保持。

如果 TAU_* 為正,則相關量會像 tanh(t/τ) 一樣上升。如果為負,則它像 (t/τ2) 一樣上升。如前所述,所有 TAU_* 的預設值為 1 秒。

例如,以下這行程式碼

 &SURF ID='burner', HRRPUA=4000., TAU_Q=-120 /

指定了燃燒器邊界條件,該燃燒器在計算開始時 (t=0 秒) 啟用,像 HRRPUA=4000~(t/120)2 一樣上升(t<120 秒),並在 120 秒後保持在 4000 kW/m2,如圖 [fig:HRRPUA-as-function] 所示。

圖表

使用者定義的斜坡

[編輯 | 編輯原始碼]

如果需要使用 tanh 或 t2 以外的上升斜坡,則必須輸入使用者定義的函式。為此,將 RAMP_Q、RAMP_T、RAMP_V 或 RAMP_MF(n) 設定為表示要用於該特定表面型別的斜坡函式的字元字串,然後在輸入檔案的某個位置生成以下形式的行程式碼

 &RAMP ID='rampname1', T= 0.0, F=0.0 / 
 &RAMP ID='rampname1', T= 5.0, F=0.5 /
 &RAMP ID='rampname1', T=10.0, F=0.7 /

對於這種型別的斜坡,T 是從啟用開始經過的時間,F 表示熱釋放率、壁溫、速度、物質分數等的應用比例。使用線性插值來填充中間時間點。

請注意,每組 RAMP 行都必須以單調遞增的 T 列出。

例如,可以使用以下程式碼行控制一個簡單的吹風機

 &SURF ID='blower', VEL=-2., TMP_FRONT=50.,
     RAMP_V='blower_v', RAMP_T='blower_t' /
 &RAMP ID='blower_v', T=20.0, F=1.0 /
 &RAMP ID='blower_v', T=30.0, F=0.5 /
 &RAMP ID='blower_v', T=60.0, F=0. / 
 &RAMP ID='blower_t', T=40.0, F=1.0 /
 &RAMP ID='blower_t', T=50.0, F=1.5 / 
 &RAMP ID='blower_t', T=60.0, F=0.5 /

為 SURF 引數生成圖 [fig:VEL-and-TMP_FRONT] 中所示的時間趨勢。

速度溫度前沿圖

下表總結了一些 RAMP(時間)引數

引數 型別 描述 單位 預設值
ID 字串 識別符號
T 實數 時間
F 實數 函式值

注入拉格朗日粒子

[編輯 | 編輯原始碼]

可以透過邊界條件從固體表面將拉格朗日粒子引入流體流中。

例如,以下程式碼行定義了一種型別的拉格朗日粒子

 &PART ID='my tracer', MASSLESS=.TRUE. /

然後,這些拉格朗日粒子從具有以下邊界條件的固體表面引入流體流中

 &SURF PART_ID='my tracer' /

請注意,指定粒子的表面必須具有一個非零法向速度,該速度指向計算域。如果表面正在燃燒,因此將燃料氣體注入流域,則會自動發生這種情況,但如果表面沒有燃燒,則必須指定該速度。

華夏公益教科書