盧忝余,杜政瑀,鮑輝,王雅峰,袁光輝
(1.核反應堆系統設計技術重點實驗室,成都610041 2.中國核動力研究設計院,成都610041)
為了更好實現對核電站內參數的實時監控,會在反應堆中設置相應的探測部件,例如針對反應堆啟停階段與正常運行階段中子注量率的探測器和測量儀表、針對反應堆堆芯出口以及環路特定位置的冷卻劑溫度測量采用的熱電偶、針對控制棒在堆芯中位置的控制棒位置指示系統、針對事故發生后的相應設備是否可以按要求運作的事故后檢測系統、系統內壓力控制系統、特定位置冷卻劑液位控制系統等。通過以上的反應堆監測系統,可以實時對反應堆的運行、安全狀態進行觀察,并且在此基礎上,通過相應的控制系統實現對反應堆的調整。當前針對反應堆的控制,可以分為自動控制與人工控制兩種形式,這兩種控制方式實質上都是為了使反應堆達到某種特定狀態而對反應堆局部或者整體的運行狀態進行干預[1]。人工控制又稱為手動控制,是由運行人員在對運行參數觀察的基礎上,根據需求進行人工的調整、控制,而自動控制則采用機械或者電器等裝置來代替人工控制。由于人工控制相比自動控制更加容易出現失誤,例如三里島、切爾諾貝利事故很大程度上都與人的因素有關,甚至之后的福島事故也與人的決策判斷相關[2],因此為了減小人因導致的失誤,在設計上,反應堆系統的自動化程度與先進性在不斷提高。
當前在對核電站設計、新型反應堆研發等研究工作過程中,通常會采用數值模擬的方法,而其中最為復雜的屬于反應堆系統分析程序。反應堆系統分析程序可以針對反應堆一二回路進行建模,對其中堆芯區域燃料發熱、系統中冷卻劑流動情況、一二回路熱量傳遞以及主要部件運行狀態進行數值模擬[3]。對于系統分析程序而言,分為兩種主要的控制方法:①類似于人工控制,當采用系統分析程序用于反應堆系統實時仿真,進行例如操作員培訓、模擬機開發等活動時,可以通過平臺調度,實現在虛擬盤臺上進行操作,進而影響到系統分析程序內對應的運行數據,以此達到控制的需求;②類似于自動控制,通過對具體運行工況的設置,實現對某些特定參數的監測,當這些參數符合預設要求時,對系統中相應的控制對象進行調整從而改變例如冷卻劑流動狀態或者堆芯功率等。由于在對反應堆系統設計時,需要考慮事故情況下的運行狀態,從而進行安全性分析,因此除了實驗堆以外,通常采用程序模擬的方法對反應堆進行數值計算。同時因為要進行反應堆系統事故工況下的數值模擬,需要分析多種情況下的安全性能、評估能動/非能動安全系統以及自動控制系統性能等,這個過程中系統分析程序中的控制模塊起到非常重要的作用。本文主要介紹了一種系統分析程序中的控制模塊構建方法,并且圍繞此方法做了進一步分析。
對于系統分析程序而言,其控制系統通常根據某些特定的參數或者用戶指定的參數觸發,同時,為了有效模擬復雜系統的控制邏輯,會針對各個參數建立較完整的邏輯運算模塊,此外,控制模塊的運算結果會直接作用在系統的運作上。綜上,對于系統分析程序而言,其控制系統組成部分可以分為三部分:①設置;②運算;③反饋。
控制系統的設置包括兩部分。首先是規定參與計算的變量,這個變量需要直接對應到程序內的計算變量,因此可以通過兩種方法規定:①寫入程序可以自動識別的變量名稱;②通過符合系統程序的格式設置額外的變量。當確定參與計算的變量后,需要設置其計算邏輯,計算邏輯主要包括以下幾種:等于、不等于、大于、大于等于、小于、小于等于、和、或、非。其中前六個是針對參數的計算,而后面三個則是針對邏輯的計算。
對于系統分析程序而言,控制系統通常采用顯式計算,即采用已知量進行計算。在計算過程中,根據控制系統的設置,提取相應的變量,之后根據相應的數值計算得到邏輯值,例如在每個時間步長計算中對設置的溫度、壓力等參數進行判斷是否超過特定值等。此外,還可以對多個變量運算的結果進行邏輯運算,例如判斷是否條件1 與條件2 都符合,或者是否條件1 不符合等。
當控制系統計算完成后,會輸出結果,而這些結果將直接影響對應部件的運行狀態,在反應堆系統分析程序中,可以影響泵、閥門、汽輪機等設備的運行狀態從而改變系統內冷卻劑流動形式,也可以對邊界條件進行改變以此模擬特定工況,還可以對控制棒步進做出調整以此影響堆芯整體或者局部的功率。
系統分析程序在進行瞬態計算時,需要將絕大多數參數與時間對應起來,例如記錄當前時間步、上一時間步、甚至上上時間步的參數,并以此進行計算。同理,對于控制系統而言,其計算結果也同樣需要與時間對應,因此通常會設置每個控制邏輯觸發的時刻,當控制邏輯發生改變時,對改變的時間進行記錄。下面將介紹兩種控制邏輯觸發時間設定方法。
第一種方法為將所有邏輯變化對應的時間點都設置在時間步長結束的位置,具體為:在某個時間步長中,當控制邏輯在該時間步長起始位置的值與其在該時間步長結束位置的值不同時,將邏輯的變化時間設置為該時間步長結束位置。例如,假設控制邏輯A 與溫度有關,當溫度大于100K 時,A 為真,在t1到t2的時間步長中,溫度從90K 上升到了110K,如圖1 所示,則記錄A 的觸發時間為t2。

