LBM: 格子单位与物理单位间的转换

Posted by on 04/8/2012 in LBM FAQ | 45 comments

1. 对于无量纲系统
考虑无量纲系统:假定格子数为 N,时间步数为 N_t, 离散空间和时间尺度 \delta x\delta t 分别给出如下:

\delta x=1/N\ ,\ \delta t=1/N_{\rm t}.

此时,u_pu_l的关系给出如下:

 \displaystyle u_{\rm p}=\frac{\delta x}{\delta t} u_{\rm l}\ ,\ C_p=\frac{\delta x}{\delta t} C_{\rm l}.

同时,我们有

\displaystyle \nu_{\rm p}=1/Re=\frac{\delta x^2}{\delta t}\nu_{\rm l}.

那么,格子速度和黏性决定如下:

\displaystyle u_{\rm l}=\frac{\delta t}{\delta x}u_{\rm p} ,\ \nu_{\rm l}=\frac{\delta t}{\delta x^2}\frac{1}{Re}.

由于无量纲速度为1, 所以我们有

\displaystyle u_{\rm p}=1\ ,\ u_{\rm l}=\frac{\delta t}{\delta x}.

对于,真实物理系统如法炮制,只需根据物理u_{\rm p},重新定义\nu_{\rm p},然后得到u_{\rm l}.
2. 真实物理系统
网友问题
物理参数为:P_{\rm in}=101325Pa P_{\rm out}=101225Pa, 压强差为100Pa Lx=25mm Ly=1mm,求出特征速度=13.9m/s, Re=920 空气 粘度为1.5X(10^-5),划分为250X10
问题:如何确定格子参数?

<1>. 确定特征尺度,特征速度和Re:
对于压力驱动的流动,对于此问题(Posieuille flow),如果为层流,由压力差可以确定特这速度

\displaystyle U(y)=\frac{\Delta P_{\rm p}}{2\eta}((L/2)^2-y^2), y=\pm L/2 (L=Ly)

由此可以计算出入口的平均速度U_{\rm mean,p}.

U_{\rm mean,p}=\int_{-L/2}^{L/2}U(y){\rm d}y/L.

<2>. 首先确定格子解析度
假定格子解析度为N ,那么物理空间网格尺度为 \delta x=L/N. 根据\delta x可以确定其他方向的格子解析度。
<3>. 压力差转换. 在已知了\rho_{\rm p}(物理密度),压力差的转换关系可以下面来定义

\displaystyle \frac{\Delta P_{\rm p}}{\rho_{\rm p} U_{\rm mean,p}^2/2}=\frac{\Delta P_{\rm l}}{\rho_{\rm l} U_{\rm mean,l}^2/2}

<4>. 确定物理时间步长.
假定物理时间步长为\delta t,(C_{\rm p}C_{\rm l}为物理声速和格子声速),那么物理速度和格子速度的关系为

\displaystyle u_{\rm p}=\frac{\delta x}{\delta t}u_{\rm l}.

如果也考虑格子声速和物理声速的关系,也需要下列关系成立

\displaystyle C_{\rm p}=\frac{\delta x}{\delta t}C_{\rm l}.

由Re可得物理黏性和格子黏性之间的关系,

\displaystyle \nu_{\rm p}=\frac{U_{\rm mean.p}L}{Re}=\frac{\delta x^2}{\delta t}\nu_{\rm l}.

如果关心Ma数或者弱可压缩性,可以根据物理Ma数确定格子速度如下:

\displaystyle u_{\rm l}=\frac{u_{\rm p}}{C_{\rm p}}C_{\rm l}.

否则,你可以自己定义低Ma对应u_{\rm l}减小可压缩性误差. 如此, 时间步长可以确定

\displaystyle \delta t=\frac{\delta x u_{\rm l}}{u_{\rm p}}.

 

    22,092 views

