涡量方程求解(vorticity)

哔哩哔哩   2023-08-06 22:41:10

1.方程推导


(资料图片)

亥姆霍兹涡量方程(Helmholtz Vorticity Equation)的推导可见参考文献[1,2],这里仅给出方程的形式。

2.数值方法

在求解涡量方程时本文选择周期边界条件,因此使用雅各比迭代收敛速度慢,多网格和广义最小残差等求解时双周期边界问题时并不方便,因此这里我们采用谱方法进行求解。

在谱方法中对目标函数求导是借由对 \delta 函数的插值函数求导在与目标函数线性迭加得到的。因此这里我们给出插值函数与一,二阶导数关系式。

插值函数

求导矩阵

这里我们以一阶导数为例:

一阶导数

二阶导数

3.方程化简

本文使用ndfrid函数构建二维网格,因此行表示x,列表示y。故将HV方程写为如下形式

具体堆到过程和函数可参考文献3。

4.初始条件和运行结果

Omega=1*sin(pi*(X-x1)/(x2-x1)).^1.*sin(pi*(Y-y1)/((y2-y1))).^15;

6.总结

笔者针对谱方法进行简单的学习,仅仅处于了解情况。若对谱方法感兴趣的同学请参考“Matlab微分方程高效解法:谱方法原理与实现”一书,其中含有不少例题和相关代码非常适合初学者学习。本文代码则是参考书中第四章代码完成。或者有想读英文的同学也可参考文献4一书,里面更加丰富的例题。

参考文献

1. /p/645998782

2. /p/416872063

3. Matlab微分方程高效解法:谱方法原理与实现;第四章

Methods in MATLAB   by:Trefethen

推荐