24小时热门版块排行榜    

查看: 3924  |  回复: 25
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ashzing

银虫 (初入文坛)

[交流] LBM方法演化控制方程是否应该考虑外力项?已有5人参与

查阅了一些常见的LBM代码,其中演化方程:
f=f+tau*(feq-f)
其中tau为弛豫时间,feq为稳态分布函数

然而在一个poiseuille流的模拟代码中,采用的演化方程考虑了外力项:
f=f+tau*(feq-f)+dt*F
其中F为外力

考虑外力项对最终模拟计算的结果有怎样的影响呢?何时要考虑呢?

本人LBM新手,希望与这方面的朋友相互交流讨论(QQ 2241790403)
回复此楼

» 收录本帖的淘贴专辑推荐

资源收集 科研路上必备

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

我低头沉默但坚定!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by 孤独的漫步 at 2014-10-16 21:35:12
那个Poiseuille流加外力项,好像只有在用周期性边界的时候才会这样处理
模拟的时候,对应实际流场有外力就加外力项,没有就不加咯~~~

非常感谢您的回复
另请问:在该Poiseuille流的模拟中采用 f=f+tau*(feq-f)+dt*F 的LBM作用力模型
而在[Zou and He, On pressure and velocity flow boundary conditions for the lattice Boltzmann BGK model]一文中,似乎并没有涉及到LBM作用力模型,而是采用了所谓的d2q9i模型区别于传统的d2q9模型,即修正了平衡态函数的形式。
在具体进行Poiseuille流的LBM模拟时,究竟采取怎样的演化方程/平衡分布/边界条件呢?
我低头沉默但坚定!
3楼2014-10-20 15:03:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

送红花一朵
引用回帖:
4楼: Originally posted by 孤独的漫步 at 2014-10-25 22:30:58
你说的那是Zou/He速度压力边界吧,那是用于处理已知进(出)口密度(即压力)或者速度而采取的边界处理形式。
按我的理解 ,压力边界和外力项是统一的,即知道进出口压差,可以转化为外力加到演化方程里面去。
...

非常感谢您的回复

lz是新手,估计要长期使用LBM,主要希望通过学习这个边界条件加深LBM的了解。
您的理解是否是以下两种二选一:
(1)采用外力项模型直接修正离散控制方程,采用普通的边界条件
(2)采用无外力项的离散控制方程,但边界条件采用Zou/He边界
a)目前依然在艰难摸索(2)中,已知流体进出口密度进行计算,并且在进出口均采用了Zou/He边界,同时假设进出口Y方向的速度均为零,不知在出口这样处理是否合适?
b)初始化时需要计算弛豫时间tau,通常tau是利用动力粘度niu=L*U0/Re得到的,但对于Zou/He密度(压力)边界,U0未知,是否是需要利用进出口密度差计算压力差G,再利用G求出动力粘度niu?
c)关于LBM计算流程的困惑,之前看过的几个算例都是遵循:迁移并碰撞→边界处理→计算宏观量 的步骤,也有:迁移→边界处理→碰撞→计算宏观量 ,其中计算宏观量这一步是否需要在边界上进行?对于Zou/He密度(压力)边界,在边界处理的过程中就能得到进出口边界上X方向的速度,那应该采用哪种计算流程呢?目前始终无法得到结果,怀疑在这一块我的代码也有问题。

困惑较多,望不吝赐教!
我低头沉默但坚定!
5楼2014-10-26 10:41:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
6楼: Originally posted by 孤独的漫步 at 2014-10-26 20:42:48
其实我也算刚刚入门,咱算是相互探讨吧~

第一,纠正一些认识上的错误,(1)中,LB演化方程中添加外力项并非为“修正”演化方程,事实上,格子Boltzmann-BGK方程是含外力项的,实际计算中考虑有无外力而决定 ...

非常感谢您的回复

“第一,纠正一些认识上的错误...”
明白您的意思。同时,就(1)和(2)还需根据具体研究的问题进行选择。感觉Zou/He边界条件的适用范围并不广?

