盧忝余,杜政瑀,鮑輝,王雅峰,袁光輝
(1.核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點實驗室,成都610041 2.中國核動力研究設(shè)計院,成都610041)
為了更好實現(xiàn)對核電站內(nèi)參數(shù)的實時監(jiān)控,會在反應(yīng)堆中設(shè)置相應(yīng)的探測部件,例如針對反應(yīng)堆啟停階段與正常運行階段中子注量率的探測器和測量儀表、針對反應(yīng)堆堆芯出口以及環(huán)路特定位置的冷卻劑溫度測量采用的熱電偶、針對控制棒在堆芯中位置的控制棒位置指示系統(tǒng)、針對事故發(fā)生后的相應(yīng)設(shè)備是否可以按要求運作的事故后檢測系統(tǒng)、系統(tǒng)內(nèi)壓力控制系統(tǒng)、特定位置冷卻劑液位控制系統(tǒng)等。通過以上的反應(yīng)堆監(jiān)測系統(tǒng),可以實時對反應(yīng)堆的運行、安全狀態(tài)進行觀察,并且在此基礎(chǔ)上,通過相應(yīng)的控制系統(tǒng)實現(xiàn)對反應(yīng)堆的調(diào)整。當前針對反應(yīng)堆的控制,可以分為自動控制與人工控制兩種形式,這兩種控制方式實質(zhì)上都是為了使反應(yīng)堆達到某種特定狀態(tài)而對反應(yīng)堆局部或者整體的運行狀態(tài)進行干預(yù)[1]。人工控制又稱為手動控制,是由運行人員在對運行參數(shù)觀察的基礎(chǔ)上,根據(jù)需求進行人工的調(diào)整、控制,而自動控制則采用機械或者電器等裝置來代替人工控制。由于人工控制相比自動控制更加容易出現(xiàn)失誤,例如三里島、切爾諾貝利事故很大程度上都與人的因素有關(guān),甚至之后的福島事故也與人的決策判斷相關(guān)[2],因此為了減小人因?qū)е碌氖д`,在設(shè)計上,反應(yīng)堆系統(tǒng)的自動化程度與先進性在不斷提高。
當前在對核電站設(shè)計、新型反應(yīng)堆研發(fā)等研究工作過程中,通常會采用數(shù)值模擬的方法,而其中最為復(fù)雜的屬于反應(yīng)堆系統(tǒng)分析程序。反應(yīng)堆系統(tǒng)分析程序可以針對反應(yīng)堆一二回路進行建模,對其中堆芯區(qū)域燃料發(fā)熱、系統(tǒng)中冷卻劑流動情況、一二回路熱量傳遞以及主要部件運行狀態(tài)進行數(shù)值模擬[3]。對于系統(tǒng)分析程序而言,分為兩種主要的控制方法:①類似于人工控制,當采用系統(tǒng)分析程序用于反應(yīng)堆系統(tǒng)實時仿真,進行例如操作員培訓(xùn)、模擬機開發(fā)等活動時,可以通過平臺調(diào)度,實現(xiàn)在虛擬盤臺上進行操作,進而影響到系統(tǒng)分析程序內(nèi)對應(yīng)的運行數(shù)據(jù),以此達到控制的需求;②類似于自動控制,通過對具體運行工況的設(shè)置,實現(xiàn)對某些特定參數(shù)的監(jiān)測,當這些參數(shù)符合預(yù)設(shè)要求時,對系統(tǒng)中相應(yīng)的控制對象進行調(diào)整從而改變例如冷卻劑流動狀態(tài)或者堆芯功率等。由于在對反應(yīng)堆系統(tǒng)設(shè)計時,需要考慮事故情況下的運行狀態(tài),從而進行安全性分析,因此除了實驗堆以外,通常采用程序模擬的方法對反應(yīng)堆進行數(shù)值計算。同時因為要進行反應(yīng)堆系統(tǒng)事故工況下的數(shù)值模擬,需要分析多種情況下的安全性能、評估能動/非能動安全系統(tǒng)以及自動控制系統(tǒng)性能等,這個過程中系統(tǒng)分析程序中的控制模塊起到非常重要的作用。本文主要介紹了一種系統(tǒng)分析程序中的控制模塊構(gòu)建方法,并且圍繞此方法做了進一步分析。
對于系統(tǒng)分析程序而言,其控制系統(tǒng)通常根據(jù)某些特定的參數(shù)或者用戶指定的參數(shù)觸發(fā),同時,為了有效模擬復(fù)雜系統(tǒng)的控制邏輯,會針對各個參數(shù)建立較完整的邏輯運算模塊,此外,控制模塊的運算結(jié)果會直接作用在系統(tǒng)的運作上。綜上,對于系統(tǒng)分析程序而言,其控制系統(tǒng)組成部分可以分為三部分:①設(shè)置;②運算;③反饋。
控制系統(tǒng)的設(shè)置包括兩部分。首先是規(guī)定參與計算的變量,這個變量需要直接對應(yīng)到程序內(nèi)的計算變量,因此可以通過兩種方法規(guī)定:①寫入程序可以自動識別的變量名稱;②通過符合系統(tǒng)程序的格式設(shè)置額外的變量。當確定參與計算的變量后,需要設(shè)置其計算邏輯,計算邏輯主要包括以下幾種:等于、不等于、大于、大于等于、小于、小于等于、和、或、非。其中前六個是針對參數(shù)的計算,而后面三個則是針對邏輯的計算。
對于系統(tǒng)分析程序而言,控制系統(tǒng)通常采用顯式計算,即采用已知量進行計算。在計算過程中,根據(jù)控制系統(tǒng)的設(shè)置,提取相應(yīng)的變量,之后根據(jù)相應(yīng)的數(shù)值計算得到邏輯值,例如在每個時間步長計算中對設(shè)置的溫度、壓力等參數(shù)進行判斷是否超過特定值等。此外,還可以對多個變量運算的結(jié)果進行邏輯運算,例如判斷是否條件1 與條件2 都符合,或者是否條件1 不符合等。
當控制系統(tǒng)計算完成后,會輸出結(jié)果,而這些結(jié)果將直接影響對應(yīng)部件的運行狀態(tài),在反應(yīng)堆系統(tǒng)分析程序中,可以影響泵、閥門、汽輪機等設(shè)備的運行狀態(tài)從而改變系統(tǒng)內(nèi)冷卻劑流動形式,也可以對邊界條件進行改變以此模擬特定工況,還可以對控制棒步進做出調(diào)整以此影響堆芯整體或者局部的功率。
系統(tǒng)分析程序在進行瞬態(tài)計算時,需要將絕大多數(shù)參數(shù)與時間對應(yīng)起來,例如記錄當前時間步、上一時間步、甚至上上時間步的參數(shù),并以此進行計算。同理,對于控制系統(tǒng)而言,其計算結(jié)果也同樣需要與時間對應(yīng),因此通常會設(shè)置每個控制邏輯觸發(fā)的時刻,當控制邏輯發(fā)生改變時,對改變的時間進行記錄。下面將介紹兩種控制邏輯觸發(fā)時間設(shè)定方法。
第一種方法為將所有邏輯變化對應(yīng)的時間點都設(shè)置在時間步長結(jié)束的位置,具體為:在某個時間步長中,當控制邏輯在該時間步長起始位置的值與其在該時間步長結(jié)束位置的值不同時,將邏輯的變化時間設(shè)置為該時間步長結(jié)束位置。例如,假設(shè)控制邏輯A 與溫度有關(guān),當溫度大于100K 時,A 為真,在t1到t2的時間步長中,溫度從90K 上升到了110K,如圖1 所示,則記錄A 的觸發(fā)時間為t2。
圖1 邏輯變化在時間步長結(jié)束位置示意
采用這種方法可以在每個時間步長計算完成時得到控制邏輯的觸發(fā)情況,不需要進行額外計算。同時由于控制邏輯改變時間都位于時間步長結(jié)束點的位置,因此對于其影響的部件或者邊界條件而言,控制邏輯的變化不會對當前時間步的結(jié)果存在影響,只會體現(xiàn)在其下一時間步的計算中。然而這種方法有顯而易見的缺陷:存在不超過當前時間步長的時間誤差(示例中的誤差為t2-t0,其中t0為實際觸發(fā)的時間點)。當時間步長取值較大或者對計算精度有較高要求時,不建議采用此方法。
第二種方法則在每個時間步長的計算中,當出現(xiàn)控制邏輯變化時,通過線性插值求解觸發(fā)的時間。例如,在上一個例子的基礎(chǔ)上,假設(shè)溫度達到T0時觸發(fā),起始時刻溫度為T1,結(jié)束時刻溫度為T2,如圖2 所示,則通過線性插值可以得到觸發(fā)的時間t3為:
當采用第二種方法時,可以利用時間步起始時刻值與結(jié)束時刻值進行線性差分,對觸發(fā)時間進行估計計算,一定程度上保證了精度(在示例中觸發(fā)時間的誤差為t3-t0)。但是與第一種方法比,這種方法在計算中會用到上一時刻的值,需要程序的支持,同時增加了插值計算,較第一種方法更為復(fù)雜。此外,由于控制邏輯的變化時間位于時間步長內(nèi),同時也記錄了計算得到的改變時間(例如t3),為了保證計算的連續(xù)性,通常會在觸發(fā)時間不為當前時間步結(jié)束時刻的情況(即t3不為t2時)中進行回退計算,關(guān)于回退計算將在下面展開介紹。
圖2 通過線性插值的形式計算觸發(fā)時間方法示意
在系統(tǒng)程序中,當控制邏輯觸發(fā)后,會記錄觸發(fā)時間,對于在瞬態(tài)進程中會不斷判斷狀態(tài)的控制邏輯而言,不僅會記錄最新一次觸發(fā)的觸發(fā)時間,還會記錄觸發(fā)的次數(shù)。而對應(yīng)到具體的部件,根據(jù)觸發(fā)時間點與當前計算時間點,可以得到觸發(fā)后經(jīng)歷的時間段,并且利用這個時間段進行相應(yīng)的計算。而為了保證控制系統(tǒng)的正確性,當觸發(fā)時間點位于當前時間步內(nèi)且觸發(fā)時間點不為結(jié)束時間點時,需要進行回退計算?;赝擞嬎銜斍耙呀?jīng)計算完成的時間步進行分割,劃分為控制邏輯觸發(fā)前與控制邏輯觸發(fā)后兩部分,之后重新對當前時間步進行計算,時間步長分別取起始點到控制邏輯觸發(fā)點與控制邏輯觸發(fā)點到結(jié)束點兩段。本文假設(shè)當插值計算確定了當前時間步長內(nèi)控制觸發(fā)的時間點后,將不再對此控制觸發(fā)時間進行迭代計算。計算邏輯為:
圖3 瞬態(tài)計算中回退計算流程
當時間步長中因為某個控制邏輯發(fā)生變化從而導(dǎo)致回退計算時,會記錄該控制邏輯的觸發(fā)時間,再進行瞬態(tài)參數(shù)回溯,之后在進行修正的時間步長下計算瞬態(tài)工況時,不會再對此控制邏輯進行計算。
通過回退計算,可以得到系統(tǒng)在控制邏輯變化時的參數(shù)。同時由于控制邏輯發(fā)生變化,導(dǎo)致系統(tǒng)中相應(yīng)的部件運行狀態(tài)發(fā)生變化,因此在此觸發(fā)點的基礎(chǔ)上,對系統(tǒng)進行再一次計算,為下一時間步長的計算提供較準確的起始值。
需要說明的是,當單個時間步長內(nèi)出現(xiàn)多個相互之間無聯(lián)系的控制邏輯變化時,會選擇在該時間步長中最早變化的控制邏輯,并記錄其觸發(fā)時間點,根據(jù)這個點計算得到需要回退計算的時間步。
本文針對反應(yīng)堆系統(tǒng)分析程序的控制模塊計算邏輯展開研究,闡述了在瞬態(tài)計算過程中兩種控制邏輯計算流程,同時重點對采用線性插值方法計算觸發(fā)時間并根據(jù)觸發(fā)時間設(shè)置回退計算的方法做了介紹。