跳轉到內容

工程師用火災模擬/FDS/裝置和控制邏輯

來自華夏公益教科書,開放的書籍,開放的世界

裝置和控制邏輯

[編輯 | 編輯原始碼]

第五,透過 PROP、DEVC、CTRL 名單組引入一些控制邏輯和自動化。

裝置可用於控制各種操作,例如建立和移除障礙物,或啟用和停用風機和通風口。

裝置、DEVC 和 PROP

[編輯 | 編輯原始碼]

從 FDS 的角度來看,灑水器、煙霧探測器、熱通量計、定時器、熱電偶等都是根據分配給它們的屬性以特定方式執行的裝置。

所有裝置都透過 DEVC 名單組指定。與裝置相關的各種引數可以分組並在 PROP 名單組中輸入。

每條 PROP 行都由一個唯一的 ID 標識,並由具有相同屬性的 DEVC 行呼叫。例如,這些行

 &PROP ID='acme heat detector', QUANTITY='LINK TEMPERATURE',
     ACTIVATION_TEMPERATURE=74. / 
 &DEVC ID='heat detector 1', XYZ=22.88,19.76,7.46,
     PROP_ID='acme heat detector' / 
 &DEVC ID='heat detector 2', XYZ=27.88,19.76,7.46,
     PROP_ID='acme heat detector' /
 &DEVC ID='heat detector 3', XYZ=32.88,19.76,7.46,
     PROP_ID='acme heat detector' /

定義了一組相同型號的熱探測器。

每個裝置都有一個關聯的 QUANTITY。當 QUANTITY 值超過或低於預定的閾值時,裝置會被啟用或停用,並將狀態從 .FALSE. 更改為 .TRUE. 或反之。

閾值可以像一個數字 SETPOINT 那樣簡單,也可以是啟用演算法的結果。例如,灑水器、熱探測器和煙霧探測器...使用啟用演算法...

下表總結了一些 DEVC 引數

引數 型別 描述 單位 預設值
ID 字串 識別符號
QUANTITY 字串 要輸出的量的名稱
XB(6) 實數 測量體積、表面或段
XYZ(3) 實數 測量點
IOR 整數 方向索引
ORIENTATION(3) 實數 方向向量 0,0,-1
PROP_ID 字串 關聯的 PROP 行
SETPOINT 實數 裝置改變狀態的值
TRIP_DETECTION 整數 第一次狀態改變時的導數符號 1
INITIAL_STATE 邏輯 裝置的初始狀態 .FALSE.
LATCH 邏輯 裝置不能多次改變狀態 .TRUE.

有關 PROP 引數的詳細描述,請參見 [FDS5 使用者指南]。

裝置示例

[編輯 | 編輯原始碼]

在以下段落中,列出了一些示例裝置。

定時器

[編輯 | 編輯原始碼]

最簡單的裝置示例只是一個定時器

 &DEVC XYZ=1.2,3.4,5.6, ID='my timer',
     QUANTITY='TIME', SETPOINT=30. /

當模擬時間超過 30 秒時,它會將狀態從 .FALSE. 更改為 .TRUE.。

溫度計

[編輯 | 編輯原始碼]

以下是一個溫度計

 &DEVC XYZ=1.2,3.4,5.6, ID='my thermometer',
     QUANTITY='TEMPERATURE', SETPOINT=60. /

當 (1.2,3.4,5.6) 點的溫度超過 60 攝氏度時,它會改變狀態。

煙霧探測器

[編輯 | 編輯原始碼]

煙霧探測器在輸入檔案中定義,條目類似於

 &PROP ID='acme smoke detector', QUANTITY='CHAMBER OBSCURATION',
     LENGTH=1.8, ACTIVATION_OBSCURATION=3.28 / 
 &DEVC ID='SD_29', PROP_ID='acme smoke detector', XYZ=2.3,4.6,3.4 /

SD_29 煙霧探測器具有以下屬性

• LENGTH 是 Heskestad 模型中單引數的特徵長度,預設為 1.8 米。

• ACTIVATION_OBSCURATION 閾值可以根據製造商提供的價值設定。預設設定是 3.28%/米。

煙霧探測器會根據特定的啟用演算法改變狀態。

光束煙霧探測器

[編輯 | 編輯原始碼]

光束探測器由以下定義

 &PROP ID='acme beam', QUANTITY='PATH OBSCURATION',
     SETPOINT=0.33 /
 &DEVC ID='B_4', PROP_ID='acme beam',
     XB=1.0,1.1,0.0,5.0,0.0,3.0 /

B_4 光束探測器具有以下屬性

• SETPOINT 是探測器啟用時的總遮擋百分比。

• XB 指定光束覆蓋的段。兩個端點必須位於同一個網格中。

光束探測器會根據特定的啟用演算法改變狀態。

灑水器和熱探測器

[編輯 | 編輯原始碼]

這是一個非常簡單的灑水器示例

 &PART ID='water drops', WATER=.TRUE. / 
 &PROP ID='acme spk', QUANTITY='SPRINKLER LINK TEMPERATURE',
     RTI=148., ACTIVATION_TEMPERATURE=74.,
     PART_ID='water drops', FLOW_RATE=189.3 / 
 &DEVC ID='S_60', XYZ=22.88,19.76,7.46, PROP_ID='acme spk' /

灑水器,稱為 S_60,位於由 XYZ 給出的空間點。它是一個 acme spk 型灑水器,其屬性在 PROP 行中給出

• RTI 是響應時間指數,單位為米1/21/2

• ACTIVATION_TEMPERATURE 是連線啟用溫度,單位為攝氏度。