“第二,你所说的已知进出口密度...”
总结:
(1)密度(压力)边界条件:已知参数为进出口密度rou_in,rou_out,初始密度rou0=1/2(rou_in+rou_out),并假设初始速度V0=0,雷诺数Re
(2)速度边界条件:已知参数为进出口最大速度V0_in,V0_out,初始密度rou0,雷诺数Re
对于(1)我已经有大致思路。对于(2)细节处还有困惑,如:
a)[Zou/He文献]中所讲需要根据Poiseuille流的NS方程解析解形式给定入口处的y方向速度分布,也即Vx=V0(1-y^2/R^2),那这样的话用LBM模拟Poiseuille流意义在哪?
b)全场初始化需要初始密度(已定为rou0)和初始速度,那么初始速度该如何确定?1/2(V0_in+V0_out)?

“第三,个人感觉,在验证程序可行性时...”
“第四,Zou/He边界处理格式得到的是...”
这里困惑最多,如您所述tau对程序的稳定性有着决定性的影响。
根据LBM相关教材,tau=3*niu+0.5,需先计算获得niu值,对于简单的方腔驱动流LBM算例,这样的做法获得了良好的结果。
参考[Zou/He文献],如果采用密度(压力)边界条件,入口速度U0未知,也即niu值未知,需利用进出口密度差计算压力差G,再利用G求出niu,这里同样利用了Poiseuille流的NS方程解析解形式建立G和niu的关系,如我之前所讲,把NS方程解析解拿到LBM里边来用,这样LBM的意义在哪?
您所说的直接取tau=1.0,忽略了tau与已知参量的关系,这样的做法对结果是否有影响?
对于稳定性不佳的情况,获得的结果(取error值最小的时候),是否还有意义?

“第五,关于LBM的计算步骤...”
这一块的问题也是在尝试LBM模拟Poiseuille流时发现的。对于Zou/He边界条件,显然在同一时步中,边界处理应位于迁移过程之后,但在碰撞过程前和后是否有区别?因在边界处理的时候已经得到了边界的速度与分布函数,这些值是否直接看作是碰撞之后的值?还是视为迁移后碰撞前的值,再参与统一的碰撞过程的计算?我在计算中发现似乎是只能将边界处理放在迁移碰撞之后,否则程序不稳定(当然也可能是其他原因导致)。
至于我说的第二种情况来自于我看到的一个个人分享的方腔驱动流LBM算例,作者把何雅玲老师书后的那个代码做了修改,采用迁移-边界处理-计算宏观量-碰撞的步骤。但在碰撞中仅处理非边界的节点。而边界处理时又需要用到相邻的内部节点的分布函数,因此这一块我有些困惑,究竟边界处理与碰撞过程的先后次序怎么安排?似乎同样代码,不同的次序并不都能得到结果。

“第六,不知LZ参考的哪本教材...”
目前用的就是[格子Boltzmann方法的理论及应用,何雅玲 王勇 李庆 编著]一书。
我低头沉默但坚定!
7楼2014-10-27 13:48:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
8楼: Originally posted by 孤独的漫步 at 2014-10-27 15:58:42
1)Zou/He用于处理已知速度/压力,基本上管道流动的进出口一般都可以已知其中之一,所以说Zou/He边界的应用还是很广泛的;
2)LBM下的模拟,参数都是无量纲化,或者单位为“1”的,与实际物理单位之间需要转换。再 ...

非常感谢您的回答

(1)关于我所说的 根据NS方程解析解的形式进行边界初始化赋值 一点,困惑在于把所需求解的问题的理论结果用到这个问题的数值计算中,是否合理?或者更根本的,LBM的出发点是用描述分布函数的演化规律,本质上应该是能模拟所有微尺度或宏观尺度的流体流动过程,而不需要任何假设条件的。
我今后的学习可能要涉及到一些非常规的流动过程,比如非线性流体,按照上述的说法,LBM应该也是适用的!?

