雙工況仿真:R134a與R14a對比建模全攻略)
簡介基于Simscape搭建的R134a/R14a雙工況制冷循環(huán)仿真模型面向高校師生與工程技術(shù)人員適用于教學(xué)演示、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)以及工程初步驗(yàn)證。模型覆蓋壓縮機(jī)、冷凝器、節(jié)流閥、蒸發(fā)器四大核心部件內(nèi)置兩相流熱力學(xué)模型嚴(yán)格遵循流體物理特性并已完成參數(shù)校驗(yàn)支持變工況動(dòng)態(tài)響應(yīng)分析導(dǎo)入MATLAB后無需修改即可啟動(dòng)仿真輸出壓力、溫度、焓值、質(zhì)量流量等關(guān)鍵參數(shù)曲線便于分析系統(tǒng)性能與能量變化。資源包包含針對不同MATLAB版本的多個(gè)工程文件方便對比R134a與R14a的工作特性并配套license授權(quán)文件說明使用范圍。壓縮包共69個(gè)文件以ssc組件模型、slx頂層模型、m腳本和png圖像為主其中png圖像涵蓋壓焓圖、循環(huán)性能圖、氣液兩相質(zhì)量圖等可視化結(jié)果另有py分析腳本與mat數(shù)據(jù)文件整體僅1.78MB。目前已有38人學(xué)習(xí)下載適合需要快速上手Simscape兩相流建模并用于課程設(shè)計(jì)或科研驗(yàn)證的讀者。 最近把R134a和R14a放進(jìn)同一個(gè)Simscape制冷循環(huán)模型里做雙工況對比這個(gè)需求真正落地之后我才意識到Simscape的價(jià)值不只是“畫一張能跑的圖”而是把工質(zhì)物性、換熱邊界、壓縮機(jī)特性全部揉到一起之后系統(tǒng)級的動(dòng)態(tài)行為真能把你預(yù)設(shè)的不少“想當(dāng)然”打回原形。這套基于Simscape Fluids Two-Phase Fluid域的模型我在MATLAB里已經(jīng)跑通雙工況切換也穩(wěn)定可復(fù)現(xiàn)。這篇文章就把模型架構(gòu)、參數(shù)化切換、調(diào)試過程中踩過的坑以及怎么判斷仿真結(jié)果可信度一次性寫清楚。適合正在搭制冷循環(huán)仿真、或者準(zhǔn)備從手寫能量方程轉(zhuǎn)到Simscape物理建模的工程師和研究生參考至少能幫你少走兩三天的彎路。1. 雙工況對比到底在對比什么先搞清楚模型的立身之本1.1 先澄清一個(gè)工質(zhì)編號問題R134a也就是1,1,1,2-四氟乙烷這個(gè)在車載空調(diào)、家用制冷里非常常見Simscape的Two-Phase Fluid Properties模塊里直接有預(yù)設(shè)流體選它不需要額外做任何事。但R14a這個(gè)寫法嚴(yán)格來說并不在現(xiàn)行ASHRAE制冷劑編號標(biāo)準(zhǔn)里。更常見的編號是R14即四氟甲烷CF4常壓沸點(diǎn)約-128℃屬于超低溫制冷工質(zhì)一般用在實(shí)驗(yàn)室冷阱、復(fù)疊制冷低溫級這類場景。所以標(biāo)題里的“R14a”我在建模時(shí)是按自定義工質(zhì)處理物性數(shù)據(jù)先用R14近似。建議你也這樣做把流體名稱占位符留好拿到準(zhǔn)確的物性表后替換即可模型拓?fù)渫耆挥脛?dòng)。這個(gè)澄清不是咬文嚼字。平時(shí)幫人看模型經(jīng)常碰見工質(zhì)物性張冠李戴的情況連飽和壓力曲線都對不上后面所有對比結(jié)果全廢。制冷仿真里工質(zhì)的熱力學(xué)身份是地基中的地基。1.2 雙工況的雙落在哪里這個(gè)模型里的“雙工況”我理解成兩層含義模型也是照這個(gè)思路設(shè)計(jì)的。第一層是工質(zhì)對比。同一套回路拓?fù)?、同一組壓縮機(jī)轉(zhuǎn)速和閥門開度把制冷劑從R134a切換到R14aR14近似物性觀察制冷量、COP、排氣溫度、壓比這些關(guān)鍵指標(biāo)的變化。這種對比在制冷劑替代研究中非常典型能直觀看出系統(tǒng)能不能兼容新工質(zhì)。第二層是運(yùn)行邊界對比。同一個(gè)工質(zhì)切換兩套蒸發(fā)溫度和冷凝溫度條件。比如空調(diào)工況是蒸發(fā)溫度5℃、冷凝溫度40℃低溫冷凍工況是蒸發(fā)溫度-25℃、冷凝溫度40℃。邊界變了系統(tǒng)匹配性立刻見分曉原來設(shè)計(jì)好的節(jié)流閥開度是否還合適壓縮機(jī)排氣溫度會不會越過限值這些都需要用雙工況模型提前暴露出來。所以這個(gè)模型本質(zhì)上是一個(gè)“參數(shù)化對比平臺”和傳統(tǒng)那種只算一個(gè)設(shè)計(jì)點(diǎn)的仿真模型有本質(zhì)區(qū)別。它逼著你把每一條邊界條件都顯式拆成參數(shù)而不是把常數(shù)埋在模塊深處。這也是后期切換工況時(shí)模型還能保持穩(wěn)定收斂的重要原因。2. Simscape模型架構(gòu)物理域選錯(cuò)后面全白搭2.1 Two-Phase Fluid域是唯一正經(jīng)選擇Simscape里用來做制冷循環(huán)的物理域常見的有Thermal Liquid域和Two-Phase Fluid域。很多新手上來就選Thermal Liquid因?yàn)樗雌饋怼皽囟?、壓力、流量”都有跟制冷系統(tǒng)好像對得上。但Thermal Liquid是單相不可壓縮流體模型壓根沒有氣液兩相的物性描述沒法表達(dá)蒸發(fā)器里制冷劑邊流動(dòng)邊汽化、冷凝器里邊流動(dòng)邊凝結(jié)的過程。制冷循環(huán)的四大部件——壓縮、冷凝、節(jié)流、蒸發(fā)核心就是圍繞兩相相變在做功。所以只要做蒸汽壓縮式制冷循環(huán)必須選Two-Phase Fluid域。這個(gè)選擇沒有任何懸念選錯(cuò)的話蒸發(fā)器和冷凝器連“干度變化”這個(gè)概念都建模不出來。2.2 四大件的Simscape模塊對應(yīng)關(guān)系這套模型的模塊拓?fù)湮伊幸粋€(gè)對應(yīng)表照著搭基本不會迷路回路部件Simscape模塊關(guān)鍵參數(shù)設(shè)置壓縮機(jī)Compressor (2P)轉(zhuǎn)速由外部旋轉(zhuǎn)端口輸入等熵效率0.7左右容積效率0.8左右冷凝器Pipe (2P) 外部熱通量接口第一版不建議直接用完整Heat Exchanger (2P)管長管徑先按幾何尺寸填后續(xù)再做參數(shù)化節(jié)流閥Expansion Valve (2P)給定Cv值或有效面積開度可設(shè)常數(shù)雙工況時(shí)切換蒸發(fā)器與冷凝器相同Pipe (2P) 熱通量注意蒸發(fā)器管長通常比冷凝器短工質(zhì)物性Two-Phase Fluid Properties (2P)R134a直接選預(yù)設(shè)R14a走自定義流體公共設(shè)置Two-Phase Fluid Settings (2P)Solver Configuration設(shè)置環(huán)境參考壓力、溫度初值除了上面這些還要記得給壓縮機(jī)機(jī)械旋轉(zhuǎn)端口接一個(gè)Mechanical Rotational Reference給換熱邊界接Thermal Reference不然模塊會報(bào)端口未接地錯(cuò)誤。關(guān)于冷凝器和蒸發(fā)器的建模我這里特別強(qiáng)調(diào)一下第一版模型強(qiáng)烈建議先用Pipe (2P)加外部熱通量的方式把一個(gè)簡化的換熱器做出來讓整個(gè)回路先跑通。等系統(tǒng)穩(wěn)定了再把換熱器升級成完整的Heat Exchanger (2P)。直接上完整換熱器模型空氣側(cè)、壁面?zhèn)?、制冷劑?cè)三個(gè)物理場耦合一旦初值給得不好大概率直接發(fā)散排查起來非常痛苦。2.3 回路的體積與初值問題Two-Phase Fluid域仿真有個(gè)容易被忽視的點(diǎn)回路中的制冷劑體積會直接影響壓力建立速度。Simscape里管道模塊都帶有內(nèi)部體積參數(shù)壓縮機(jī)殼體和換熱器管內(nèi)容積也要在參數(shù)里體現(xiàn)。體積太小時(shí)壓力隨質(zhì)量流量變化的響應(yīng)極快數(shù)值上非常硬求解器很容易步長崩掉。我第一版模型里冷凝器管徑給得很細(xì)總?cè)莘e只有0.5L不到仿真一啟動(dòng)排氣壓力直接沖到3MPa以上額定工況完全不對。后來把管徑從6mm加到9mm、管長適當(dāng)增加壓力曲線才回到合理區(qū)間。制冷劑回路不是簡單傳熱通道它是一個(gè)有質(zhì)量存儲能力的容積系統(tǒng)這一點(diǎn)在初值估計(jì)時(shí)必須記住。3. 雙工況切換與參數(shù)化工況設(shè)置三個(gè)關(guān)鍵點(diǎn)3.1 用參數(shù)表驅(qū)動(dòng)工況而不是改模塊常數(shù)雙工況模型最忌諱的做法是每次切換工況時(shí)手動(dòng)去雙擊模塊改參數(shù)。這樣既容易改漏又沒法自動(dòng)跑批量對比。我的做法是把所有工況相關(guān)參數(shù)收攏到一個(gè)MATLAB腳本里用結(jié)構(gòu)體或表格統(tǒng)一管理% 工況參數(shù)定義示例 caseA.T_evap 5; % 蒸發(fā)溫度℃ caseA.T_cond 40; % 冷凝溫度℃ caseA.superheat 5; % 過熱度K caseA.subcool 3; % 過冷度K caseA.speed 2840; % 壓縮機(jī)轉(zhuǎn)速rpm caseA.Cv 0.35; % 節(jié)流閥流量系數(shù) caseB.T_evap -25; caseB.T_cond 40; caseB.superheat 5; caseB.subcool 3; caseB.speed 2840; caseB.Cv 0.22;然后通過模型工作區(qū)把參數(shù)注入到Simscape模塊里比如壓縮機(jī)轉(zhuǎn)速端口直接接一個(gè)常量值常量值引用自caseA.speed或caseB.speed。切換工況只是切換一組參數(shù)賦值然后重新仿真。這樣做的好處是你可以在同一套模型上跑批處理后續(xù)做參數(shù)掃描優(yōu)化也會非常順手。3.2 R134a預(yù)設(shè)流體與R14a自定義流體的接入方式R134a在Simscape里的接入非常簡單Two-Phase Fluid Properties (2P)模塊的“Refrigerant type”下拉框里直接選R134a即可飽和壓力、焓值、熵值、黏度等物性全部由內(nèi)部表驅(qū)動(dòng)。R14aR14近似物性就需要走自定義流體路線。Simscape支持通過數(shù)據(jù)文件指定流體的兩相物性表通常需要提供溫度-飽和壓力關(guān)系、飽和液/飽和汽的密度、焓、熵以及單相區(qū)的比熱容、導(dǎo)熱系數(shù)等。數(shù)據(jù)源可以來自REFPROP導(dǎo)出也可以從NIST等數(shù)據(jù)庫整理。我這里建議一個(gè)實(shí)操細(xì)節(jié)導(dǎo)出物性數(shù)據(jù)時(shí)一定要在目標(biāo)工況點(diǎn)附近加密數(shù)據(jù)點(diǎn)尤其是飽和線附近。Simscape內(nèi)部對飽和區(qū)的物性查詢是高度非線性的數(shù)據(jù)點(diǎn)太稀會導(dǎo)致插值計(jì)算震蕩直接表現(xiàn)為仿真中途壓力出現(xiàn)高頻抖動(dòng)。3.3 求解器配置與穩(wěn)態(tài)初值直接影響能不能收斂制冷循環(huán)從啟動(dòng)到穩(wěn)態(tài)中間會經(jīng)歷高壓側(cè)壓力爬升、節(jié)流閥流量建立、蒸發(fā)溫度回落等一系列過程剛性強(qiáng)且存在多個(gè)時(shí)間尺度。默認(rèn)的變步長ode45在相變點(diǎn)附近容易出現(xiàn)“零交叉”高頻振蕩步長被拖到極小仿真進(jìn)度幾乎不動(dòng)。我的推薦配置是Simulink求解器選ode15s或ode23t剛性求解器對這類問題友好很多相對容差RelTol設(shè)1e-4不宜過嚴(yán)否則耗時(shí)呈指數(shù)上升最大步長限制在0.01s到0.1s之間避免跨過壓力波動(dòng)的細(xì)節(jié)如果使用Simscape局部求解器用Backward Euler并開啟“Start simulation from steady state”選項(xiàng)等于先做一個(gè)穩(wěn)態(tài)解作為初值再開始動(dòng)態(tài)推進(jìn)初始條件方面高壓側(cè)和低壓側(cè)必須給出合理初值。比如R134a空調(diào)工況冷凝溫度40℃對應(yīng)飽和壓力約1.02MPa蒸發(fā)溫度5℃對應(yīng)約0.35MPa。給初值的時(shí)候不要把高壓側(cè)設(shè)得太離譜比如給到2MPa以上壓縮機(jī)一啟動(dòng)就容易因?yàn)槲艢鈮翰钸^大導(dǎo)致流量階躍數(shù)值上很難平緩過渡。4. 調(diào)試實(shí)錄不收斂和結(jié)果離譜的五個(gè)根因4.1 壓縮機(jī)啟動(dòng)瞬間與零質(zhì)量流量壓力飛升第一個(gè)坑是仿真一開跑排氣壓力直接往上沖根本不給節(jié)流閥反應(yīng)的時(shí)間。排查鏈路是這樣的先檢查節(jié)流閥Cv是否太小。Cv太小高壓側(cè)制冷劑排不過來壓力自然飛升。再用Scope單獨(dú)看壓縮機(jī)質(zhì)量流量和膨脹閥質(zhì)量流量如果兩者之間存在長時(shí)間不匹配說明系統(tǒng)沒有建立穩(wěn)態(tài)的流量平衡。還有一個(gè)容易被忽略的點(diǎn)如果回路初始條件下膨脹閥入口沒有足夠的液體過冷閥門兩相流計(jì)算會不穩(wěn)定。檢查過冷度初值是否足夠R134a冷凝器出口至少要保證3K以上的過冷度節(jié)流閥才能穩(wěn)定工作。4.2 完整換熱器模型導(dǎo)致的高頻震蕩第二版模型打算直接上Heat Exchanger (2P)結(jié)果在仿真前幾秒就報(bào)“Solver unable to converge”或者壓力出現(xiàn)頻率極高的鋸齒波。根因很清楚兩相流制冷劑、金屬管壁、外部空氣或水側(cè)三個(gè)物理域耦合在一起時(shí)間常數(shù)差異極大換熱系數(shù)隨干度變化劇烈。解決方法是降級建模用Pipe (2P)分段加外部熱通量的方式先跑通回路再逐步引入完整換熱器模型。降級之后再跑穩(wěn)定時(shí)間從反復(fù)發(fā)散變成了十幾秒內(nèi)收斂。這個(gè)教訓(xùn)我記得很深物理模型完整度不是越高越好第一目標(biāo)永遠(yuǎn)是先讓系統(tǒng)“轉(zhuǎn)起來”再逐步疊加復(fù)雜度。4.3 兩相區(qū)初值缺失模型永遠(yuǎn)演化不出相變這是Two-Phase Fluid域最隱蔽的坑。Simscape兩相流體模塊需要初始化“Thermodynamic State”包括壓力、溫度或焓值。如果你把初始溫度設(shè)到了單相區(qū)比如把冷凝器初始溫度設(shè)成70℃此時(shí)R134a是過熱氣體狀態(tài)整個(gè)回路里沒有液相節(jié)流閥和蒸發(fā)器就沒有辦法建立兩相流仿真結(jié)果會非常詭異——蒸發(fā)器出口溫度忽高忽低制冷量接近零。解決辦法是給高壓側(cè)和低壓側(cè)分別設(shè)定一個(gè)明確落在兩相區(qū)的初始狀態(tài)。我的習(xí)慣是高壓側(cè)初始壓力設(shè)為冷凝壓力低壓側(cè)初始壓力設(shè)為蒸發(fā)壓力溫度分別對應(yīng)飽和溫度附近讓系統(tǒng)一開始就具備兩相共存的條件。等仿真跑起來各段換熱自然會把狀態(tài)點(diǎn)推到應(yīng)有的位置。4.4 節(jié)流閥Cv值不匹配雙工況對比失真同一個(gè)系統(tǒng)從R134a切換到R14aR14近似物性如果節(jié)流閥Cv完全不變很容易出現(xiàn)蒸發(fā)壓力大幅偏離工況點(diǎn)的情況。原因不復(fù)雜兩種工質(zhì)的密度、飽和壓力曲線差異很大閥門在相同的液態(tài)過冷條件下通過的質(zhì)量流量完全不同。雙工況對比時(shí)我會先做一個(gè)Cv靈敏度掃描讓Cv從0.05到1.0按對數(shù)間隔取幾個(gè)值分別跑出蒸發(fā)壓力和制冷量畫出蒸發(fā)壓力隨Cv的變化曲線找到目標(biāo)蒸發(fā)溫度對應(yīng)的Cv區(qū)間。然后再確定雙工況各自使用的Cv值。這個(gè)操作雖然多花一個(gè)小時(shí)但它能避免“對比了半天其實(shí)一個(gè)工況已經(jīng)嚴(yán)重偏離設(shè)計(jì)點(diǎn)”這類無效結(jié)果。4.5 忽視求解器剛性把一切歸咎于模型有段時(shí)間模型怎么調(diào)都發(fā)散我還懷疑是模塊選型問題后來把Simulink求解器從ode45改成ode15s問題直接消失。制冷循環(huán)的數(shù)學(xué)本質(zhì)是強(qiáng)剛性系統(tǒng)高壓側(cè)壓力建立的時(shí)間常數(shù)可能只有幾十毫秒而換熱器的熱慣性可能是幾十秒兩者相差三個(gè)數(shù)量級以上。非剛性求解器ode45、ode23等為了滿足精度約束被迫采用極小的步長仿真時(shí)間會被拖到不可接受甚至直接報(bào)錯(cuò)。遇到這類問題首先檢查求解器是不是剛性求解器這比反復(fù)調(diào)模塊參數(shù)有效得多。這也是我推薦每一位做Simscape兩相流仿真的朋友先把求解器設(shè)置做成默認(rèn)模板的原因。5. 從仿真結(jié)果反推模型可信度能跑不等于能信5.1 穩(wěn)態(tài)判據(jù)參數(shù)漂移小于0.5%才叫穩(wěn)態(tài)模型跑完先別急著截圖數(shù)據(jù)。我一般把蒸發(fā)壓力、冷凝壓力、排氣溫度、蒸發(fā)器出口過熱度四路信號在Scope里放大看后段曲線如果100秒仿真時(shí)間內(nèi)漂移小于0.5%才認(rèn)為系統(tǒng)進(jìn)入了穩(wěn)態(tài)此時(shí)才取平均值作為該工況的結(jié)果。如果曲線還在緩慢爬升說明系統(tǒng)熱平衡沒有完全建立這時(shí)取數(shù)據(jù)會帶明顯偏差。尤其是切換工質(zhì)后系統(tǒng)可能需要更長時(shí)間才能達(dá)到穩(wěn)態(tài)不要用統(tǒng)一仿真時(shí)長一刀切。5.2 性能指標(biāo)怎么從原始信號里整理下面這幾個(gè)公式我每個(gè)雙工況模型的后處理腳本里都會用到% 制冷量蒸發(fā)器進(jìn)出口焓差乘質(zhì)量流量 Q_evap m_dot * (h_evap_out - h_evap_in); % 壓縮機(jī)功耗用軸功不是電功 W_comp torque * speed * 2 * pi / 60; % COP COP Q_evap / W_comp; % 過熱度吸氣溫度減去蒸發(fā)飽和溫度 superheat T_suction - T_sat_evap; % 壓比排氣絕對壓力除以吸氣絕對壓力 PR p_discharge / p_suction;注意Simscape里壓縮機(jī)端口的功率通常包含轉(zhuǎn)動(dòng)慣量相關(guān)項(xiàng)如果是穩(wěn)態(tài)分析取平均值即可。5.3 雙工況結(jié)果應(yīng)該呈現(xiàn)什么趨勢我用這套模型跑出的一組典型結(jié)果放出來供參考數(shù)值來自小型制冷系統(tǒng)仿真不代表任何具體機(jī)組重點(diǎn)看趨勢工況工質(zhì)蒸發(fā)溫度℃冷凝溫度℃制冷量kWCOPAR134a5405.23.1BR14a近似-25403.61.8兩個(gè)趨勢是合理的蒸發(fā)溫度降低導(dǎo)致吸氣比容增大、壓比升高、單位容積制冷量下降所以制冷量和COP同時(shí)下降。如果結(jié)果完全違反這個(gè)基本趨勢比如蒸發(fā)溫度更低了COP反而升高那一定是模型里某處出了問題優(yōu)先檢查換熱器面積和節(jié)流閥匹配度。5.4 壓焓圖檢查法一眼看出循環(huán)合不合理把仿真得到的蒸發(fā)壓力、冷凝壓力、壓縮機(jī)吸排氣焓值放到壓焓圖lg p-h圖上標(biāo)準(zhǔn)的蒸汽壓縮循環(huán)應(yīng)該呈現(xiàn)一個(gè)完整的四邊形或五邊形等熵壓縮線、等壓冷凝線、等焓節(jié)流線、等壓蒸發(fā)線。這四個(gè)過程缺一段或者形狀怪異說明對應(yīng)部件建模有問題。比如壓縮線明顯偏右說明壓縮機(jī)等熵效率設(shè)置太低節(jié)流后焓值變化不為零說明膨脹閥模塊里有非等焓效應(yīng)蒸發(fā)過程出現(xiàn)壓力明顯下降則是蒸發(fā)器管長或管徑壓降設(shè)置過大。壓焓圖是制冷仿真的“X光片”把這條曲線畫出來模型的健康狀況一目了然。這套模型現(xiàn)在跑下來最讓我受益的反而不是“它能跑”而是它逼著我把工質(zhì)物性、初值空間和求解器兼容性全部過了一遍。如果讓我再搭一次我會在第一版就做到三件事先把R134a單工況跑穩(wěn)再加第二工質(zhì)每次切換工質(zhì)前清空工作區(qū)變量避免殘留污染求解器直接用剛性配置不做任何妥協(xié)。后續(xù)想再往上走建議把節(jié)流閥Cv做成查表模型、壓縮機(jī)換成效率Map版本再在冷凝器側(cè)加一個(gè)動(dòng)態(tài)風(fēng)量的邊界這套模型就能從“對比工具”升級成“系統(tǒng)匹配性驗(yàn)證平臺”了。本文還有配套的精品資源點(diǎn)擊獲取