渦量方程求解(vorticity)
1.方程推導(dǎo)
????亥姆霍茲渦量方程(Helmholtz Vorticity Equation)的推導(dǎo)可見參考文獻(xiàn)[1,2],這里僅給出方程的形式。

2.數(shù)值方法
????在求解渦量方程時本文選擇周期邊界條件,因此使用雅各比迭代收斂速度慢,多網(wǎng)格和廣義最小殘差等求解時雙周期邊界問題時并不方便,因此這里我們采用譜方法進(jìn)行求解。
????在譜方法中對目標(biāo)函數(shù)求導(dǎo)是借由對 \delta 函數(shù)的插值函數(shù)求導(dǎo)在與目標(biāo)函數(shù)線性迭加得到的。因此這里我們給出插值函數(shù)與一,二階導(dǎo)數(shù)關(guān)系式。
插值函數(shù)

求導(dǎo)矩陣
這里我們以一階導(dǎo)數(shù)為例:

一階導(dǎo)數(shù)

二階導(dǎo)數(shù)

3.方程化簡
本文使用ndfrid函數(shù)構(gòu)建二維網(wǎng)格,因此行表示x,列表示y。故將HV方程寫為如下形式

????具體堆到過程和函數(shù)可參考文獻(xiàn)3。
4.初始條件和運(yùn)行結(jié)果
????Omega=1*sin(pi*(X-x1)/(x2-x1)).^1.*sin(pi*(Y-y1)/((y2-y1))).^15;




6.總結(jié)
????筆者針對譜方法進(jìn)行簡單的學(xué)習(xí),僅僅處于了解情況。若對譜方法感興趣的同學(xué)請參考“Matlab微分方程高效解法:譜方法原理與實(shí)現(xiàn)”一書,其中含有不少例題和相關(guān)代碼非常適合初學(xué)者學(xué)習(xí)。本文代碼則是參考書中第四章代碼完成。或者有想讀英文的同學(xué)也可參考文獻(xiàn)4一書,里面更加豐富的例題。

參考文獻(xiàn)
1.?https://zhuanlan.zhihu.com/p/645998782
2.?https://zhuanlan.zhihu.com/p/416872063
3. Matlab微分方程高效解法:譜方法原理與實(shí)現(xiàn);第四章
4.Spectral Methods in MATLAB? ?by:Trefethen