mastergxm 发表于 2013-3-23 09:40:37

这样计算水位为何不行?

二维模型里常用ADI法求解水位,但是我自己也尝试了一种方法,就是其它项都用显格式,水位梯度项就隐式,然后将用未知水位表示的u和v代入到水位方程里,得到一个关于水位的五对角线性方程组,如下图所示,
里面的五个未知水位就是网格的四个相邻网格的水位。
我模拟了一个矩形水池,上面有一个风场,然后计算水位后得到的结果就是如下示所示,发现水池四边上的网格水位会下降,四个角上的水位下降得更厉害,检查了其它部分的代码,都没有问题。就怀疑是不是这种解水位的方法不行?但是又找不到原因,个人觉得理论上没有问题呀。高手可否指点一下?
第2个图是从CVF里查看到的存储水位这个数组的值。中间红色那部分的值是我设置的初始水位。可以看到四边的水位在不断地下降。

[ 本帖最后由 mastergxm 于 2013-3-23 09:43 编辑 ]

mastergxm 发表于 2013-3-29 16:48:44

回复 1# mastergxm 的帖子

找到原因了,公式推导时有几个符号弄错了

a2883524 发表于 2013-3-30 08:53:02

:) 推公式编程序就是这样一个过程,恭喜调试成功。

mastergxm 发表于 2013-3-30 08:59:49

回复 3# a2883524 的帖子

这个过程虽然艰苦,但是成功后的喜悦还是最吸引人的。
页: [1]
查看完整版本: 这样计算水位为何不行?