找回密码
 注册
查看: 10827|回复: 30

有限体积法编程

[复制链接]
发表于 2004-9-21 16:56:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
接触计算流体力学已经有一段时间,本意是想用有限体积法进行洪水溃坝的模拟计算。虽然看了不少资料,但当真正编起程序来,困难还真不少。我想主要原因还是没有真正弄懂是怎么回事。不知道各位高手可不可以帮助我一下。我想使用Ming Hseng Tseng 在《The simulation of dam-break fows by an improved predictor-corrector TVD scheme》中提到的预测-校正TVD方法来做。(其实,用什么无所谓,只要能作出来就行,只不过我这里正好有这篇文章。还有一篇与之类似的中文)。现在主要问题是没有搞懂那个二维浅水方程到底怎么求解。求解步骤是什么。编程时需要设置什么初始条件。不知道有没有人
可以帮助我。什么方式都可以。我的联系方式zbdllg@sohu.com.
发表于 2004-9-23 15:47:08 | 显示全部楼层

有限体积法编程

老大,你是揽了个苦差事,没有老板创造条件和积累是很难的。看看谭维炎清华版的书《计算浅水动力学-有限体积法的应用》吧,现在仅仅从文献出发,自己写code作一个新的领域是很难的。
发表于 2004-9-23 16:01:45 | 显示全部楼层

有限体积法编程

我本人现在就是在弄这东西,可也没有弄懂。同病相怜啊。谭维炎的书根本就不能看出什么东西来。
发表于 2004-9-27 10:53:10 | 显示全部楼层

有限体积法编程

看看这篇文章会不会对你有所启发。
发表于 2004-9-27 16:34:45 | 显示全部楼层

有限体积法编程


谭维炎的书属于和他同等水平的人才能看懂的东西,对刚开始编程的人没什么帮助
建议作者看看文献,有些国外的文献还是介绍的很详细的。asce j hydr. engrg.有许多
发表于 2004-9-27 20:00:30 | 显示全部楼层

有限体积法编程

我也在搞这个方面呀~~,感觉现在有限体积法还是很多人用的!
对了,请问大家,为什么有限体积求解数值通量时,可以把它看作黎曼问题来求解?
发表于 2004-9-27 22:15:56 | 显示全部楼层

有限体积法编程

前辈:我是刚刚接触fluent,能否指点一些入门之路,比如中文资料、有关书籍......不胜感激!
发表于 2004-9-29 13:58:34 | 显示全部楼层

有限体积法编程

    如果采用矩形网格,你可以采用dimension by dimension的方法求解二维问题,就是把原方程作为两个一维方程分别逼近x和y方向的流通量。这样的话,实际上就是一维问题。   
    初始条件Tseng的文章应该都给的,你看得不仔细吧?
发表于 2004-9-29 14:04:22 | 显示全部楼层

有限体积法编程

下面引用由ajww2004/09/27 08:00pm 发表的内容:
我也在搞这个方面呀~~,感觉现在有限体积法还是很多人用的!
对了,请问大家,为什么有限体积求解数值通量时,可以把它看作黎曼问题来求解?
to ajww: 有限体积的思想就是利用分段常数逼近方程的解,因此实际上就是求解Riemann问题: 利用单元边界两边的常数值构造点值,从而求得数值流通量。其中的流体量函数必须满足单调性,相容性和Lip连续性。
 楼主| 发表于 2004-9-30 13:43:34 | 显示全部楼层

有限体积法编程

非常同意“射天狼”的发言,照着paper编代码,没有前人的积累,确实!!!!#¥%¥#%。实在没法形容。
不知道那位能帮我找到Tseng的另一篇文章Tseng M H. Two-dimensional shallow water flows simulation using TVD-MacCormack Scheme. Journal of Hydraulics Research. 2000,38(2):123-131
我想它们是应该互相补充的。兄弟我这里暂时谢过了。
发表于 2004-9-30 16:08:55 | 显示全部楼层

有限体积法编程

把基本算法流程搞清,先捡简单的情况编(比如1D,迎风差分,显示Euler推进),然后再扩展到复杂点(多维,TVD,多步龙格库塔积分/隐式积分)
先编个1D的,基本流程就是差不多
1 画网格,存好cell-center坐标和每个cell界面坐标
2 初始化,就是对流场数组设置初值
3 时间推进指定步数,或者推进倒指定条件
  3.0 设置边界条件
  3.1 对每个cell界面遍历,
      根据界面两侧的cell内的变量计算该界面上的数值通量
      将数值通量累计到各个cell的变化量中
  3.2 根据计算得到cell变化量更新cell内的值
  3.3 判断是否需要输出和结束计算,然后回到3.0进行下一步推进
发表于 2004-9-30 16:37:11 | 显示全部楼层

有限体积法编程

偶也在做,很头疼啊
发表于 2004-10-1 16:33:38 | 显示全部楼层

有限体积法编程

不知谭维炎老师有没有亲自编过程序,感觉他讲的比较粗略。
发表于 2004-10-6 20:44:49 | 显示全部楼层

有限体积法编程

偶已经做到拼接了
发表于 2004-10-10 10:52:21 | 显示全部楼层

有限体积法编程

哪位大虾能发个原代码啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表