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
    在 中回复了 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 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    在 中回复了 程迪 最后由 编辑
    #21

    @程迪 其实就是reconstruction

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

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

    @youmengtian

    我觉得会不会是lduMatrix结构比较特殊,和常见的sparse linear algebra的矩阵数据结构CCS,COO啥的都不一样。但是我觉得不应该呀,这玩意儿和directed graph的adjacency matrix表示是一样的呀。应该用得还蛮多的吧...

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

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

    @程迪 本质上就是稀疏矩阵,主要是它有自己的lduaddressing五list的存储格式相关。因此在实际求解中自己实现比较便利。

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

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

    @youmengtian

    嗯,关键还是写好胶水代码。

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

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

    @程迪 其实我倒是觉着,cfd-china如果希望长期发展真的也有必要维护自己的一个openfoam的版本库,自己有一个子团队独立开发。这样以后也有足够的影响力,毕竟拿代码说话更实际已写完。

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

    C 1 条回复 最后回复
  • C 离线
    C 离线
    CFD中文网
    在 中回复了 youmengtian 最后由 编辑
    #26

    @youmengtian 在 OF可压流求解器 中说:

    cfd-china如果希望长期发展真的也有必要维护自己的一个openfoam的版本库,

    之前有个第三方求解器专区,现在已经删除了,因为没人贡献代码。不过我倒是支持一些国人写的库。这方面我曾经和 @李东岳 讨论过,最后不了了之。目前来看,国内估计没有人会在这方面有所贡献,按照岳哥的想法,限制性很多:big_mouth: :big_mouth:

    CFD中国标准用户测试帐号
    目前由徐笑笑登录

    Y 程 2 条回复 最后回复
  • Y 离线
    Y 离线
    youmengtian
    在 中回复了 CFD中文网 最后由 编辑
    #27

    @cfd-china 的确存在这个问题。之前去知乎上也有讨论,由于国内知识产权问题,做开源还是个费力不讨好的事儿

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

    1 条回复 最后回复
  • 程 离线
    程 离线
    程迪
    在 中回复了 CFD中文网 最后由 编辑
    #28

    @cfd-china @youmengtian

    我觉得关键的限制性因素有两个:

    • OF是GPL的,有传染性,修改、调用的代码必须同样以GPL开源,这就排除了收费盈利的可能性;
    • 中国IP保护就是个SHIT,参考:

    目前,中国《著作权法》和《计算机软件保护条例》并没有对开源软件进行规定。在2011年北京市海淀区人民法院一审、北京市第一中级人民法院终审判决的一起案件中,两审法院虽然都认定开源协议有效,但仍然支持违反GNU GPL协议,没有公开其新增的软件源代码的原告方未公开的源代码享有著作权。

    某律师观点:本案显示了中国法院的实用主义特点。从逻辑上,法院的观点是不成立的,既然法院承认开源软件协议是有效的,那么使用开源软件开发软件者就应当遵守协议的规定,如果不遵守开源协议,其软件就不应当受到法律保护。但是目前90%以上的开源软件代码是国外开发者贡献,中国公司贡献很少,因此,不保护开源软件对国内产业影响不大,同时,目前法院需要保护国内竞争秩序,中国国内开发者不规范使用开源软件的情况比较普遍,虽然本案中的原告违反了开源协议,但其还是为软件付出了一定创造性劳动,如果不予保护,将使类似公司都面临问题,从而影响国内市场的竞争秩序。

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

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #29

    最近也在实现一种通量计算方法,主要用于High order kinetics based finite volume method (KBFVM)( http://www.sciencedirect.com/science/article/pii/S0021999109004070 ). 目前并没有中文文献做这个,也不知道怎么翻译。主要思想是迎风格式比较耗散,高阶格式有时会不稳定(虽然理论上TVD是稳定的) http://www.cfd-china.com/topic/729/一阶迎风的耗散性/2 于是针对我的研究领域我需要植入KBFVM(基于rhoCentralFoam)。在实现了算法之后,我发现原来和通量分裂的想法是相同的。我们这个领域叫做KBFVM,空气动力学领域称之为通量分裂?:surprised:

    看来还得多涉猎,才能各个领域的技术互相贯通。

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

    L Y 2 条回复 最后回复

  • 登录

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