自学了SMS-FESWMS几个月,从其原理到具体应用都已经比较熟悉。感觉这个软件还是有许多不足,这也是需要进一步提高和改进的地方。下面谈谈自己的一些感受和体会。
首先,对一些比较简单的模型,软件的计算精度,特别是水流模拟的精度还是可以保证的,但前提是需要对一些关键影响参数进行合理设置,如糙率、涡粘系数(特别对于存在回流的情况)等。对于泥沙模拟,该模型仅能较好的考虑入口清水及平衡输沙(也即保证入口处不发生冲淤)的情况,另外,模型提供了多个平衡挟沙经验公式,如熟知的Meyer-Peter-Muller公式、Laursen公式、Ackers-White公式等,选择公式时应注意各公式适用的粒径范围等,如M-P-M公式可以考虑粒径较粗的卵石河床情况,其适用的粒径变化范围也较大;而Laursen公式的适用粒径范围就较小,一般适用于沙及细卵石河床情况。泥沙模拟的工况验证得不多,整体上来讲,在参数合理取值的情况下,泥沙模拟能得到定性合理、定量接近的计算结果;
其次,对于实际河道而言,情况就复杂得多,软件的稳定性成为特别关键的问题。首先对于实际高程点,一般高程较高的点如果不必要,就尽量不要考虑,因为如果计算水位低于节点高程,就会出现单元干湿的问题,单元干湿问题的处理是平面二维数学模型中是一个比较关键的问题,国内取得了不少好的成果,如何少苓提出的窄缝法等,而在FESWMS模型中,主要提出了一个河床存储系数的概念。简单来说,就是让相邻时间步的单元干湿变化不那么剧烈,从而保证计算的稳定。在FESWMS模型中,虽然可以通过自动的Steering/Spin down功能解决水位较低的问题,但从应用效果来看,如果水位与河床高程相差较大,该功能很难最终收敛到目标水位值。另外,单元干湿参数的设置,在材料设置和模型控制中都有出现,材料设置中如果设置干湿参数值,则会覆盖模型控制中的相应参数。在模型控制中,需设置默认存储深度及干燥深度限值,同时打开干湿开关,默认存储深度取0.1~3ft不等。综上,从稳定性角度来讲,尽量将河床高程调低,可保证计算的稳定性,否则,模型将很难计算。对于实际河道的水流计算,在保证稳定性和合理参数取值的条件下,一般都能定性合理的结果,如果要从定量上考虑,则需要进行大量的模型验证,包括参数的反复调试等,过程是比较繁杂的。对泥沙计算而言,要想得到与实测数据符合的结果,估计是比较困难的,首先,SMS的泥沙入口边界问题尚未得到很好解决,无法给定入口含沙量条件;其次,上述平衡输沙公式的适用性问题,特别是用于长江、黄河等国内河流时能否反映实际,这是比较困难的。
软件进一步改进的建议:
1、将k-ε紊流模型等引入到软件中去,这样涡粘系数的取值可以不用手动设定,而可以直接根据湍流动能及耗散率确定,这也是目前平面二维水流模型的主流方法;
2、改进干湿边界变化的处理,引入更为合理的计算方法,感觉这方面的处理最为关键;
3、对泥沙模型的源代码进行大量的完善修改,一方面充分考虑入口泥沙边界,另一方面,考虑增加更多地更为合理的平衡输沙公式。
〔转自:http://blog.sina.com.cn/s/blog_5ffd41cf01019e9e.html〕
转载:SMS软件FESWMS模型使用体会的更多相关文章
-
CMM:软件成熟度模型
周末在家闲来无事,泡咖啡看书,正好看到了关于CMM的相关资料,分享出来,也当做学习笔记... 一.CMM简介 CMM,英文全称为Capability Maturity Model for Softwa ...
-
[转载]sklearn多分类模型
[转载]sklearn多分类模型 这篇文章很好地说明了利用sklearn解决多分类问题时的implement层面的内容:https://www.jianshu.com/p/b2c95f13a9ae.我 ...
-
[转载]OSI七层模型详解
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...
-
[转载] Cassandra入门 框架模型 总结
转载自http://asyty.iteye.com/blog/1202072 一.Cassandra框架二.Cassandra数据模型 Colum / Colum Family, SuperColum ...
-
[转载]mac软件
效率之王:Afred小帽子:通过前人的配置,替代掉了 有道词典.发音工具.开关机.快速搜索.地图.Spotlight等应用. 主力编辑器:Atom因为高颜值.强大的插件和预览功能 取代了之前的subl ...
-
【转载】使用事件模型 &; libev学习
参考这篇文章: http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/ 这里面使用的是 libev ,不是libevent Nodejs就是采用 ...
-
【转载】高性能IO模型浅析
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking IO):默认创建的s ...
-
转载 用ShadowVolume画模型的影子
阅读目录(Content) Shadow Volume 包围盒 动态生成包围盒 判断 多光源下的阴影 总结 问题 CSharpGL(48)用ShadowVolume画模型的影子 回到顶部(go to ...
-
【转载】CSS 盒子模型
转处:http://www.cnblogs.com/sunyunh/archive/2012/09/01/2666841.html 说在Web世界里(特别是页面布局),Box Model无处不在.下面 ...
随机推荐
-
Toad各版本所包含的组件
Toad for Oracle Base Edition Toad for Oracle Knowledge Xpert for PL/SQL Knowledge Xpert for Oracle A ...
-
OpenCv haar+SVM训练的xml检测人头位置
注意:opencv-2.4.10 #include "stdio.h"#include "string.h"#include "iostream&qu ...
-
比较 http连接 vs socket连接
http连接 :短连接,客户端,服务器三次握手建立连接,服务器响应返回信息,连接关闭,一次性的socket连接:长连接,客户端,服务器三次握手建立连接不中断(通过ip地址端口号定位进程)及时通讯,客户 ...
-
super()和this()的区别
1)调用super()必须写在子类构造方法的第一行,否则编译不通过.每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错. 2)supe ...
-
[整理]android中几种常见的尺寸
获取屏幕宽高尺寸的三种代码形式 在Android上,目前我知道的获取屏幕尺寸的方法有三种不同的代码形式 方法1.在Activity中最常见的调用方式 WindowManager windowManag ...
-
K线指标线计算方法
指标线计算方法 l dataDR = Kdata(原始数据)/dr(除权) //除权数据等于原始数据除以DR(除权) 其中,日K数据 需要本地进行除权处理.周K和月K的旧数据部分由服务器进行处理 ...
-
HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544
//代码: //方法1:Dijkstra's Algorithm #include<stdio.h> #include<math.h> #include<string.h ...
-
Signed comparison in Verilog
Signed comparison in Verilog¶ When you write this in Verilog: wire [7:0] a; wire [7:0] b; wire less; ...
-
zookeeper curator选主(Leader)
在分布式系统设计中,选主是一个常见的场景.选主是一个这样的过程,通过选主,主节点被选择出来控制其他节点或者是分配任务. 选主算法要满足的几个特征: 1)各个节点均衡的获得成为主节点的权利,一旦主节点被 ...
-
关于React中状态保存的研究
在使用react搭配react-router做应用的时候,你可能遇到这样的问题,当我从第一个页面过渡到第二个页面,然后返回之后,发现之前的页面的状态全部不见了,即回到了初始的状态. 这点在页面存在多个 ...