Skip to content

Algorithm

基本理论区

414 主题 2.1k 帖子
  • 5 帖子
    4k 浏览
    F

    可以设计一个量纲的类,里面包含一个整形数组来记录量纲的分量,如[L, M, T]还要定义量纲的运算。然后设计一个标量的类,里面除了浮点数据之外,再加一个量纲,定义标量的动作时也要注意其中的量纲计算。同理还可以定义向量和张量。比如距离的量纲是[1, 0, 0],速度的量纲是[1, 0, -1]。

  • 基于CFD的智慧城市流场信息实现方法

    4
    4 帖子
    4k 浏览
    C

    @李东岳 李老师有没有兴趣看下风工程这块的有个商业软件WT,里面是速度-压力耦合求解器,真的非常快非常快。我看了下,软件底层是从PHOENICS来的,然后搞了一套叫MIGAL的算法。

    现在CFD用的SIMPLE这种segregated solver确实太慢了,城市这种尺度下的流动本身大概率又比较简单,不可压,也没有化学反应之类的,可以暂时不考虑温度?可能会有颗粒流的问题,但是不是也可以先只考虑流动对颗粒的影响。这种情况下感觉流场本身的求解其实就看求解器的效率了。

    我搜了下,OpenFOAM这边其实已经有一些coupled solver 的工作,不知道成不成熟。

  • 稳态求解器算出的湍流拟序结构

    5
    5 帖子
    4k 浏览
    C

    @evensun 求解器只负责求解数学式(控制方程),为什么要求解这个控制方程而不是别的控制方程是用户的选择,或者说取决于用户需要的是什么。
    如果你需要百分百精确的描述一个非定常的物理问题,那你用稳态求解器原则上来讲是不合理的,但这个不合理不是说解方程这一步不对,而是你没有求解与你的需求相匹配的方程。如果你只需要部分描述这个物理问题,比如你关注时间平均量,那这时候用RANS去解这个问题,这一套下来是合理的。因为你需要的只是时均量,只是这个物理问题的一部分。
    从这个角度去思考,你用稳态求解器计算了一个非定常的过程,求解器没有发散,甚至可能还体现出了一些有规律的震荡。这个现象本身其实是有意义的,但你在分析它的时候要非常小心。比如你认为“算得的结果呈现出了涡的发展变化过程”,这个表述是值得商榷的。

    再啰嗦一点,关于RANS我一直觉得有个很有意思的角度。我们都知道雷诺数是决定流动的重要因素,我们可以认为控制方程也有一个“数值雷诺数”,它和普通的雷诺数定义类似,只是粘度项应该替换为分子粘度+数值粘度。在RANS中,数值粘度一般高出分子粘度2个量级甚至3个量级,所以尽管物理问题可能雷诺数很大,但数值雷诺数可能只在10的3次方或者4次方量级。10的3次方已经和我们通常认为的临界雷诺数接近了,导致RANS结果看起来是稳定的,就好像层流一样。
    说白了,RANS模型对湍流的耗散非常强,把很多非定常的结构都给耗散掉了,留下了定常的部分。但这个耗散能力是有限度的,如果你求解的这个物理问题经过RANS模型后它的数值雷诺数正好处于临界雷诺数附近,那可能就是会有一些小的震荡。
    这个湍流模型是自己开发的吗?你可以通过尝试不同的湍流粘度来验证一下,比如量级直接调大10倍,你说的这些震荡还存在吗?

  • 关于动压、静压和总压的一些理解

    1
    1 帖子
    2k 浏览
    H

    实际工程上说的压力是什么压,压力表测到的是什么压,还有就是数值模拟计算得到的压力结果我们应该关注什么压呢?或者说从动压静压总压分布图上我们能看出什么东西。谢谢

  • eddy,vortex和whirl的区别

    3
    3 帖子
    3k 浏览
    李东岳

    这个放在他们搞涡那面,估计能讨论一上午 :duang:

    我个人也不太熟悉。在我的文章里面,也不太关心涡的情况。

  • 关于‘温升燃烧效率’

    1
    1 帖子
    1k 浏览
    liujunCFDL

    请问燃料燃烧时这种‘理论计算产生的平均总温’应该怎么计算啊?翻了基本燃烧学的书都没这方面的定义。温升燃烧效率.png

  • 相平均概念求助

    3
    3 帖子
    2k 浏览
    P

    @jinlinna 感谢!

  • ‘超音速状态下熄火’的专业名词?

    5
    5 帖子
    4k 浏览
    liujunCFDL

    @程迪 666啊老铁,听君一席话,胜读百篇论文:146: :146: :146: :146: :146:

  • 论文小白有关phase shift的疑问

    4
    4 帖子
    3k 浏览
    G

    @一朵苍凉 我也不太懂,可以看看控制领域的相频特性,也许有帮助:zoule:

  • 1 帖子
    1k 浏览
    袁宝强

    各位大佬好~向大家请教一个问题。

    式(1)是大涡模拟法夫尔滤波操作以后的连续性方程
    \begin{equation}
    \frac{\partial{\bar{\rho}}}{t}+\frac{\partial{\bar{\rho}\tilde{u}_i}}{x_i}=0
    \end{equation}

    如果对$\tilde{u}_i$取时均值,即$<\tilde{u}_i>$, 这样得到的是雷诺时均值的速度吗?如果想要取法夫尔时均值,是不是需要做$<\bar{\rho} \tilde{u}_i>/<\bar{\rho}>$的处理?P.S(这里用<φ>表示对φ取时间平均)

    第二个问题与第一个问题相似:基于法夫尔时均的可解尺度的湍动能的求解是否可以按照式(2)不可压缩流体的求解方式求解呢?我感觉式(2)的解更像是雷诺时均的解,因为可解尺度的湍流里面也包含了密度脉动。
    \begin{equation}
    k_{resolved}=\frac{1}{2}(<\tilde{u}_i\tilde{u}_i>-<\tilde{u}_i>^2)
    \end{equation}

    还是说需要用式(3)继续用法夫尔时均进行计算呢?
    \begin{equation}
    k_{resolved}=\frac{1}{2}\big(<\bar{\rho}\tilde{u}_i\tilde{u}_i>-<\bar{\rho}>(<\bar{\rho} \tilde{u}_i>/<\bar{\rho}>)^2\big)/<\bar{\rho}>
    \end{equation}

  • 关于OpenFOAM矩阵求解器

    9
    9 帖子
    13k 浏览

    @micro 网格数量越多,网格尺度越小,计算肯定更加不稳定,您可以查一下CFL数

  • (principle) Reynolds (shear) stress (tensor)

    4
    4 帖子
    3k 浏览
    李东岳

    $\tau$这个雷诺应力,对角线的是normal stress,非对角线的是shear stress。不过你说的更详细,感谢分享!

  • 关于MRF方法的理解的疑问

    3
    3 帖子
    3k 浏览
    Q

    86f6fd36-007a-42a5-b105-de5d4fcefffa-image.png
    cited:http://openfoamwiki.net/index.php/See_the_MRF_development

    图为在旋转坐标系内解绝对速度的控制方程,其中 \vec \omega \times \vec U_i 这项称为科氏力,旋转坐标系内独有的力。他的效果如下面这个视频所示https://haokan.baidu.com/v?vid=4227630901810560602&pd=bjh&fr=bjhauthor&type=video
    我的理解是可以将上面的式子理解为绝对速度产生组成的动量的输运方程,其中的通量是相对通量(\vec U_R \vec U_I),同时由于动量是一个矢量,因此在旋转坐标系中还受到科氏力的作用。等式坐标是压力的贡献,和由于运输的物理量U_I的扩散贡献。

    因此,我在思考是不是诸如湍动能,湍流耗散率这些标量,也可以认为在旋转坐标系内,运输物理量为湍动能,湍流耗散率这些标量,通量为相对速度的通量,但是由于这些量都是标量,因此没有多的项需要添加。另外比如SA模型中的发生项需要计算到voricity的大小,此处的voricity是不是也应该用相对速度?

  • 求做空气动力学的大佬解答两个问题

    1
    1 帖子
    2k 浏览
    X

    最近要做一些跨临界的问题,但是在跨临界中,如下图,由于伪沸腾的影响,流体的热力学性质会在伪沸腾区呈现剧烈的变化,形成类似于激波的区域。但是在亚临界区域,压力对密度的变化极为敏感,所以传统的全守恒格式会引起压力震荡。很多研究者针对这个问题做了很多修正。比如:求解压力传播方程并加入人工扩散、计算左右通量求黎曼解并对最后的结果熵修正。但是目前的算法总体来说很繁琐,且由于通过压力反推能量会引起能量不守恒。主要有两个问题,非常感谢您的解答:

    求解压力传播方程的那个算法很类似simple算法的pressure based方法,为什么现在几乎所有的计算空气动力学论文里面几乎没有使用过simple算法,更倾向于TVD RK这种显示迭代? 显式格式很适合GPU加速计算,想开发一套GPU的代码用来计算。但是GPU对双精度计算的支持很差。当在激波附近使用高阶离散格式的时候如果使用单精度浮点数计算,截断误差是否会对计算结果产生比较大的影响?
    3.png
  • 聚并破碎的SQMOM方法

    1
    1 帖子
    1k 浏览
    李东岳

    对于给定的NDF,划分为$i$个$N_{pp}$,对每个$i$上定义$k$阶矩$m_k^i$,给定$m_k^i$,可以计算第$i$区间的节点$d^i_0,d^i_1$以及权重$w^i_0,w^i_1$:
    \begin{equation}
    \begin{split}
    w^i_0&=w^i_1=0.5
    \\
    d^i_0&=m_1^i-\frac{1}{\sqrt{3}}\sqrt{\frac{m_3^i}{m_1^i}-{m_1^i}^2}
    \\
    d^i_1&=m_1^i+\frac{1}{\sqrt{3}}\sqrt{\frac{m_3^i}{m_1^i}-{m_1^i}^2}
    \end{split}
    \end{equation}
    对于仅考虑破碎的PBE:
    \begin{equation}\label{pbe}
    \frac{\p n(d)}{\p t}=\int_d^{d_{max}}g(d')\beta(d|d')n(d')\rd d'-g(d)n(d)
    \end{equation}
    对方程\eqref{pbe}在$i$上取$k$阶矩:
    \begin{equation}\label{m}
    \frac{\p m_k^i}{\p t}=\int_{d_{i-1/2}}^{d_{i+1/2}}\int_d^{d_{max}}g(d')d^k\beta(d|d')n(d')\rd d'\rd d-\sum^2_{j=0} g(d_j^i)w_j^i(d_j^i)^k
    \end{equation}
    \begin{equation}
    \begin{split}
    \int_{d_{i-1/2}}^{d_{i+1/2}}\int_d^{d_{max}}g(d')\beta(d|d')n(d')\rd d'\rd d&=
    \int_{d_{i-1/2}}^{d_{max}}g(d')n(d')\left(\int_{d_{i-1/2}}^{d'}\beta(d|d')\rd d\right)\rd d'
    \\&=
    \sum_{m=i}^{N}\sum_{j=0}^2g(d_j^m)w_j^m\left(\int_{d_{i-1/2}}^{d_j^m}d^k\beta(d|d_j^m)\rd d\right)
    \end{split}
    \end{equation}
    Therefore
    \begin{equation}
    \frac{\p m_k^i}{\p t}=\sum_{m=i}^{N}\sum_{j=0}^2g(d_j^m)w_j^m\left(\int_{d_{i-1/2}}^{d_j^m}d^k\beta(d|d_j^m)\rd d\right)-\sum^2_{j=0} g(d_j^i)w_j^i(d_j^i)^k
    \end{equation}

  • 在simpleFoam动量方程中添加应力项

    9
    9 帖子
    6k 浏览
    X

    @evensun 嗯,涡粘系数是二阶张量这个按我理解其实就是非线性湍流模型了

  • RANS SA和SA-DES的区别对于FSI

    2
    2 帖子
    2k 浏览
    S

    SA是Spalart-Allmaras,Reynolds-Averaged Navier-Stokes Spalart-Allmaras turbulence和Spalart-Allmaras Detached Eddy
    Spalart-Allmaras采用的是标准的SA,不是高雷诺数的。DES也是标准的DES模型

  • 关于“CFD中的能量方程”中最后的方程(16)

    13
    13 帖子
    14k 浏览
    W

    @李东岳 哦哦,没问题了。:142:

  • Arbitrary-Lagrangian-Eulerian (ALE) 是什么?

    3
    3 帖子
    3k 浏览
    小狗狗

    参考文献
    Demirdzic, I.; Peric, M., Space conservation law in finite volume calculations of fluid flow.

  • 5 帖子
    4k 浏览

    @zhangxc0223
    Hi
    因为并没有做deterministic的模拟,所以code也基本没看过。。
    stochastic collision 在计算collision probablity的时候是有限制的,具体你可以看一下O‘roucke的论文。具体是怎么定义的,怎么得到一个non-dimensional collision probablity的,还有如何决定这两个parcel发生了碰撞。

    虽然碰撞在这个instantaneously 随机的,但是在统计学上,比如你有1M次碰撞的话,总的碰撞的结果就是相似的。
    这也就是为什么stochastic碰撞会比deterministic相对来说’便宜'的原因,通过统计学的方法达到相似的碰撞结果,但是不需要追踪所有的parcel。

    lagnrangian maxCo 存在的意义,个人认为,在一定程度上可以理解为再一次离散了每个euler time step,所以maxCo一定程度上决定了每个lagrangian time step的大小,和Euler 的Co 定义是相似的。

    碰撞是不会被错过的,因为deterministic理论上来说是追踪所有的parcel,所以下一步这个parcel会在哪,走的路径应该也是计算的,所以不会存在错过的,stochastic collision 会计算两个parcel的碰撞概率,当概率很高的时候,也是不会错过的,而且就算是这次错过了,在茫茫parcel海中,总会碰到的。。统计学上是不会错过的

    以上仅为个人理解