CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新
    1. 主页
    2. lhzhu
    L
    • 资料
    • 关注 2
    • 粉丝 4
    • 主题 4
    • 帖子 26
    • 群组 0

    lhzhu

    @lhzhu

    1417
    资料浏览
    26
    帖子
    4
    粉丝
    2
    关注
    注册时间 最后登录
    位置 Wuhan

    lhzhu 取消关注 关注

    lhzhu 发布的最佳帖子

    • RE: OF可压流求解器

      @李东岳 在 OF可压流求解器 中说:

      Hi, @Aeronastro

      我个人不怎么做超音速空气动力学,对这个帖子不会有什么特殊贡献。

      但有关rhoCentralFoam我层和Henry讨论过,他表示rhoCentralFoam相比较rhoPimpleFoam更加适用于震波捕获。另外,rhoCehtralFoam有文献,昨天重做系统刚把这个我没怎么调研的求解器的文献删除。没想到今天就遇到了。google一下?:anguished:

      其他有关KNP,ROE尚不清楚。如果你有兴趣,是否可以简单说一下为什么超音速流有很多特别的对流格式?

      只能初略的解释下:
      因为在激波层这一极其薄的区域要人为增大粘性(可以通过各种方式),让数值上的激波厚度能跨越几个(1个、2个...,也不能太多)计算网格(远大于实际的激波厚度),不然程序在间断处就不稳定。但是又要保证这个数值粘性在那些比较光滑的地方比较小。这两个要求很难同时满足得比较好,所有就会有对流格式出现了。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: 有关GPU计算

      @cfd-china 在 有关GPU计算 中说:

      众所周知,OpenFOAM已经有了一些第三方的GPU计算包。困惑的是,目前GPU计算并没有广泛使用,其原因是因为支持CUDA的显卡比较少?还是什么?

      粗略的看一下CUDA编程,如果GPU计算只是意味着调用GPU计算并且使用另外一种编译器的话。为什么会存在GPU计算不如CPU稳定的情况?

      Nvidia的目前的GPU应该都支持CUDA吧。

      不知道楼主说的GPU计算不如CPU稳定的是否是指的桌面级(GeForce、Titan)显卡?我感觉Tesla系列(用过C1060, K20, K40)的都还挺稳定的。桌面级显卡还有另一问题是双精度浮点数计算速度远小于单精度计算速度。而目前的Tesls系列的double都是float计算速度的一半。

      使用GPU计算需要专门写在GPU执行的程序段(CUDA, OpenCL),或者使用OpenACC这种加编译指导语句到串行代码(和OpenMP很像),再或者使用别人做好的GPU加速库。前两种方法需要专门的编译器。

      @wwzhao, GPU按说也不是太贵, 一块Nvidia K40 目前两万出头都买得到(半年前就是这个价)。 跟搞两颗12 cores 的E5-2680v3 差不多的价, 要知道K40还搭载了12GB高带宽显存。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: dugksFoam - 求解离散速度Boltzmann模型方程的求解器

      @张志国

      您好!

      谢谢关注。

      DUGKS还有稍早的UGKS方法都是用一种方法统一的处理不同流域(连续流到自由分子流)的问题,这也是其名字中Unified的意思。与一般的耦合方法在不同的流域使用不同尺度的计算方法这种思路不同,所以并不需要划分流动区域。

      DUGKS中所说的跨尺度应该理解为使用有限体积方法求解Boltzmann方程时,分布函数通量的计算是多尺度的。可以理解为在 时间步长 >> 分子平均碰撞时间(连续流)时,分布函数通量自动恢复到NS方程对应的分布函数通量, 而在 分子平均碰撞时间 >> 时间步长 时,自动恢复到自由分子流的对应的分布函数通量。在中间的滑移区和过渡区也是准确的。

      以前一些kinetic格式并不能保证在计算连续流并且时间步长>> 平均分子碰撞时间时算得的分布函数通量能对应到NS方程的解。为了准确求解连续流这一宏观问题却需要解析到分子平均自由程这一微观尺度,所以相较而言只能算是单尺度的方法。同理,DSMC方法也受此限制,属于单尺度方法,因为DSMC方法也要求时间不长小于平均分子碰撞时间。

      希望上述解释能有所帮助!

      lhzhu

      发布在 OpenFOAM
      L
      lhzhu

    lhzhu 发布的最新帖子

    • RE: OF可压流求解器

      @李东岳 从动理学方程(如BGK方程)构造连续流(NS方程)的可压缩格式,这一思路已经被发展很久了,如K. Xu(HKUST) 等人发展的Gas kinetic scheme (GKS)。另外也可以看看这个http://www.math.ust.hk/~makxu/PAPER/ohwada-2013.pdf 。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: 在时间上系综平均的functionObject

      @cfd-china 确实很实用,用一次的东西就应该这样搞!:cheeky:

      发布在 OpenFOAM
      L
      lhzhu
    • RE: 在时间上系综平均的functionObject

      非常感谢谢你的回复。

      不过我感觉单独这个fieldAverage并不能实现我要的功能。不过后来我的想法是写个functionObject每隔100步就触发一次重置初始场,然后再用一个fieldAverage每隔100步就触发一次,把当前步的场跟之前的average field合起来平均,并且它的window设成1,resetOnOutput设为false。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: icc VS gcc compiler

      @wwzhao 这至少可以说明用icc和gcc 编译OpenFOAM出来的solver运行速度不相上下,前者平台主频略低,但支持AVX2.0。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: icc VS gcc compiler

      @cfd-china 曾经在OF240上测试过: http://www.cfd-online.com/Forums/openfoam-installation/147526-howto-optimize-openfoam-core-i7-cpu-using-extended-instruction-set.html#6

      发布在 OpenFOAM
      L
      lhzhu
    • 在时间上系综平均的functionObject

      有大神知道OpenFOAM里面时间上的系综平均怎么弄吗?

      比如我跑一个非稳态的算例,跑到100步停。但是我每次从头开始跑到100步,物理场(比如U)结果都是不一样的(因为用的是蒙特卡洛方法)。
      为了减小统计噪音,我需要这样跑10000次(每次从头开始跑100步),然后把这10000个结果平均一下(10000个U场相加除以10000)。

      有没有什么functionObject可以比较方便的实现这个功能?

      我查到从OF30开始有个fieldValue的functionObject有个 ensemble average选项(的。https://github.com/OpenFOAM/OpenFOAM-3.0.x/blob/4b5e129783d9bea7ea00a617b6ee3b73b0f308e4/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H#L97 ),但是感觉不是我想要的(可能那个是空间上的简单平均,就是不带cell volume加权的平均)。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: dugksFoam - 求解离散速度Boltzmann模型方程的求解器

      @张志国

      您好!

      谢谢关注。

      DUGKS还有稍早的UGKS方法都是用一种方法统一的处理不同流域(连续流到自由分子流)的问题,这也是其名字中Unified的意思。与一般的耦合方法在不同的流域使用不同尺度的计算方法这种思路不同,所以并不需要划分流动区域。

      DUGKS中所说的跨尺度应该理解为使用有限体积方法求解Boltzmann方程时,分布函数通量的计算是多尺度的。可以理解为在 时间步长 >> 分子平均碰撞时间(连续流)时,分布函数通量自动恢复到NS方程对应的分布函数通量, 而在 分子平均碰撞时间 >> 时间步长 时,自动恢复到自由分子流的对应的分布函数通量。在中间的滑移区和过渡区也是准确的。

      以前一些kinetic格式并不能保证在计算连续流并且时间步长>> 平均分子碰撞时间时算得的分布函数通量能对应到NS方程的解。为了准确求解连续流这一宏观问题却需要解析到分子平均自由程这一微观尺度,所以相较而言只能算是单尺度的方法。同理,DSMC方法也受此限制,属于单尺度方法,因为DSMC方法也要求时间不长小于平均分子碰撞时间。

      希望上述解释能有所帮助!

      lhzhu

      发布在 OpenFOAM
      L
      lhzhu
    • RE: 一些有用的看代码命令

      @cfd-china
      vim + ctags

      发布在 OpenFOAM
      L
      lhzhu
    • RE: Ubuntu集群跨节点并行问题

      @Aeronastro 你试下在每个node的~/.bashrc添加source ~/OpenFOAM/OpenFOAM-2.4.0/etc/bashrc ..... , 感觉是mpirun的时候,在每个node上of240还没加载。

      发布在 OpenFOAM
      L
      lhzhu
    • RE: 有关GPU计算

      @wwzhao 有道理!!

      发布在 OpenFOAM
      L
      lhzhu