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中文网

A

anubis

@anubis
关于
帖子
56
主题
14
群组
0
粉丝
1
关注
1

帖子

最新

  • bunrs湍流耗散力
    A anubis

    又仔细看了一下,两个版本应该是差不多的。
    相对速度是因为CdRe不是曳力系数 而是曳力系数×雷诺数 所以可以用粘度、直径还有密度换算成相对速度。


  • bunrs湍流耗散力
    A anubis

    com版本和org版本的burns湍流耗散力好像不太一样

    OpenFOAM8里的

    Foam::turbulentDispersionModels::Burns::D() const
    {
        const fvMesh& mesh(pair_.phase1().mesh());
        const dragModel& drag =
            mesh.lookupObject<dragModel>
            (
                IOobject::groupName(dragModel::typeName, pair_.name())
            );
    
        return
            drag.Ki()
           *continuousTurbulence().nut()
           /sigma_
           *pair_.dispersed()
           *sqr(pair_.dispersed() + pair_.continuous())
           /(
                max(pair_.dispersed(), pair_.dispersed().residualAlpha())
               *max(pair_.continuous(), pair_.continuous().residualAlpha())
            );
    }
    

    OpenFOAM2012里的

    Foam::turbulentDispersionModels::Burns::D() const
    {
        const fvMesh& mesh(pair_.phase1().mesh());
        const dragModel&
            drag
            (
                mesh.lookupObject<dragModel>
                (
                    IOobject::groupName(dragModel::typeName, pair_.name())
                )
            );
    
        return
            0.75
           *drag.CdRe()
           *pair_.continuous().nu()
           *pair_.continuous().turbulence().nut()
           /(
                sigma_
               *sqr(pair_.dispersed().d())
            )
           *pair_.continuous().rho()
           *pair_.dispersed()
           *(
               1.0/max(pair_.dispersed(), residualAlpha_)
             + 1.0/max(pair_.continuous(), residualAlpha_)
            );
    }
    
    

    公式应该是
    6bd2f00f-aa3e-4c3e-bc02-ba62f01dfd1b-image.png
    按照这个公式,感觉2012版本里的比较接近,但是还不太一样,相对速度Ur,在2012的代码里好像变成了连续相的粘度除以离散相直径,虽然量纲和速度是一样的,但是不太明白为什么会这样?


  • 粒子与网格归属问题
    A anubis

    @李东岳
    遍历一次就可以了吧,我原来的想法是每次往数组最后添加元素(粒子的编号),不过刚搜了一下C++的数组大小是固定的(C++学的不太扎实), 换成vector可能可以?


  • 粒子与网格归属问题
    A anubis

    @李东岳 在 粒子与网格归属问题 中说:

    遍历粒子的话,是不是更好点,就不需要遍历网格了?但这个算法没想出来 是不是岁数太大咯

    假设有m个网格,那就建m个空数组,知道的是粒子对应的网格编号嘛? 那就遍历粒子的时候把粒子的序号添加到对应的数组里就可以了吧。
    不过这个方法要建m个数组,感觉也不是太好,肯定有更好的办法,不过编程能力有限只能想到这个。


  • 请教一个cyclic边界条件的问题
    A anubis

    @李东岳
    https://www.cfd-online.com/Forums/openfoam-solving/175539-cyclic-patchtype-inletoutlet-boundary-condition.html
    我是这个帖子看到有人提到他用inletoulet和cyclic 一起用的,不过他说并行有问题,
    所以我试了一下串行的时候确实可以, 并行我倒是没试过。
    我感觉两个物理量,一个循环,另一个就普通的进出口,在理论上也没啥问题吧?只是openfoam给了patchtype以后,有的边界条件就能在cyclic patch type上用了。


  • 请教一个cyclic边界条件的问题
    A anubis

    @李东岳 我现在用了inletoutlet , 是可以和cyclic的patchtype一起用的


  • 请教一个cyclic边界条件的问题
    A anubis

    我想要做一个周期性循环的算例,但是不是所有的物理量都是循环的,标量场(比如温度)的进口是一个固定的值,可以在cyclic的patchtype实现这个吗?


  • 关于openfoam中使用的双流体模型
    A anubis

    在看《Computational Fluid Dynamics of Dispersed Two-Phase Flows at High Phase Fractions》的时候碰到一个不太理解的地方。
    一般的相间动量传递可以写成方程(3.10)
    1.png
    为了模拟phase inversion, 方程(3.11)加入了b相变成离散相时的曳力、升力等。
    但对于方程(3.11)的曳力相,如果仍然是a相为离散相的情况,$\alpha_a$→0 ,$ f_a$→0,
    那曳力相前面的部分不就变成$3/4\alpha_a\alpha_b(f_b\frac{C_{db}\rho_a}{d_b})$,和(3.10)里的不一样,b相变成分散相时候应该才是这个形式,虚拟质量力也是一样的情况。 升力也对不上。

    2.png


  • interFoam + 非正交网格计算
    A anubis

    最近算了一个气泡在静水中上升, 计算域用的是圆柱,气泡从底部开始上升,底面wall边界,侧面和顶部零梯度边界。
    发现气泡尾部的速度场不太对,如图。
    在O型网格划分的四个方向分别出现了一块区域速度比较大。这个应该是非物理的,如果换成完全正交的网格就不会出现。snGradSchemes采用的是corrected, PIMPLE循环中nCorrectors设置为3次,nNonOrthogonalCorrectors设置为3次。 不知道还有没有别的地方会造成影响,有没有大神有思路或者碰到过类似的问题的。
    微信截图_20210407160435.png 微信截图_20210407160449.png


  • tecplot如何提取一条曲线上的数据
    A anubis

    @小考拉 第四张图和第五张图就是tecplot的


  • interPlicFoam
    A anubis

    @队长别开枪 在 interPlicFoam 中说:

    @anubis 法向量需要单位化,isoadvector里应该存的面积矢量,需要单位化

    单位化以后没问题了,多谢大佬


  • interPlicFoam
    A anubis

    我发现是因为我改动了orientation函数, 我是先用isoadvector重构了一遍界面,取了界面的法相方向,在orientation函数中又赋值给了interface.n(),
    如果采用原先的cellNormals.operator[]来进行赋值的话,是没有问题的,计算出来的体积和实际上alpha1所占有的体积是相同的。
    但是我没想明白为什么会这样,我大致学习了一下您的论文,我感觉界面的法相方向应该是不会影响重构出来的体积大小的吧? 应该也不是方向弄反了,如果反了的话两个值应该一直会差很多才对。


  • interPlicFoam
    A anubis

    又碰到一个问题,我自己写了个函数计算网格内的液相体积, surface与网格的交点是从plicFacePoints()函数读过来的,
    比较了一下计算出来的液相体积和alpha1乘以网格体积的值, 对大部分网格,两个值基本上是一致的,误差在0.1%以内,但是当alpha1接近0或者1的时候,误差有时候就比较大了。
    下面是我碰到的一个误差最大的网格, 我用的是长方体的网格,PointLists_是网格的8个点,isofacePoints_ 是surface与网格的交点,VolumeIntegrate_ 是我自己写的函数计算出来的体积, alpha1_ * mesh_.V 就是这个网格内的alpha1乘以体积,test_ratio是这两个值的比值。
    因为我算例是二维的,所以我自己也手算了一下,函数算出来的体积应该没有什么问题,应该是重构界面的时候出现的误差,我想请教一下有方法减少这部分的误差吗?@队长别开枪

     PointLists_ 8((0.0185 0.001 0.000522015) (0.0185 0.0015 0.000522015) (0.019 0.001 0.000522015) (0.019 0.0015 0.000522015) (0.0185 0.001 -0.000522015) (0.0185 0.0015 -0.000522015) (0.019 0.001 -0.000522015) (0.019 0.0015 -0.000522015))
     isofacePoints_ 4((0.019 0.00144899 0.000522015) (0.0189992 0.0015 0.000522015) (0.0189992 0.0015 -0.000522015) (0.019 0.00144899 -0.000522015))
    VolumeIntegrate_ = 2.11363e-14
     alpha1_ * mesh_.V =  1.80361e-14
    test_ratio = 0.853322
    

  • interPlicFoam
    A anubis

    @队长别开枪
    确实有用, 现在好多了


  • interPlicFoam
    A anubis

    @队长别开枪
    我测试了一下interIsoFoam和interPlicFoam重构的界面,感觉plic的界面精度不太够
    alpha的场是这样的,气液相左右平分一个比较斜的网格。
    微信截图_20210108125823.png
    把重构出来的界面写到文件里面打开查看,左边是iso重构的界面,右边是plic重构的界面,可以看到iso重构出来的界面基本上符合实际的相界面,而plic重构出来的界面波浪形特别严重。大佬有思路改进这个问题吗?
    11.png


  • interPlicFoam
    A anubis

    @队长别开枪 我最近就是在修改interIsoFoam里的积分计算方法,但结果总是不好,二维计算的结果还可以,但是一算三维的气泡,速度场就会在局部出现很大的值。我感觉是因为我把它的界面当作平面来处理了,只取面的前3个点来做计算,我准备根据interPlicFoam计算得到的界面再试试看。


  • interPlicFoam
    A anubis

    大佬问个问题,您这个求解器重构的界面是平面吗? 我之前用的interIsoFoam, 看他论文里说iso-surface他是处理成非平面的,我对比了一下of1906中的interIsoFoam和您这个求解器, 我感觉他的求解器在算气泡上升的过程和interFoam差距很大,您这个更加接近


  • tecplot如何提取一条曲线上的数据
    A anubis

    @小考拉
    看到这个帖子想到了我碰到的一个问题。
    我的计算结果是一条线上的值,并且只在一层网格内存在值。
    4.png
    但是后处理软件把cell data 插值到Point data后,这个值就减半了。
    5.png
    然后对这条线进行绘图,绘制出来的数据都是减半后的数据。
    paraview:
    3.png
    tecplot
    1.png
    2.png

    这个问题我是一直没有找到解决方法,因为不是很关键所以也没太纠结,不知道有没有大佬有思路的。


  • setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
    A anubis

    @队长别开枪 是的 这个精度和效率完全够了 再次感谢大佬的工作


  • setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
    A anubis

    @队长别开枪 这个工具的功能确实是我想要实现的,非常感谢。 顺便请教一下,相交体积的计算您是怎么实现的,可以简单说一下思路吗,我自己本来这两天也在想做这个,但是没有想到特别好的办法。

  • 登录

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