自学了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模型使用体会的更多相关文章

  1. CMM:软件成熟度模型

    周末在家闲来无事,泡咖啡看书,正好看到了关于CMM的相关资料,分享出来,也当做学习笔记... 一.CMM简介 CMM,英文全称为Capability Maturity Model for Softwa ...

  2. [转载]sklearn多分类模型

    [转载]sklearn多分类模型 这篇文章很好地说明了利用sklearn解决多分类问题时的implement层面的内容:https://www.jianshu.com/p/b2c95f13a9ae.我 ...

  3. [转载]OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

  4. [转载] Cassandra入门 框架模型 总结

    转载自http://asyty.iteye.com/blog/1202072 一.Cassandra框架二.Cassandra数据模型 Colum / Colum Family, SuperColum ...

  5. [转载]mac软件

    效率之王:Afred小帽子:通过前人的配置,替代掉了 有道词典.发音工具.开关机.快速搜索.地图.Spotlight等应用. 主力编辑器:Atom因为高颜值.强大的插件和预览功能 取代了之前的subl ...

  6. 【转载】使用事件模型 & libev学习

    参考这篇文章: http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/ 这里面使用的是 libev ,不是libevent Nodejs就是采用 ...

  7. 【转载】高性能IO模型浅析

    服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking IO):默认创建的s ...

  8. 转载 用ShadowVolume画模型的影子

    阅读目录(Content) Shadow Volume 包围盒 动态生成包围盒 判断 多光源下的阴影 总结 问题 CSharpGL(48)用ShadowVolume画模型的影子 回到顶部(go to ...

  9. 【转载】CSS 盒子模型

    转处:http://www.cnblogs.com/sunyunh/archive/2012/09/01/2666841.html 说在Web世界里(特别是页面布局),Box Model无处不在.下面 ...

随机推荐

  1. [DHTML]什么是DHTML?

    DHTML 将 HTML.JavaScript.DOM 以及 CSS 组合在一起,用于创造动态性更强的网页. DHTML 总结 DHTML 只是一个术语,它描述了 HTML.JavaScript.DO ...

  2. IntelliJ IDEA 注册码

    IntelliJ IDEA 注册码 *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务器,教程在http ...

  3. iOS开发之检查更新

    iOS设备检查更新版本: #pragma mark - 检查更新 - (void)checkUpdateWithAPPID:(NSString *)APPID { //获取当前应用版本号 NSDict ...

  4. jquery validate.addMethod 正则表达式

    $(document).ready(function () { /* 设置默认属性 */ $.validator.setDefaults( { submitHandler: function (for ...

  5. .nil? .empty? .blank? .present? in Ruby on Rails

    We get confused when there are many options to choose from. Same is the case when it comes to use an ...

  6. [ActionScript3.0] 为内建类添加方法

    通过使用prototype在继承内建类特性的同时加入新方法 Array.prototype.removeElement = function (item:*):void { var index:int ...

  7. LeetCode 67. Add Binary

    Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...

  8. .net中三种数据类型转换区别((int),Int32.Parse() 和 Convert.toInt32() )

    (typename)valuename,是通用方法: Convert类提供了灵活的类型转换封装: Parse方法,适用于向数字类型的转换. 例如,(int),Int32.Parse() 和 Conve ...

  9. HDU1269 迷宫城堡(裸强连通分量)

    Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A ...

  10. Machine Schedule(最小覆盖)

    其实也是个最小覆盖问题 关于最小覆盖http://blog.csdn.net/u014665013/article/details/49870029 Description As we all kno ...