劉江巖 張 青 劉 彬 李夔寧
(1.重慶大學(xué)低品位能源利用技術(shù)及系統(tǒng)教育部重點實驗室,重慶400044;2.重慶大學(xué)能源與動力工程學(xué)院,重慶400044
在全球新一輪科技革命和產(chǎn)業(yè)變革中,能源科技革命、能源產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型、能源金融互動發(fā)展等智慧能源應(yīng)用正飛速發(fā)展,推動我國從能源大國向能源強國轉(zhuǎn)變。 隨著我國能源發(fā)展進(jìn)入新時期,對能源動力類專業(yè)人才的培養(yǎng)提出了更高的要求,人才培養(yǎng)更加強調(diào)創(chuàng)新和實踐能力。 動力工程計算方法作為能源動力類的一門專業(yè)基礎(chǔ)課程,開設(shè)的目的在于使學(xué)生理解數(shù)值計算的基本思想,掌握利用計算工具實現(xiàn)數(shù)值計算的基本方法,為后續(xù)能源動力專業(yè)課程中基礎(chǔ)問題的求解提供數(shù)學(xué)理論支撐,也為進(jìn)一步進(jìn)行科學(xué)研究和工程應(yīng)用奠定計算基礎(chǔ)。 智慧能源時代的到來,對動力工程計算方法的發(fā)展提供了新的機遇和挑戰(zhàn), 動力工程計算方法的知識體系將進(jìn)一步擴展。無論是人工智能技術(shù)的應(yīng)用, 還是能源科學(xué)的實踐,計算方法在科學(xué)問題求解中都扮演了重要角色,是工程應(yīng)用的基礎(chǔ)。 將動力工程計算方法理論與智慧能源工程應(yīng)用有機地結(jié)合起來,培養(yǎng)能源動力類專業(yè)學(xué)生實踐、創(chuàng)新、應(yīng)用的能力,完善動力工程計算方法課程的知識體系,提高學(xué)生學(xué)習(xí)興趣,提升教學(xué)質(zhì)量,具有深遠(yuǎn)的意義。 本文首先分析了當(dāng)前教學(xué)過程中存在的問題及其產(chǎn)生的原因,然后根據(jù)動力工程計算方法課程的特點,結(jié)合當(dāng)前智慧能源工程應(yīng)用的需求,探索具有能源動力專業(yè)特色教學(xué)改革措施,達(dá)到提升教學(xué)效果的目的。
動力工程計算方法作為一門以數(shù)值計算為核心的課程,涵蓋誤差分析、插值與擬合、數(shù)值積分、線性方程與非線性方程求解、常微分方程求解等。 其有一定的數(shù)學(xué)理論深度, 對學(xué)生的數(shù)學(xué)理論基礎(chǔ)要求高,課程內(nèi)容往往較抽象;另一方面,該課程是專業(yè)基礎(chǔ)問題和工程實際問題求解的關(guān)鍵手段,具備較強的技術(shù)性和實踐性,對學(xué)生的編程能力和解決問題能力有一定要求。 但是,筆者在動力工程計算方法課程教學(xué)過程中發(fā)現(xiàn),現(xiàn)有教學(xué)普遍以一定深度的數(shù)學(xué)理論講授為主,淡化了與本專業(yè)相關(guān)問題的對接,導(dǎo)致課程內(nèi)容與所學(xué)專業(yè)的關(guān)聯(lián)性不強;其次,課程實踐(上機實驗)過程中著重基礎(chǔ)算法的編譯,部分學(xué)生難以勝任編寫邏輯性較強、原理較復(fù)雜的算法,課程實踐要求與學(xué)生能力存在差距;最后,盡管大部分學(xué)生能完成課程的學(xué)習(xí)和考試,但所學(xué)理論與應(yīng)用知識難以真正用于解決本專業(yè)的工程實際問題,課程教學(xué)成果與專業(yè)工程實踐需求匹配度不高。
動力工程計算方法課程開設(shè)的初衷在于通過學(xué)習(xí)利用計算工具求解數(shù)學(xué)問題的數(shù)值解法,從而提高解決能源與動力工程中實際問題的能力。 一方面,課程包含眾多數(shù)值計算方法的學(xué)習(xí),如僅插值方法就包括拉格朗日插值、牛頓插值、分段線性插值、樣條插值等。 而由于理論教學(xué)課時的限制,目前課程理論教學(xué)課時主要用于各數(shù)值計算方法原理的講解; 另一方面,數(shù)值解法原理涉及廣泛,如微積分、線性代數(shù)、微分方程等, 雖然學(xué)生在大學(xué)一年級學(xué)習(xí)了相關(guān)課程,但不可避免會遺忘某些概念和知識點,導(dǎo)致在教學(xué)過程中仍需要部分時間進(jìn)行復(fù)習(xí)和回顧。 此外,課程中各知識點之間具有較強的聯(lián)系, 算法原理邏輯嚴(yán)密,講解過程中需要板書進(jìn)行公式推導(dǎo)方可讓學(xué)生理解并掌握。 因此,為了保證學(xué)生能掌握各數(shù)值算法的原理,課程授課過程中需花費大量時間進(jìn)行數(shù)學(xué)理論證明和公式推導(dǎo)。 相應(yīng)的,對于如何應(yīng)用所學(xué)數(shù)值算法實現(xiàn)工程計算,教學(xué)過程中提及甚少。
筆者從事本科生二年級動力工程計算方法課程的教學(xué)工作, 此時學(xué)生已接觸部分專業(yè)基礎(chǔ)課程,如工程熱力學(xué)、流體力學(xué)等。 工程熱力學(xué)以熱力學(xué)基本定律為理論基礎(chǔ),研究工質(zhì)的熱力性質(zhì)、循環(huán)特性以及熱能動力裝置的能量轉(zhuǎn)換過程,其中涉及大量復(fù)雜函數(shù)(如高階、多元、積分、微分)的求解。 而流體力學(xué)是研究流體在外力作用下平衡和運動規(guī)律的一門學(xué)科,數(shù)值計算可用于求解理論分析中建立的各類流動方程及邊界條件,從而揭示流體運動的內(nèi)在聯(lián)系。 可以看出,動力工程計算方法課程所學(xué)知識在專業(yè)課程的基礎(chǔ)問題求解中發(fā)揮了關(guān)鍵作用,兩者的聯(lián)系應(yīng)當(dāng)是密不可分的。 然而,目前計算方法教學(xué)過程中鮮有將所學(xué)方法與專業(yè)課程基礎(chǔ)問題聯(lián)系起來,學(xué)生對于動力工程計算方法知識的掌握只停留在算法原理表面,無法深入理解算法在本專業(yè)的應(yīng)用場景,更難以實現(xiàn)算法在實際工程中的應(yīng)用。
動力工程計算方法通常以上機實驗作為課程的實踐部分,目的在于使學(xué)生鞏固和加深理解數(shù)值計算方法,積累計算經(jīng)驗。 學(xué)生通常需要用C 語言進(jìn)行算法的編寫。 雖然學(xué)生在大學(xué)一年級已學(xué)習(xí)C 語言編程,部分已通過計算機二級考試,但對C 語言的應(yīng)用仍然不熟練,難以實現(xiàn)算法的編寫。 此外,課程實踐教學(xué)仍以數(shù)值算法本身的編譯為主,注重算法邏輯的講解,最終通過教材習(xí)題數(shù)據(jù)進(jìn)行簡單驗證即可。 對于邏輯較復(fù)雜的算法,學(xué)生難以獨立編寫程序,只能通過給出程序模板進(jìn)行參考和模仿。 由于實踐課程無考試要求,且考慮到學(xué)生普遍較差的編程基礎(chǔ),課程期間不強制要求學(xué)生將算法編寫出來,因此大部分學(xué)生對編程興趣缺乏,上課時無所事事,往往通過課后的上網(wǎng)搜索程序來完成作業(yè),不僅沒有提升個人的編程能力,也難以達(dá)到本課程的實踐要求。
動力工程計算方法課程的核心思想在于利用計算工具求解數(shù)學(xué)問題,而解決動力工程中的實際問題是本課程的根本教學(xué)目標(biāo)。 在能源與動力工程中,不僅包含傳熱、流動等基礎(chǔ)科學(xué)問題,還包含大量工程實踐問題。 例如,在多能互補能源系統(tǒng)的設(shè)計優(yōu)化中,需要對系統(tǒng)部件建立數(shù)學(xué)模型(函數(shù)關(guān)系式)并聯(lián)立求解,涉及利用數(shù)值計算方法對復(fù)雜線性方程組進(jìn)行迭代求解;在熱力發(fā)電廠中,可以利用最小二乘法擬合發(fā)電負(fù)荷的變化,為動力系統(tǒng)的協(xié)調(diào)控制奠定基礎(chǔ)[6];在制冷系統(tǒng)的換熱器的設(shè)計中,數(shù)值積分則是相變換熱過程模型求解的最基本方式。 然而,現(xiàn)有課程教學(xué)中并未涉及各計算方法與本專業(yè)工程實際問題中的應(yīng)用。 導(dǎo)致學(xué)生對計算方法在本專業(yè)工程實踐中的應(yīng)用場景并不明確, 對計算方法的重要性并不清晰,學(xué)生學(xué)習(xí)主動性差。
在動力工程計算方法課程教學(xué)過程中,應(yīng)當(dāng)結(jié)合專業(yè)背景, 講解各數(shù)值計算方法在專業(yè)基礎(chǔ)問題求解中的應(yīng)用場景,激發(fā)學(xué)生學(xué)習(xí)動力。 例如,分析工作的熱力過程和熱力循環(huán)時, 需要確定工質(zhì)的各種熱力參數(shù)的數(shù)值,焓、熵等參數(shù)無法直接測量,要建立各參數(shù)之間的一般函數(shù)關(guān)系式, 常以微分關(guān)系式的形式表示, 這些微分關(guān)系式是研究工質(zhì)熱力性能的理論基礎(chǔ), 可以通過常微分方程的數(shù)值算法來求解。 利用伯努利方程求解流動問題往往涉及非線性方程的求解, 利用牛頓迭代法可以快速求解出高階非線性方程的根,使用計算器就可以完成工作。 流體力學(xué)中的有限元法是處理復(fù)雜邊界條件、 流動問題的重要數(shù)值計算方法,涉及插值、數(shù)值積分線性方法的迭代求解等數(shù)值方法的綜合運用。 課程例題的講解可以考慮以專業(yè)課程為背景的例題內(nèi)容, 增強計算方法與專業(yè)課程的聯(lián)系。 在考試試題中,將題干內(nèi)容設(shè)置為專業(yè)問題,增強專業(yè)問題求解代入感。 通過明確計算方法在專業(yè)基礎(chǔ)問題求解中的重要地位,激發(fā)學(xué)生對本課程內(nèi)容和本專業(yè)課程的學(xué)習(xí)興趣,通過專業(yè)問題的聯(lián)想和發(fā)散, 有利于提高課程的趣味性,提升理論教學(xué)的效果。
在課程實踐教學(xué)中,應(yīng)當(dāng)更加重視編程應(yīng)用能力的培養(yǎng)。 一方面,提倡使用更先進(jìn)的數(shù)學(xué)計算工具進(jìn)行編程,如Matlab、Python、R 等,這些計算工具的編程語言更加簡潔,編程過程更加友好和方便,便于學(xué)生快速上手使用。 這些工具已將課程中大部分?jǐn)?shù)值計算方法封裝成函數(shù)對象,經(jīng)簡單調(diào)用即可實現(xiàn)算法的運算,這可以降低復(fù)雜算法的編寫難度,提升編程效率,減少學(xué)生對編程的抵抗情緒。 另一方面,設(shè)計以本專業(yè)課程為背景的實際工程數(shù)值計算問題,讓學(xué)生根據(jù)實際問題的具體特性選擇合適的算法對問題進(jìn)行編程求解,以小組為單位,對數(shù)值算法的應(yīng)用進(jìn)行設(shè)計、編譯、調(diào)試、求解等,讓學(xué)生通過實際專業(yè)工程問題的上機計算掌握各類數(shù)值算法的數(shù)學(xué)思想,在提升實踐教學(xué)趣味性的同時,提升學(xué)生的實踐技能和編程應(yīng)用能力。 課程改革方案見圖1。
隨著我國能源智能化的高速發(fā)展,智慧能源的工程建設(shè)將越來越廣泛,動力工程計算方法課程在培養(yǎng)智慧能源工程應(yīng)用人才方面將扮演更加重要的角色。一方面,課程所學(xué)數(shù)值計算方法是當(dāng)前人工智能領(lǐng)域諸多算法的基礎(chǔ),例如,非線性方程求解中的牛頓法是大部分最優(yōu)化算法的基礎(chǔ),包括:一度奪得Kaggle比賽冠軍的Xgboost 算法, 其核心理論之一是利用二階泰勒展開使損失函數(shù)求解計算量更小、 效率更高,實質(zhì)上就是利用牛頓法對損失函數(shù)進(jìn)行最小值優(yōu)化;同時,牛頓法也是深度學(xué)習(xí)(如卷積神經(jīng)網(wǎng)絡(luò))中常用的優(yōu)化算法梯度下降、隨機梯度下降、批量梯度下降的理論基礎(chǔ)。 因此,在動力工程計算方法課程教學(xué)過程中要進(jìn)一步夯實學(xué)生數(shù)值計算方法的理論基礎(chǔ),掌握各類算法的數(shù)學(xué)思想,著重培養(yǎng)解決數(shù)學(xué)問題的思維方式。 另一方面,在理論學(xué)習(xí)的基礎(chǔ)上進(jìn)一步強化與本專業(yè)工程實際問題的聯(lián)系,強調(diào)以智慧能源工程應(yīng)用為導(dǎo)向的解決實際工程問題的能力,鼓勵學(xué)生探索數(shù)值計算—人工智能—智慧能源之間的創(chuàng)新應(yīng)用模式。 使學(xué)生在學(xué)以致用的過程中增強對課程內(nèi)容的學(xué)習(xí)興趣和學(xué)習(xí)效果。

圖1 動力工程計算方法課程教學(xué)改革方案
動力工程計算方法是一門涉及數(shù)學(xué)理論與能源動力工程應(yīng)用的交叉課程,兼具抽象性和實踐性。 隨著國家能源智慧化腳步的加快, 面對智慧能源工程應(yīng)用的需求, 以此為導(dǎo)向的課程改革需著重培養(yǎng)學(xué)生的實踐能力,強化理論知識與專業(yè)課程的關(guān)聯(lián)性、重視專業(yè)實例的啟發(fā)性、提升數(shù)值計算的實用性,從而有利于培養(yǎng)兼具創(chuàng)新性和實踐性的新一代能源動力人才。