(2)关于LBM步骤一问,“迁移-边界处理-计算宏观量-碰撞”与“碰撞-迁移-边界处理-计算宏观量”的确是同一循环过程,我的疑问在于,在碰撞处理的时候,是对全场(包括边界)进行,还是只对内部(非边界)进行,这两种的结果是不一样的,并且具体计算的时候前一种做法并不好。计算宏观量这一步亦然。

(3)对于稳定性不佳的情况,获得的结果(取error值最小的时候),是否还有意义?
代码中我选择输出每一时步计算得到的全场流速(已经运算了一定的次数),但由于程序是不稳定的,最后不能收敛,那我选择error值最小的那一个结果,是否还能代表全场的流速分布?
我低头沉默但坚定!
9楼2014-10-28 16:09:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
10楼: Originally posted by 孤独的漫步 at 2014-10-28 22:15:06
1)不知你所说的"不需要任何假设条件",具体是什么;
其次,LBM是一种模拟手段,所谓模拟,一般就是用来验证的(要靠其发现新现象,可能性应该比较小?)
最后,LBM并非是要利用宏观方程的解析解获得最 ...

非常感谢您的回复

(1)“不需要任何假设条件,具体是什么”
N-S方程需建立在宏观连续流体的假设上;分子动力学模拟出发点则是最基本的运动定律,因而理论上可以模拟一切流体流动过程;LBM如何?

(2)“如果给定进口等速度(区别于抛物线状速度),一段管长后,速度场仍会形成抛物线状”
豁然开朗

(3)“边界处是否参与碰撞与边界处理格式有关”
有待尝试

(4)对于变化的边界,如压力边界中压强p=p0·sin(wt),处理的思路如何?
是取幅值还是将p也离散化,那p离散化后时间步长该如何处理?
我低头沉默但坚定!
11楼2014-10-29 10:18:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
12楼: Originally posted by 孤独的漫步 at 2014-11-04 19:15:28
1)据我目前的了解,a.大马赫数情况下;b.考虑可压条件下(目前这个貌似有北大力学所的老师在研究,但是需要的理论知识就比较多了);c.含复杂相变情况等等LB方法还有待进步。
LB是基于连续Boltzmann方程离散的得到的 ...

之前没收到小木虫的回复提醒,所以到现在才看到。非常感谢您的回复!

1)LBM计算的最后获得稳定并输出结果,问:这个计算的稳定是否是指物理上真实的流场稳定?如是,那么LBM模拟非定常流动过程怎么能获得稳定呢?

2)设想:将LBM计算过程中,从最初到最后稳定的每一个时步中得到的全场流速结果输出,画出流场图后连接起来,是否就是反映流场从开始到稳定的动态变化过程?最近发现Comsol中有二维圆柱绕流的例子,并且能够查看t=0到最后稳定的过程中,每一时刻的流场图。

4)在几篇中文文献中看到,多弛豫(MRT)LBM模型能够处理大雷诺数下计算不稳定的问题。我尝试着写代码运行,但始终不得稳定。邮件请教了文献的作者,但没有回应。不知您对MRT-LBM是否有所了解?

5)如您所示:变化的边界条件也做离散进行计算。这里是否要对弛豫时间tau取值有更高的要求?比如需要考虑边界随时间变化的周期T。

我是计划用LBM来处理声学谐振腔之类的问题,但目前我对LBM所学有限,不知您对此是否有经验心得可以分享?

再次感谢。
我低头沉默但坚定!
15楼2014-11-16 15:05:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
13楼: Originally posted by onesupeng at 2014-11-05 04:01:43
是否添加外力项,是根据物理问题来的。

在充分发展的管流中,dp/dx=常数,所以可以将N-S方程中的\delta p 换为 \delta p^0 + c {\bf e}的形式,c就是外力,\delta 梯度算子,{\bf e}是外力方向。

这样做的时候 ...

非常感谢您的回复。

1)LBM计算的最后获得稳定并输出结果,这个计算的稳定是否是指物理上真实的流场稳定?如是,那么LBM模拟非定常流动过程怎么能获得稳定呢?

