田甜
(同濟(jì)大學(xué) 應(yīng)用力學(xué)所,上海 200092)
在使用COMSOL進(jìn)行復(fù)雜模型的模擬仿真時(shí),為實(shí)現(xiàn)幾何上的精細(xì)化建模,通常會(huì)導(dǎo)入大量外部數(shù)據(jù)至參數(shù)列表進(jìn)而創(chuàng)建幾何模型,或者采用導(dǎo)入CAD文件的形式創(chuàng)建模型。面對(duì)大量幾何數(shù)據(jù)(如創(chuàng)建成百上千個(gè)球形粒子等)時(shí),前者的操作過(guò)于繁復(fù),而后者可能會(huì)因?qū)氲母袷絾?wèn)題在網(wǎng)格劃分時(shí)出現(xiàn)不支持自相交等情況。構(gòu)建此類模型可以使用軟件內(nèi)部APP開發(fā)器中的方法模塊。方法編輯器可以通過(guò)參數(shù)化CAD模型創(chuàng)建幾何,借此提前導(dǎo)入所需要的數(shù)據(jù)。使用Java語(yǔ)言編寫方法,軟件還提供系列內(nèi)置工具,見圖1。
圖 1 編輯器工具
在編輯工具欄通過(guò)選擇GUI命令可以直接在方法中添加相應(yīng)語(yǔ)句,也可以通過(guò)選擇模型組件等得到該部分的定位位置,便于編譯方法。例如上述提到的球形粒子的幾何建立,只需調(diào)取數(shù)據(jù)文件,從中獲得每個(gè)球的邊界定位坐標(biāo)xmin、xmax、ymin、ymax、zmin、zmax,在方法中添加創(chuàng)建幾何命令至指定幾何位置;為方便網(wǎng)格劃分,也可以在方法中添加判斷語(yǔ)句,對(duì)幾何邊界進(jìn)行處理;在模型開發(fā)器中直接調(diào)用方法,即可得到幾何模型。對(duì)于有大量原始數(shù)據(jù)的模型,該方法能迅速構(gòu)建幾何,且只需調(diào)整原始數(shù)據(jù),再次調(diào)用方法即可改變幾何。圖2為讀取數(shù)據(jù)的代碼示范。
圖 2 讀取數(shù)據(jù)的代碼示范
除前處理中方法編輯器的使用外,還可以使用表單編輯器對(duì)參數(shù)和變量進(jìn)行分析和處理,包含多個(gè)圖形窗口,能顯示交互式三維圖形等。
當(dāng)求解模型有多個(gè)物理場(chǎng)接口,甚至用到多物理場(chǎng)耦合時(shí),對(duì)模型進(jìn)行瞬態(tài)求解所需的時(shí)間一般較長(zhǎng)。COMSOL中自帶的瞬態(tài)求解器使用迭代方式,可以在瞬態(tài)求解器中改為全耦合,使計(jì)算速度更快。如圖3所示,非線性方法設(shè)置為恒定(牛頓),阻尼系數(shù)為1,用最小雅可比矩陣更新和容差終止,最大迭代次數(shù)為4,容差因子數(shù)為1。此外針對(duì)模型特性不隨著時(shí)間改變的模型,可以更多采用穩(wěn)態(tài)求解器,其計(jì)算速度也大于對(duì)模型的瞬態(tài)求解。
理論上,不同求解器得到的結(jié)果有少許精度差異,但選擇合適的求解器可以大大減少模型的計(jì)算速度,并且在工程計(jì)算中只要結(jié)果收斂,求解器之間的差距并不大。
圖 3 瞬態(tài)求解器
當(dāng)所要求解的模型在長(zhǎng)時(shí)間步后不收斂時(shí),如電池放電超過(guò)截止電壓時(shí),可以通過(guò)調(diào)整求解器計(jì)算。在組件中插入探針,方便實(shí)時(shí)觀測(cè)計(jì)算結(jié)果,在求解器中對(duì)需要監(jiān)控的變量設(shè)置終止條件,見圖4。注意,終止條件的表達(dá)式要完整寫出變量名稱,局部變量要在表達(dá)式中添加其所在位置。
圖 4 設(shè)置終止條件
在進(jìn)行鋰電池模型仿真時(shí),也容易在瞬態(tài)求解時(shí)得到不收斂的結(jié)果。這很可能是初始值不合理,可以在瞬態(tài)求解前進(jìn)行電流分布初始化的操作。
在對(duì)模型進(jìn)行瞬態(tài)研究時(shí),常希望能得到模型某個(gè)特殊位置上隨時(shí)間改變的物理量數(shù)據(jù),可以通過(guò)提前添加探針實(shí)現(xiàn)。探針有域探針、邊界探針、邊探針、域點(diǎn)探針、邊界點(diǎn)探針和全局變量探針等。全局變量探針是最常用的一種探針,可以通過(guò)對(duì)特殊標(biāo)記點(diǎn)添加全局變量探針,并更改其表達(dá)式,從而獲得該點(diǎn)變量隨時(shí)間變化的曲線和相關(guān)數(shù)據(jù)。如圖5所示,表達(dá)式可以通過(guò)右上角的工具箱查詢,以此得到相應(yīng)物理場(chǎng)的物理量。
探針圖表會(huì)隨著計(jì)算進(jìn)程一同繪制,計(jì)算完成后也可在結(jié)果欄中查詢。探針圖表的數(shù)據(jù)也會(huì)出現(xiàn)在數(shù)據(jù)欄中,方便進(jìn)一步結(jié)果后處理中的取用。添加一維繪圖并選取探針數(shù)據(jù)后,還可以利用軟件內(nèi)置工具進(jìn)行頻譜變換和x、y軸的線性單元預(yù)處理。
圖 5 全局變量探針
通常,在模型的瞬態(tài)求解后,若要以動(dòng)畫形式展示模擬結(jié)果,可以在后處理的“結(jié)果”模塊進(jìn)行相應(yīng)設(shè)置。添加動(dòng)畫指令后,可以選擇導(dǎo)出文件或者播放器預(yù)覽,目標(biāo)結(jié)果展示基于物理場(chǎng)的選擇,可以在工具欄模型樹中選擇方程視圖查看變量。動(dòng)畫中采取的數(shù)據(jù)集通常在默認(rèn)計(jì)算的結(jié)果里,如果想自定義數(shù)據(jù)集,應(yīng)當(dāng)提前添加相應(yīng)的物理場(chǎng)并在結(jié)果欄中進(jìn)行查看,相關(guān)設(shè)置見圖6。
圖 6 自定義數(shù)據(jù)集的設(shè)置
在動(dòng)畫編輯選項(xiàng)中,可使用動(dòng)態(tài)數(shù)據(jù)擴(kuò)展實(shí)現(xiàn)全諧波、半諧波或線性單元循環(huán),更常用的是取用儲(chǔ)存的解進(jìn)行時(shí)間或所有解上的循環(huán),并仍可對(duì)循環(huán)量進(jìn)行改動(dòng)、刪減。此外,還可對(duì)動(dòng)畫進(jìn)行幀數(shù)和每幀顯示時(shí)間的設(shè)置,以達(dá)到更好的展示效果。
選擇目標(biāo)文件,即可導(dǎo)出演示動(dòng)畫,軟件提供格式有GIF、Flash、AVI、WebM,窗口大小和圖例布局等也可在相應(yīng)指令框中進(jìn)行設(shè)置。
(摘自同濟(jì)大學(xué)鄭百林教授《CAE操作技能與實(shí)踐》課堂講義)