45 Comments

  1. 老师您好,关于单位制转换问题,我还是一筹莫展,下面是我的问题,求解。
    假设已知量为:
    物理量:长度 密度 运动粘度 声速 且假设流动介质为空气;
    请问,如何将物理长度转换为格子长度?根据何老师书中的解释,格子下的运动粘度是直接给出的,很容易求解得到格子长度,可是我现在格子长度是一个未知量,怎么求解?另外,雷诺数在两种单位下一样吗?
    谢谢!

    • 您好!

      一般情况下,您的Re是确定,这个无量纲数对于物理问题和格子都是保持一致的。如果是高Re的流动,需要根据您的Re来估算流动的最小解析尺度dx!如果是层流,网格解析度的确定就相对简单,网格尺度dx越小给出的解就越精确!当网格解析度确定后,格子数也就可以确定,将计算几何按照1/dx进行尺度变换并取整,就可得到各个方向的格子数!然后您就可以按照我给出的方法来确定格子参数:特征速度、粘度等!

      好运!

      徐辉

      • 老师您好,还是不太明白单位转换,具体palazzos中permeability的参数是如何转换的。程序只是输入了48 64 64 0.0005。

    • Re是特征量,量纲为1,所以无论你用格子单位的参数还是物理单位的参数去算,Re都是一样的。所以,如果不考虑传热什么的,流体可压缩性也可以忽略,那么最简便的方法就是:在计算中给定Re,然后格子单位下的速度取小一点(比如0.1,确保不可压),根据你的问题确定网格尺寸(对应格子单位下特征长度),最后算出粘性。

      • 老师您好,最近刚刚开始做多孔介质流的仿真,但是对单位的转换仍然存在问题。如果输入为图像文件,如何确定像素点与格子单位之间的关系,谢谢老师。

        • 您好,我也是跟你出现类似的问题,如果对于输入的是图像模型,这个划算是怎么计算的?这个您解决了吗

  2. 你好,我想问一下关于格子单位与实际单位的对应关系的问题:根据《格子Boltzmann方法的理论及应用》中单位的推导,一个格子时间单位对应的实际时间单位是十的负7次方的量级而单位格子长度对应的实际长度也非常非常的小(记得也是十的负7次方左右),这是真的吗?那使用该模型能够真实的反应物理世界吗?谢谢

    • 你好,

      你按照我给出的方法进行量纲转换!关于书中提到的单位的问题,你给王勇回复下,让他给你解释书中的想法更为合适!

      徐辉

      • 你好,最近在处理单位转换时遇到一个问题,想咨询徐老师一下。
        对于一个系统从物理单位向格子单位转换时,重要的就是要确定dx和dt。dx一般好确定,进行网格划分就行,而对于dt的选择往往比较讲究(如VOF中提到要小于dx的平方等)。在LBM中dt的选择也很讲究,在"Choice of units in lattice Boltzmann simulations"一文中就有提到。但我想问的是:在LB模型中,只要网格类型一定,那格子声速就是定的,而物理声速又可根据实际工况查到,那是不是就是说只要dx一旦定下来,那么dt就是确定的?就不存在dt的选择问题了?谢谢

    • 单位转换中最关键的就是量纲分析,这一点所有的资料(包括那书,以及这个帖子)都是一样的。针对不同的物理问题,换算出来的值是不一样的。书上用空气举例,得出单位格子长度对应的实际物理长度很小,那是因为空气空气的粘性、空气中的声速与格子粘性、格子声速本来就相差好几个数量级。

      • 你好,如果那样的话,是不是就意味着要仿真现实世界中的一秒就必须迭代十的7次方左右,而一般的模型尺寸规模也就几十或几百个格子单位,对应得实际模型很小很小,这样是不是表示这种方法即耗时而且有些脱离实际意义?

        • 1. 书上以空气为例,如果同时保证Re、Ma、Pr等特征数都不变,换算出来的d和dx确实很小。换成别的流体,如水,这些值就会变大了。

          2. 在很多的模拟中,并不需要所有的特征数都要满足。比如LBM应用最多的不可压流动,通常只关注Re。那么模拟中,你只需要确保Re不变,格子数以及格子粘性都是可以调节的,相应地dt和dx可以变化的范围也很大。

          3. LBM单位转换,其实质就是量纲分析,与别的方法(FVM、FDM)采用无量纲参数是类似的。

          4. 对一个大Re的问题(比如书上的例子,Ma=0.1, 特征长度1m, 则Re在10E6的量级),你采用别的方法直接模拟(因为此处LBM也没加湍流模型,为了公平,所以所有方法都采用直接模拟),也需要很大的计算量。

          5. 所以,我不认为“这种方法即耗时而且有些脱离实际意义”。---

          btw,回答这个问题耗费了45分钟的上班时间,汗,,,呵呵,希望表述清楚了。

          • 哈,谢谢王勇老师的耐心指教!非常非常感谢!

          • 老师,您好!我是lattice boltzmann的初学者,我想请教一个问题!若我模拟初始时刻静止的悬浮粒子在受到重力的作用下在流体中的运动时,根据Re=uL/niu,我并不知道特征速度是多少,此时我如何进行无量纲约化呢?

  3. 非常感谢两位老师,在这里对我们的帮助。
    下面是我对单位转换的理解,为感谢这个网站对我的帮助,就将自己理解的写出来了,一方面希望对初学者有些帮助,另外也希望两位老师给点评一下。

    实际物理单位:L(长度), U(速度), C(声速), (黏度),T(时间)
    对应的格子单位: , , (格子声速), ,
    对应关系:
    因为 相同,所有:
    = = (1),对于一个已知的格子模型,已知量有 (等于N* , 一般取1,所以 等于N), (可由式子 获得), (可查表获得)
    且有(1)式可知
    (2)
    (3),该式子的结果是已知的,因为实际声速可查表获得,而格子声速也是固定的。
    将(3)式代人(2),就可得
    (4)
    将(2)式左右同除以(3)得平方,就可得到(4),即
    到此为止, 都已知道,所以只要知道计算模型的格子长度,格子时间,格子速度就可知道实际物理模型中的值。

    • 请使用Latex描述, 参见: http://en.wikipedia.org/wiki/LaTeX. 示例:
      f^{+}=f+\Omega(f,f^{eq}).
      在写Latex代码时左边两个$,右边两个$,latex代码放在中间!好运!

    • zhikai,你好!
      请把你对单位换算理解的完整文档发给我看看,1303980764@qq.com,谢谢!

      • 网站上是完整的!

        • 嗯,我想要zhikai在十月7, 2012发的完整文档。

          • 大力支持!

  4. 没想到费不少时间敲的公式都没传上去。。。

    • 你可以使用latex代码来写公式,先现在你的本地,然后复制上去就ok了!

      • 请问徐老师,模拟的介质为空气时,cs=340m/s,但模拟的介质是水时,cs=1500m/s么?

        • 如果考虑的是不可压缩流体,不用进行此类类比,仅需确保格子Ma适当小!
          好运!

          • 谢谢徐老师解答!也就是说Cs的取值是任意的,只要最后的马赫数小于0.3即可(对于不可压缩流动)

  5. f^{+}=f+\Omega(f,f^{eq})

  6. 实际物理单位:L(长度),U(速度), C(声速) ,\nu(黏度),T(时间)
    对应的格子单位:L_{\rm l}U_{\rm l}C_{\rm s}(格子速度),\nu_{\rm l}T_{\rm l}
    对应关系:L_{\rm r}=\frac{L}{L_{\rm l}}U_{\rm r}=\frac{U}{U_{\rm l}}=\frac{C}{C_{\rm s}}\nu_{\rm r}=\frac{\nu}{\nu_{\rm l}}T_{\rm r}=\frac{T}{T_{\rm l}}
    因为Re相同,所有:Re=\frac{UL}{\nu}=\frac{U_{\rm l}L_{\rm l}}{\nu_{\rm l}} (1),对于一个已知的格子模型,已知量有L_{\rm l}(等于N*\delta x\delta x一般取1,所以L_{\rm l}等于N),\nu_{\rm l}(可由式子\nu=C_{\rm s}(\tau_{\rm \rho}-0.5)获得),\nu(可查表获得)
    且有(1)式可知
    \frac{\nu}{\nu_{\rm l}}=\frac{UL}{U_{\rm l}L_{\rm l}}=U_{\rm r}L_{\rm r} (2)
    U_{\rm r}=\frac{U}{U_{\rm l}}=\frac{C}{C_{\rm s}} (3)该式子的结果是已知的,因为实际声速可查表获得,而格子声速也是固定的。
    将(3)式代人(2),就可得L_{\rm r}
    L_{\rm r}=\frac{T}{T_{\rm l}}=\frac{\frac{L}{U}}{\frac{L_{\rm l}}{U_{\rm l}}}=\frac{L_{\rm r}}{U_{\rm r}} (4)
    将(2)式左右同除以(3)得平方,就可得到(4),即L_{\rm r}
    到此为止, U_{\rm r}L_{\rm r}T_{\rm r}都已知道,所以只要知道计算模型的格子长度,格子时间,格子速度就可知道实际物理模型中的值。

    • 可算发上来了!希望对大家能有帮助。。。

      • 格子声速为什么是固定的?

        • 对于一定的格子模式,格子声速是一定的,如D2Q9中C_{\rm s}的平方为1/3

          • Cs^2不是等于c^2/3吗?这里c怎么确定?

    • 你好,请问压力对应关系在这种情况下是怎样的?

  7. 请问徐辉老师:
    IncomprFlowParam parameters(
    (T) 1e-2, // uMax
    (T) 100., // Re
    128, // N
    1., // lx
    1. // ly
    );

    这里面的各参数该如何正确理解?
    如uMax该如何确定?
    N为什么物理含义?
    lx和ly又该如何理解和确定?

    • 这些都是基本物理量的定义,请参考量纲相关的进行确定!lx和ly是几何物理尺度!

  8. 大家好,
    今天关于格子单位转换来咨询一个问题。之前一直以为格子声速对应的就是实际物理场的声速,即通过将dt和dx进行单位转换,就可实现格子声速到物理声速的转换。可有朋友告诉我这是不对的,说格子声速并不能转化为物理声速,它不过是格子模型中的一个参数而已。请问他们之间确实不能直接转换吗?谢谢

    • 可以转换,对于不可压缩流其可以看作是个参数,对于弱可压就得看作物理的!这些都是基本的量纲知识,不存在可与不可!

      • 非常感谢你的回复,不过感觉还是有些迷惑。在一般的CFD中,直接进行单位转化就OK了。可是在LBM中有格子声速Cs这个特殊的量。从字面和一些相关文献中知道,格子声速通过单位转换就能得到实际物理场的声速。然而传统模拟中,时间和空间的离散度又是不确定的,所以理论上从格子声速通过单位转换得到的实际声速也是不确定的吧?这与实际工况条件下,声速是确定的这一条件不相符。

        • 你可以将LBM看作是一个无量纲系统,不存在什么复杂的转换关系!转换得到的声速完全可以和物理声速一致,这取决于你的参考量!

  9. 声音在空气中的速度是340m/s,在水中是1500m/s,怎么取?

    • 同问

  10. 请问,温度的实际值和格子值是怎么换算的呢

  11. 看完之后还有些问题请教徐老师,温度和浓度怎么转化为格子单位呢?

  12. 你好

Submit a Comment