2)设想:将LBM计算过程中,从最初到最后稳定的每一个时步中得到的全场流速结果输出,画出流场图后连接起来,是否就是反映流场从开始到稳定的动态变化过程?

4)在几篇中文文献中看到,多弛豫(MRT)LBM模型能够处理大雷诺数下计算不稳定的问题。我尝试着写代码运行,但始终不得稳定。邮件请教了文献的作者,但没有回应。不知您对MRT-LBM是否有所了解?

5)如您所示:变化的边界条件也做离散进行计算。这里是否要对弛豫时间tau取值有更高的要求?比如需要考虑边界随时间变化的周期T。

我是计划用LBM来处理声学谐振腔之类的问题,但目前我对LBM所学有限,不知您对此是否有经验心得可以分享?

再次感谢。
我低头沉默但坚定!
16楼2014-11-16 15:10:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
17楼: Originally posted by 孤独的漫步 at 2014-11-18 12:56:18
1)不知LZ用的是什么语言在写代码,matlab?C?fortran?按说,程序中可以将每一步的流场信息输出,进而进行后处理的,所以,不存在说获得稳定并输出结果,即便不稳定也能获得相应时间步的信息的,这就是后处理的问 ...

非常感谢您的回复,这一次解决了我很多的疑惑。

1)我用的c++。
关于计算稳定这一点,源自我学习的[格子Boltzmann方法的理论及应用]一书,书后附的方腔驱动流代码中有判断收敛的一步:
                      sqrt(Σ(△ux*△ux+△uy*△uy))
Error  =   —————————————————————
                          sqrt(Σ(ux^2+uy^2))
这里的△ux和△uy分别为前后两个时步x和y方向的速度差        
Error值从1.0开始逐渐减小,若Error值小于10^-6,则认为计算结果稳定,输出。

如您所述:LBM计算结果本身并不存在稳定一说,每一步的结果都是对应同一时间点的全场信息。只是为了获得我们所需要的某时刻流场(比如该方腔驱动流算例中最后流场趋于稳定),人为地加上这样一个判断稳定的步骤?

如果是这样,那对于非定常流动的LBM,我也就能够理解为:LBM可以计算在某一时刻这个非定常流动的状态。

实际计算中发现对于某些情况(如大Re数),Error值可能出现下面两种情况:
(a)从1.0减小到一定程度后就突然增大,然后显示-1.#IND数据溢出;
(b)要么减小不到10^-6,比如到10^-3处就几乎不动了;
情况(a)目前我猜测是针对某些大Re数的问题,需要采用不同的LBM模型(例如MRT-LBM);但情况(b)我就比较纳闷了……

2)我对数值计算的各种差分格式了解有限,但无论如何您这一段的描述着实解决了我很多困惑。得空我会好好补充下数值计算的知识。

3)关于变化的边界如何处理这个问题,如果的确如1)中所说的LBM每一步的结果都是对应同一时间点的全场信息,那么将变化的边界作相应的离散的做法,从逻辑上讲是没有问题的。
但这里似乎涉及到LBM格子单位和实际物理单位的问题。以时间变化的边界为例,一般计算中我都取时间步长dt=1,但如果变化的周期为T,那么dt的取值是不是需要改动?(当然,LBM计算中似乎并没有涉及到dt)

另外,关于弛豫时间tau,一般tau=3*nu+0.5,而nu=U*L/Re,这里L应该是取格子数N,如果按照tau=3*nu/deta+0.5,那么这里的L就应该取真实物理长度,两种作法最终的结果都是:
tau=3*U*N/Re+0.5,不知道我的说法是不是正确?

再次感谢。
我低头沉默但坚定!
18楼2014-11-18 15:41:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ashzing

银虫 (初入文坛)

引用回帖:
19楼: Originally posted by 孤独的漫步 at 2014-11-19 19:02:25
1)请问,您是在哪种情况下,得到误差一直在10^-3的?具体情况具体分析。

3)目前好像很少有人动dt,起码基础阶段这个值没变过。我理解的,您的问题里面周期T是有物理单位,秒(s) 的,但是,正如我之前所说,格 ...

