Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. OF可压流求解器

OF可压流求解器

已定时 已固定 已锁定 已移动 OpenFOAM
55 帖子 15 发布者 65.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    Aeronastro
    写于 最后由 编辑
    #1

    OF中可压流求解器主要是以rhoCentralFoam和rhoPimpleFoam为主,而rhoCentralFoam的对流项用的是KNP的通量分裂格式,尽管这个格式我在计算流上面没有找到理论,但既然编成了这种格式应该也有它的用武之地吧,而rhoPimpleFoam是将不可压的PIMPLE算法加以扩展,用在了可压流中,也有人反映这个算法对压力项的修正不是很好。

    我不知道为什么不用主流的Roe格式来进行对流项的离散?不知道有人用过Roe自己编写过可压流的求解器没有?和OF自己的KNP方法比较有什么差别?

    以上是我的见解,不恰当之处还请批评指正,谢谢~

    X 李东岳李 2 条回复 最后回复
  • X 离线
    X 离线
    xuebao1989
    在 中回复了 Aeronastro 最后由 编辑
    #2

    @Aeronastro 过段时间我也想改一下可压缩流的求解器,有这个想法,目前思路还不是太清晰:cold_sweat:

    L 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 Aeronastro 最后由 编辑
    #3

    Hi, @Aeronastro

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

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

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

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    L W A 程 4 条回复 最后回复
  • L 离线
    L 离线
    lhzhu
    在 中回复了 xuebao1989 最后由 编辑
    #4

    @xuebao1989

    这里有个网站, compressibleFOAM: http://pavanakumar.github.io/compressibleFoam/index.html, 对你实现可压缩求解器可能有帮助。里面的一个 Instructional workshop on OpenFOAM programming LECTURE 系列Lecutures也是很好的资源。

    dugksFoam : An OpenFOAM sovler for Boltzmann model equation : https://github.com/zhulianhua/dugksFoam

    X 1 条回复 最后回复
  • L 离线
    L 离线
    lhzhu
    在 中回复了 李东岳 最后由 编辑
    #5

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

    Hi, @Aeronastro

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

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

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

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

    dugksFoam : An OpenFOAM sovler for Boltzmann model equation : https://github.com/zhulianhua/dugksFoam

    1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 我也不是做空气动力学的,说说我的理解吧。

    超音速空气动力学中的激波(shock wave)是间断问题,需要一些被称为高精度格式(high resolution schemes)的对流格式才能捕捉,在使用高精度格式的时候通常还需要配套使用通量限制器(flux limiter)以保证解的有界性,避免在间断点出现过大振荡导致发散。这类格式通常满足总变差不增(total variation diminishing)。

    A 1 条回复 最后回复
  • X 离线
    X 离线
    xuebao1989
    在 中回复了 lhzhu 最后由 编辑
    #7

    @lhzhu 真是太感谢您了,非常有用

    A 1 条回复 最后回复
  • A 离线
    A 离线
    Aeronastro
    在 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 嗯嗯,谢谢哈,关于那篇文献我之前研究过。关于对流项的其他离散格式,我从一些文献上找到高阶精度的,WENO等(这些格式之所以要求这么高是因为要用LES湍流模型),我目前还不是很了解这些,我们教研室湍流用的都是RANS,软件一般用的是fluent,里面最常用的就是Roe和ASUM,所以我之前对于OF中的可压流没有提到这些格式有点疑问。

    1 条回复 最后回复
  • A 离线
    A 离线
    Aeronastro
    在 中回复了 wwzhao 最后由 编辑
    #9

    @wwzhao 嗯嗯,是的,在rhoCentralFoam中用到了VanLeer和VanLeerV的插值格式,也是一种限制器,我也别人说rhoCentralFoam在求解超声速流动时耗散偏大,不知道是不是有这样的一个现象?

    1 条回复 最后回复
  • A 离线
    A 离线
    Aeronastro
    在 中回复了 xuebao1989 最后由 编辑
    #10

    @xuebao1989 您好,那个网站我貌似打不开:upset:
    里面都有哪些有用的资料呢?能否共享一下?:tongue_out:
    谢谢:happy:

    X 1 条回复 最后回复
  • X 离线
    X 离线
    xuebao1989
    在 中回复了 Aeronastro 最后由 编辑
    #11

    @Aeronastro 把链接的index.html去掉即可打开

    1 条回复 最后回复
  • 程 离线
    程 离线
    程迪
    在 中回复了 李东岳 最后由 编辑
    #12

    @李东岳
    这个solver作者的原始文献是Implementation of semi-discrete, non-staggered central schemes in a colocated, polyhedral, finite volume framework, for high-speed viscous flows DOI: 10.1002/fld.2069
    具体格式是KT和KNP,分别有各自的文献。

    已婚,勿扰。
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 程迪 最后由 编辑
    #13

    @程迪
    多谢,下来研究研究。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    写于 最后由 编辑
    #14

    终于看到有做这个方向的朋友了。现在我就是想在这个方向上发展,目前也有一些其他人的前期工作。现在主要参考DensityBasedTurbo和foam-extend-4.0中的fvBlockMatrix等相关内容。

    目前梳理一下主要还有几方面工作亟待完成:

    1. 完善的通量分裂格式代码,这个之前已经有很多实现了,包括foam-extend中的dbns实现;
    2. 低马赫数流动的预处理方法;
    3. 基于blockMatrix的隐式时间格式,或者更方便的LU-SGS方法。不幸的是,如果使用预处理方法,求解的矩阵还会是block格式的。

    如果以上几个方面OK的话,在OpenFOAM中实现与fluent相似的密度基求解器就可行了。目前最头痛的问题是OpenFOAM的官方版本至今也没有推出blockMatrix求解实现的计划,看现在的情况,只能在foam-extend下实现。

    ps:看过foam-extend 中blockLduMatrix的主要实现,基本在基本库foam中,对应官方版本的OpenFOAM基本库。由于这个库很低层,如果想实现移植是一个很大的工程。各版本各有优势,大牛们又各自为战,有时候也忍不住想吐槽一下。

    天命之谓性;率性之谓道;修道之谓教。
    道也者,不可须臾离也;可离,非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。
    莫见乎隐,莫显乎微。故君子慎其独也

    程 N 2 条回复 最后回复
  • 程 离线
    程 离线
    程迪
    在 中回复了 youmengtian 最后由 编辑
    #15

    @youmengtian

    通量分裂是不是还分FVS和FDS,还是现在大家都融合到一块儿了?

    我刚入手,但是觉得有点问题的地方在于:

    • OpenFOAM的lduMatrix会不会对求解器开发构成限制?这样隐式项只有neighbour部分的影响,其他全部搞成deferred correction了;
    • OpenFOAM貌似没有自带的计算数值通量的函数库,连界面两侧的插值获取都要手动实现(类似rhoCentralFoam),感觉不是很方便;
    • 对blockMatrix不太了解,但是感觉在限制器设计上是不是还有很多工作要做?毕竟多维扩展的矢量限制器想想就可怕;
    • 从时间项来看感觉OpenFOAM只有线性单步法的时间推进(time stepping)算法,连线性多步法都没有,还得自己实现;
    • 低Mach数理论上可以用预条件,但是必要性存在问题呀,完全可以用不可压缩的求解器嘛;
    • 除了LU-SGS外还其他的方法会不会更好一些?JFNK/IDR(s)之类的?感觉lduMatrix还是很适合稀疏算法的。

    已婚,勿扰。
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    1 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    写于 最后由 编辑
    #16

    其实不管fvs还是fds,或者有融合二者的AUSM系列,都可以抽象成输入网格面两边格心的原始变量,通过相应变换生成守恒通量。也就是说通量分裂格式在代码实现上可以抽象成一个系统。

    另外roe AUSM HLLC等等格式都是一阶精度,通过限制器可以实现二阶精度。也就是在这个基本数值通量上,通过限制器实现插值重构。

    另外blockldumatrix基本迭代求解方法可以类比ldumatrix。本质上ldumatrix可以认为是blockldumatrix<scalar>。当然存在一些自己独特的block子矩阵特殊处理方法。目前一些求解器通过先生成fvmatrix然后后期组装成fvblockmatrix。就目前状况,如果不涉及隐式时间项,可以在不涉及blockmatrix的前提下实现。

    其实不管是压力基还是密度基,都在努力扩展求解范围。很多实际问题并不会有明显区别,甚至有跨多流态的问题。

    以上,自己的一些理解,希望进一步交流

    天命之谓性;率性之谓道;修道之谓教。
    道也者,不可须臾离也;可离,非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。
    莫见乎隐,莫显乎微。故君子慎其独也

    程 1 条回复 最后回复
  • 程 离线
    程 离线
    程迪
    在 中回复了 youmengtian 最后由 编辑
    #17

    @youmengtian

    我的理解和您不一样,我的理解是限制器只在interpolation阶段有用,(代码显示OF也是只在interpolation阶段有用限制器,玩的似乎是flux limiter的路数而不是gradient limiter,但是感觉很奇怪),守恒通量是用Riemann求解器搞出来的,Roe/AUSM/HLLC都算是Riemann求解器,大概意思是从两侧的通量整出个新通量出来。整出的新通量还要用限制器限制么?我觉得应该不用了吧,限制器需要一个比较范围,新通量算出来和谁比较呢?

    按理说FVM搞Reconstruction, Evolution, Projection三步的时候,limiter也是只在Reconstruction步起作用,Evolution步应该不起作用吧,除非在Projection步起作用?

    block只要是方阵非奇异,自己也能构成一个数域(field,像整数复数一样)做加减乘除,抽象来看和单个张量没太大区别。

    关键是现在sparse linear solver挺多的呀,OF为啥不直接调用呢?

    p.s. 我觉得OF有一点儿我没看懂,丫的本质上是个semi-implicit的Picard迭代,我看的文献显示semi-implicit的formulation很难做到很快的加速,除非你把快的物理过程和能量占比比较小的部分搞隐式了才行。但是OF把粘性项都给搞成一半隐式一半deferred correction了,搞得特别隐式有必要么?(我对deferred correction的理解就是显式的,除非多迭代几次)

    p.s.2 因为OF没有求Jacobian,是求的全量,所以我觉得它是Picard迭代,而不是Newton迭代。

    已婚,勿扰。
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    Y 1 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    写于 最后由 编辑
    #18

    对,您理解的没错。就是在插值的时候用到限制器。roe等得到的一阶数值通量通过插值获得二阶或者最高二阶的计算通量

    天命之谓性;率性之谓道;修道之谓教。
    道也者,不可须臾离也;可离,非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。
    莫见乎隐,莫显乎微。故君子慎其独也

    程 1 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    在 中回复了 程迪 最后由 编辑
    #19

    @程迪 其实调用hypre等的矩阵求解器也并非不行。不过openfoam可能考虑到效率等问题吧,这方面还真不清楚。不过原则上openfoam也能够使用第三方矩阵求解器,我觉着

    天命之谓性;率性之谓道;修道之谓教。
    道也者,不可须臾离也;可离,非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。
    莫见乎隐,莫显乎微。故君子慎其独也

    程 1 条回复 最后回复
  • 程 离线
    程 离线
    程迪
    在 中回复了 youmengtian 最后由 编辑
    #20

    @youmengtian

    sorry, 没看懂,数值通量是在界面的,surfaceScalarField怎么通过限制器差值得到另一个surfaceScalarField呢?毕竟最后要求div的。

    已婚,勿扰。
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

    Y 1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]