3.3.2 二维浅水方程组
浅水方程描述了具有自由表面、密度均匀、深度较浅的液体在重力作用下的流动过程,用于研究潮波和河流,具体形式如下:

其中,η代表水深,t为时间,x和y是水平面上的坐标,u、v是x和y方向上的流速,g为重力加速度。对方程组(3-34)的等号两边做x-y空间上的二维傅里叶变换,得到偏微分方程组:

取g=1,初始条件为η(x,y,0)=0.1·exp(x2/10y2/10)+0.1和u(x,y,0)=v(x,y,0)=0,用傅里叶谱方法计算上述方程的代码如下:
程序3-7
主程序代码如下:
(https://www.daowen.com)
文件shallow_water.m代码如下:


程序输出结果如图3-9所示,从t=0时刻开始,一个三维高斯形水柱在重力的作用下坍塌,并激起了向四周传播的圆形水波。

图3-9 浅水方程的计算结果