非常感谢您的回复。

1)似乎是圆柱绕流的算例,当Re~1e3或者更大的时候就会出现这种情况,并且得到的流场看上去好像没啥问题。
上次讨论之后,我直接把代码中求Error这一步舍去了,感觉清净了很多……但现在有没有依据来参考自己的代码是不是有问题……

2)我尝试了下“把边界条件进行离散”的做法,但无从判断得到的结果是不是正确的。如果您有兴趣可以尝试一下,并不复杂。
方腔128*128,采用格子单位dx=dt=1,下边界具有y方向的速度u=u0*sin(2π*n/1000),u0=1e-5,其他三个边界均采用非平衡外推。

最近琐事比较多,这一次问题准备的不够充分:)
我低头沉默但坚定!
20楼2014-11-22 17:21:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ashzing 的主题更新
普通表情 高级回复(可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 论文被硕导卡 +3 自强不息a?a 2024-06-26 5/250 2024-06-26 23:28 by 渣男2019
[有机交流] 做什么表征可以检测塑料中碳氢氧的含量 5+3 pzr的sci之路 2024-06-25 7/350 2024-06-26 19:32 by wrgeng
[基金申请] 今年什么时候会评啊 +8 lancet0903 2024-06-24 8/400 2024-06-26 19:11 by binfriedman
[硕博家园] 回家两天,不想呆了 +7 368ghnf 2024-06-22 13/650 2024-06-26 19:07 by ZZZemmm
[有机交流] 大佬们,打的核磁氢谱与chemdraw预测的有偏差 +5 来了个 2024-06-26 5/250 2024-06-26 17:28 by Jasonlin7758
[硕博家园] 博士该不该读? +8 L1009225316 2024-06-25 8/400 2024-06-26 16:26 by huixiong0627
[基金申请] 博后面上和特助今天出吗? +41 逗您玩 2024-06-21 78/3900 2024-06-26 16:00 by HAPPY_0225
[有机交流] 脱酯基合成步骤 5+4 小辉灰@anhui 2024-06-25 7/350 2024-06-26 11:47 by 我想更懂你29
[教师之家] 高校辞职,要求赔偿,这到底合不合理 +23 传动_海神 2024-06-23 35/1750 2024-06-26 10:30 by 阳光道路下
[有机交流] 大佬们,打的核磁氢谱与chemdraw预测的有偏差 +4 来了个 2024-06-26 4/200 2024-06-26 08:45 by czyzsu
[基金申请] 博后面上到底什么时候出结果??? +7 爱学lsy 2024-06-24 7/350 2024-06-25 19:24 by 暴走的蒜泥
[基金申请] 2024安徽省哲社立项名单公示 +3 robin_work 2024-06-24 6/300 2024-06-25 14:37 by Pickfoot
[教师之家] 有没有今年的影响因子? +6 jurkat.1640 2024-06-22 10/500 2024-06-24 22:48 by 潇湘之迷
[教师之家] 复旦夏同学提出高校成年人学生退学不应该让家长审核,大家认同吗? +10 苏东坡二世 2024-06-22 17/850 2024-06-24 16:52 by wanghuawei
[金属] EBSD的解析率只有10% +3 wallace6666 2024-06-20 7/350 2024-06-24 16:52 by wallace6666
[金属] 寻找钛合金热压缩代做 +4 liuyang358 2024-06-23 4/200 2024-06-24 13:50 by 搬砖狗不放弃
[有机交流] 生成亚胺的反应怎么能进行完全 +3 1369836 2024-06-23 3/150 2024-06-23 18:44 by hwqMSE
[基金申请] 教育部基金 +5 m1393 2024-06-21 5/250 2024-06-21 21:13 by odes
[基金申请] 听大佬说今年信息口本子数量大幅增加? +8 wutzxt 2024-06-21 9/450 2024-06-21 19:58 by wutzxt
[论文投稿] ACS 编辑的意见 10+3 哈哈妞1993 2024-06-20 3/150 2024-06-21 17:06 by 投个论文
信息提示
请填处理意见