圖1 邏輯變化在時間步長結束位置示意
采用這種方法可以在每個時間步長計算完成時得到控制邏輯的觸發情況,不需要進行額外計算。同時由于控制邏輯改變時間都位于時間步長結束點的位置,因此對于其影響的部件或者邊界條件而言,控制邏輯的變化不會對當前時間步的結果存在影響,只會體現在其下一時間步的計算中。然而這種方法有顯而易見的缺陷:存在不超過當前時間步長的時間誤差(示例中的誤差為t2-t0,其中t0為實際觸發的時間點)。當時間步長取值較大或者對計算精度有較高要求時,不建議采用此方法。
第二種方法則在每個時間步長的計算中,當出現控制邏輯變化時,通過線性插值求解觸發的時間。例如,在上一個例子的基礎上,假設溫度達到T0時觸發,起始時刻溫度為T1,結束時刻溫度為T2,如圖2 所示,則通過線性插值可以得到觸發的時間t3為:

當采用第二種方法時,可以利用時間步起始時刻值與結束時刻值進行線性差分,對觸發時間進行估計計算,一定程度上保證了精度(在示例中觸發時間的誤差為t3-t0)。但是與第一種方法比,這種方法在計算中會用到上一時刻的值,需要程序的支持,同時增加了插值計算,較第一種方法更為復雜。此外,由于控制邏輯的變化時間位于時間步長內,同時也記錄了計算得到的改變時間(例如t3),為了保證計算的連續性,通常會在觸發時間不為當前時間步結束時刻的情況(即t3不為t2時)中進行回退計算,關于回退計算將在下面展開介紹。

圖2 通過線性插值的形式計算觸發時間方法示意
在系統程序中,當控制邏輯觸發后,會記錄觸發時間,對于在瞬態進程中會不斷判斷狀態的控制邏輯而言,不僅會記錄最新一次觸發的觸發時間,還會記錄觸發的次數。而對應到具體的部件,根據觸發時間點與當前計算時間點,可以得到觸發后經歷的時間段,并且利用這個時間段進行相應的計算。而為了保證控制系統的正確性,當觸發時間點位于當前時間步內且觸發時間點不為結束時間點時,需要進行回退計算。回退計算會將當前已經計算完成的時間步進行分割,劃分為控制邏輯觸發前與控制邏輯觸發后兩部分,之后重新對當前時間步進行計算,時間步長分別取起始點到控制邏輯觸發點與控制邏輯觸發點到結束點兩段。本文假設當插值計算確定了當前時間步長內控制觸發的時間點后,將不再對此控制觸發時間進行迭代計算。計算邏輯為:

圖3 瞬態計算中回退計算流程
當時間步長中因為某個控制邏輯發生變化從而導致回退計算時,會記錄該控制邏輯的觸發時間,再進行瞬態參數回溯,之后在進行修正的時間步長下計算瞬態工況時,不會再對此控制邏輯進行計算。
通過回退計算,可以得到系統在控制邏輯變化時的參數。同時由于控制邏輯發生變化,導致系統中相應的部件運行狀態發生變化,因此在此觸發點的基礎上,對系統進行再一次計算,為下一時間步長的計算提供較準確的起始值。
需要說明的是,當單個時間步長內出現多個相互之間無聯系的控制邏輯變化時,會選擇在該時間步長中最早變化的控制邏輯,并記錄其觸發時間點,根據這個點計算得到需要回退計算的時間步。
本文針對反應堆系統分析程序的控制模塊計算邏輯展開研究,闡述了在瞬態計算過程中兩種控制邏輯計算流程,同時重點對采用線性插值方法計算觸發時間并根據觸發時間設置回退計算的方法做了介紹。