• FLOW_RATE 是釋放水的流速,單位為升/分鐘。

• PART_ID 指的是由 PART 名單組定義的水滴的屬性。

本示例定義了一個熱探測器,它基本上使用與灑水器相同的啟用演算法,但沒有水噴灑

 &PROP ID='acme heat', QUANTITY='LINK TEMPERATURE', RTI=132.,
     ACTIVATION_TEMPERATURE=74. / 
 &DEVC ID='HD_66', PROP_ID='acme heat', XYZ=2.3,4.6,3.4 /

基本控制邏輯

[編輯 | 編輯原始碼]

在許多火災場景中,門或窗戶的開啟或關閉會導致火災程序發生戲劇性的變化。有時這些操作是故意進行的,有時是火災造成的。在 FDS 計算的框架內,這些操作由建立或移除固體障礙物,或開啟或關閉通風口來表示。

裝置狀態的變化可用於觸發操作的發生,例如啟用和停用障礙物、邊界條件和孔。例如,裝置狀態的變化可以建立或移除障礙物,開啟或關閉燃燒器、通風機和風機。

例如,在以下幾行中

 &DEVC XYZ=1.2,3.4,5.6, ID='my timer', QUANTITY='TIME',
     SETPOINT=30. / 
 &OBST XB=2.3,4.5,1.3,4.8,0.0,9.2, SURF_ID='brick wall',
     DEVC_ID='my timer' /

DEVC 建立了一個名為 my timer 的定時器。OBST 的存在依賴於 DEVC,這要歸功於 DEVC_ID='my timer' 引數。當模擬開始時,定時器具有 .FALSE. 的初始狀態,因此 OBST 未被啟用,並且不會阻礙流動域。然後在 30 秒後,定時器將其狀態更改為 .TRUE.,OBST 被啟用並開始執行。

以下引數決定了裝置如何控制某事物

• SETPOINT 是裝置改變狀態的值。對於檢測型別的裝置(熱探測器或煙霧探測器),此值是從裝置的啟用演算法計算得出的,無需在 DEVC 行上指定。

• TRIP_DIRECTION,正整數表示當裝置的值超過 SETPOINT 時裝置將改變狀態,負整數表示當裝置的值低於 SETPOINT 時裝置將改變狀態。

• LATCH,如果此邏輯值為 .TRUE.,則裝置只改變一次狀態。否則它可以改變多次狀態。

• INITIAL_STATE,此邏輯值是裝置的初始狀態。

要移除然後在同一位置重新建立障礙物,請使用兩行程式碼,因為程式碼只是將其視為兩個不同的障礙物

 &DEVC XYZ=1.2,3.4,5.6, ID='timer1', QUANTITY='TIME',
     SETPOINT=30., INITIAL_STATE=.TRUE. / 
 &DEVC XYZ=1.2,3.4,5.6, ID='timer2', QUANTITY='TIME',
     SETPOINT=60., INITIAL_STATE=.FALSE. / 
 &OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,
     SURF_ID='brick wall', DEVC_ID='timer1' /
 &OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,
     SURF_ID='brick wall', DEVC_ID='timer2' /

最後一個示例

 &PROP ID='acme heat', QUANTITY='LINK TEMPERATURE',
     RTI=132., ACTIVATION_TEMPERATURE=74. / 
 &DEVC ID='HD_66', PROP_ID='acme heat', XYZ=2.3,4.6,3.4 / 
 &HOLE XB=2.3,4.5,1.3,4.8,0.0,9.2, DEVC_ID='HD_66' /

當熱探測器的啟用演算法達成共識時,孔就會被建立。請注意,用於 HOLE 的 DEVC 不應與其他任何東西一起使用,除了額外的 HOLE 行。

當一個 HOLE 被停用時,要切割的障礙物可以與原始障礙物具有不同的顏色和透明度:只需在 HOLE 行上設定 COLOR 和 TRANSPARENCY 值。當 HOLE 被啟用時,空隙被建立並且指定的顏色消失。

同樣,VENT 的啟用也可以由 DEVC 狀態控制。例如,要使用我的計時器裝置控制燃燒器,請執行以下操作

 &DEVC XYZ=1.2,3.4,5.6, ID='my timer',
     QUANTITY='TIME', SETPOINT=30. / 
 &SURF ID='burner', HRRPUA=4000., TAU_Q=-120 /
 &VENT XB=0.6,1.0,0.3,0.7,0.0,0.0,
     SURF_ID='burner', DEVC_ID='my timer' /

請注意,在 30 秒時,VENT 被啟用,燃燒器邊界條件開啟。指定的 t2 斜坡從 30 秒開始,到 150 秒結束,此時 HRRPUA 達到其最大值 4000 kW m−2

請注意,不應該啟用或停用 MIRROR 或 OPEN VENT。這種限制的原因是壓力突然變化會導致數值不穩定。

高階控制邏輯

[編輯 | 編輯原始碼]

如果您希望使用比單個裝置及其 SETPOINT 更復雜的邏輯來控制 FDS 物件,可以使用 CTRL 名單組來指定控制函式。

控制函式將一個或多個裝置和控制函式的輸出作為輸入。透過這種方式,可以透過使函式成為其他函式的函式來模擬複雜的行為。對於大多數控制函式型別,裝置和控制函式的邏輯值輸出以及它們上次更改狀態的時間被用作輸入。

對於可以為其指定 DEVC_ID 的任何物件(例如 OBST 或 VENT),可以改為指定 CTRL_ID。

有關此主題的更廣泛討論,請參見 [FDS5 使用者指南]。

華夏公益教科書