涡量方程求解(vorticity)
2023-08-06 22:18:21 来源:哔哩哔哩
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
标签: