找回密码
 注册
查看: 6096|回复: 16

附上好书一本。。。

[复制链接]
发表于 2013-5-28 12:47:37 | 显示全部楼层 |阅读模式

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

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

x

对流方程的边值处理的问题:

我在任玉新老师的讲义中看到一段话,不太明白,谁能解答吗?详细问题在附件中:M点的值不是算出来的吗,干嘛要外插得到呢?万分感谢!!!


还有一个问题,也是任老书上的,是关于MacCormack格式的,请问公式(13)是怎么来的,多多谢!!

顺便附上任老的计算流体力学基础讲义


[ 本帖最后由 tyndale315 于 2013-5-30 19:13 编辑 ]
边界数值计算。.png
mac.png
mac2.png

带目录 计算流体力学讲义(任玉新)清华大学 基础篇.pdf

2.55 MB, 下载次数: 1889

 楼主| 发表于 2013-5-30 19:17:44 | 显示全部楼层

自己顶一下。。。。

发表于 2013-5-31 08:05:59 | 显示全部楼层
帮你顶了
 楼主| 发表于 2013-5-31 11:51:06 | 显示全部楼层

谢谢了。。。

各路大神快过来啊。。。。
发表于 2013-5-31 12:14:07 | 显示全部楼层

顶顶吧

帮忙顶顶吧
发表于 2013-6-1 08:46:54 | 显示全部楼层
只看了第一个问题,关于边界条件的。我们知道差分格式是用多个点的函数值的线性组合逼近一个点处的导数值。CFD计算中必须对计算域内的每一个点都做时间推进,这样才能随着时间推进,让每一个点上的物理量都得到更新(包括边界处的点)。既然要对各个点做时间推进,就得知道各个点上的导数值。如果一个差分格式,求i点处的导数值用到的是i-1,i,i+1三个点处的函数值的话,那么对于你说的问题,计算x(M-1)处的导数值需要用的x(M-2),x(M-1)和x(M)处的函数值,这一点很容易做到。那么如果我想求x(M)的导数值怎么办?需要x(M-1),x(M),x(M+1)处的函数值!然而x(M+1)并不属于计算域内,而是在外面,也就是说x(M+1)根本不存在,更没有存储所谓的函数值!这个时候就需要用一些所谓的边界处理方法了。比如你说的零阶外推。这样就实现了"不求x(M)处的倒数,也能实现x(M)点处函数值的更新",方法就是当算出x(M-1)点上的新值时,直接把这个值也作为x(M)点上的新值。当然这是一种边界处理方法,这种方法简单,但是精度不高,所以对于一些高阶差分格式,常用的多层虚边界。不过多层虚边界的处理也是难点。

我也初学CFD,希望能共同探讨。
 楼主| 发表于 2013-6-1 14:47:51 | 显示全部楼层

回复 6# sxhqjfl 的帖子

哦,懂了。。。多谢。。。
发表于 2013-6-3 15:36:15 | 显示全部楼层


关于第二个问题,看到也没人回复,我就按照自己的想法说一下哈。

我觉得(13)式中的约等号后面的项应该这么理解:我们知道一个点处的无粘通量F或者粘性通量G都是该点处守恒变量U的函数,记作F(U)和G(U). 所以(13)式中的约等号后面的项,F后面缺少一个圆括号,这个圆括号应该将后面的中括号包括起来。意思是先用守恒变量U计算中括号里面的量,然后再通过F映射,变为对应的通量。用上述的算法来近似直接用F通量来计算(直接用F来计算就是约等号前面的项)。我目前觉得只有这样才能说得通,你觉得呢?
发表于 2013-6-4 21:45:53 | 显示全部楼层
非常感谢!
 楼主| 发表于 2013-6-5 23:48:27 | 显示全部楼层

回复。。。。

嗯,就是这样吧,原来我还以为是两者相乘呢,原来是U的函数。。。按照正确的思路简单推导了一下,
作泰勒展开如下:


结果两边相等,最后就是这个等式了。。。
多谢 。。。

[ 本帖最后由 tyndale315 于 2013-6-5 23:57 编辑 ]
无标题.jpg
发表于 2013-8-26 20:11:06 | 显示全部楼层

好东西

好东西,值得学习
发表于 2013-9-9 21:12:38 | 显示全部楼层
帮你顶了
发表于 2013-9-22 11:58:02 | 显示全部楼层

多谢楼主无私奉献

多谢楼主无私奉献
发表于 2013-9-24 22:30:01 | 显示全部楼层

回复 6# sxhqjfl 的帖子

如果是考试的话,这个回答“如果一个差分格式,求i点处的导数值用到的是i-1,i,i+1三个点处的函数值的话,那么对于你说的问题,计算x(M-1)处的导数值需要用的x(M-2),x(M-1)和x(M)处的函数值,这一点很容易做到。那么如果我想求x(M)的导数值怎么办?需要x(M-1),x(M),x(M+1)处的函数值!然而x(M+1)并不属于计算域内,而是在外面,也就是说x(M+1)根本不存在,更没有存储所谓的函数值!这个时候就需要用一些所谓的边界处理方法了。比如你说的零阶外推。”至多只能给50分,严格一点可以给0分。
    对于边界条件的给法和适定性的讨论比较复杂,但是一般都是采用线性或者拟线性篇微分方程的特征线理论来近似给出和讨论。在这里,由于这个偏微分方程是一个线性偏微分,且a是实数,因此有一条实特征线。由于扰动信息是沿特性线传播的,因此可以根据特征线来判断和给出边界条件。例如在本例中由于a>0,特征线指向右侧,因此在入口处,特征线指向流场内,意味着流场内部入口下游的信息是从入口处传入的,因此需要给一个边界条件才适定。在出口出由于特征线指向流场外部,因此意味着只有出口下游的点需要从M点得到信息,而M上游也就是流场内没有点需要从M处获得信息,也即此时M点出不能给边界条件,否则是不适定的。但是不能给边界条件只是意味着不能给物理边界条件,并不意味着M点的就不能给数值边界条件。数值边界条件是处于数值计算的需要而人为给出的边界条件。注意:在这里由于数值计算的需要,M点的数值需要外插,仅仅是数值的要求。
发表于 2013-9-25 08:03:31 | 显示全部楼层

回复 14# lwd1981 的帖子

你的答案更完备!完全同意!从物理本质上,根据特征线方向来决定信息传递方向,但是在计算中,为了考虑程序的统一性,方便性,就附上数值边界条件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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