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. 如何人为将曲率给定为一个定值

如何人为将曲率给定为一个定值

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

    问题简要: 如何将interFoam, interIsoFoam中每次计算界面曲率的时候,人为将曲率给定为一个定值,这个想法如何在interFoam中如何实现。

    (我想这样就能代表微细在气泡浮升过程中一直不发生变形,从而通过自由浮升仿真的方式获得气泡浮升终速度。)


    我们这篇帖子所提到的都是用固定气泡的方式来分析微气泡的阻力系数。

    54baa8bb-b690-4f78-a43e-31943d6f8ccf-image.png

    我导师一直倾向于用自由浮升的方式研究微气泡终速度和阻力系数(因为想的是自由浮升更加接近实际情况),但是测试过程中发现,当气泡尺寸过小时,特别是对于水中自由浮升的微气泡,就下面这篇帖子曾说到的,interFoam算不出来。

    8f1eeb82-ef56-4fa0-ab22-1b5214d1141a-image.png

    interFoam模拟微管道中气泡上升,为何气泡不上升?

    或者说不管是interFoam,还是interIsoFoam,他们都算的并不准。
    此前我做过相关的计算测试:目的是想用interFoam和interIsoFoam复现出在纯水中1.82mm左右的气泡会发生路径失稳的实验现象(路径摇摆、偏离直线),但不论是速度形状都对的不准,因此当时的结果也并没有保留,感兴趣的朋友如果想复现的话可以从Bubble rising in a spiralling path in a large tank by Lionel Gamet给出的案例更改工质为水中气泡浮升,但是需要注意的是,这个的网格量非常大。

    纯水中1.82mm左右的气泡会发生路径失稳的说法来源于这篇文献:
    Duineveld, P.C., 1995. The rise velocity and shape of bubbles in pure water at high Reynolds number. J. Fluid Mech. 292, 325–332.
    

    我想咨询的问题是:
    在interFoam模拟微管道中气泡上升,为何气泡不上升?的这篇帖子中,谈论到仿真微气泡仿真为什么不移动,大家主要是从壁面效应带来的阻力,解释了微气泡无法浮升。

    仿真微气泡自由浮升算不准,除了壁面影响以外,具体是什么原因?
    我首先想到会不会是一些文献经常提到虚假流导致的。
    

    我首先想到的是一些文献经常提到虚假流问题,大概就是说表面张力计算不准确,导致在界面重构步骤和界面推进步骤中,表面张力的数值误差反而成为了驱动气泡界面运动的原因,因此使得气泡界面发生非物理的变形。

    通过阅读东岳老师的interFoam解析我现在在想,既然微气泡几乎不变形,能不能在每次界面重构步骤中,也就是计算曲率的时候,人为的将微气泡的曲率指定为定值,这样气泡既不变形,又不会引入虚假流,因此想咨询下,人为的将微气泡的曲率指定为定值,这个想法如何实现。

    从代码中来看:

    void Foam::threePhaseInterfaceProperties::calculateK()
    {
        const volScalarField& alpha1 = mixture_.alpha1();
    
        const fvMesh& mesh = alpha1.mesh();
        const surfaceVectorField& Sf = mesh.Sf();
    
        // Cell gradient of alpha
        volVectorField gradAlpha(fvc::grad(alpha1));
    
        // Interpolated face-gradient of alpha
        surfaceVectorField gradAlphaf(fvc::interpolate(gradAlpha));
    
        // Face unit interface normal
        surfaceVectorField nHatfv(gradAlphaf/(mag(gradAlphaf) + deltaN_));
    
        correctContactAngle(nHatfv.boundaryFieldRef());
    
        // Face unit interface normal flux
        nHatf_ = nHatfv & Sf;
    
        // Simple expression for curvature
        K_ = -fvc::div(nHatf_); //我看到interFoam好像是在这里能进行人为更改,因为没有太多C++基础,也没有OpenFOAM编程经验,想向东岳老师再请教确认一下。
    
        // Complex expression for curvature.
        // Correction is formally zero but numerically non-zero.
        // volVectorField nHat = gradAlpha/(mag(gradAlpha) + deltaN_);
        // nHat.boundaryFieldRef() = nHatfv.boundaryField();
        // K_ = -fvc::div(nHatf_) + (nHat & fvc::grad(nHatfv) & nHat);
    }
    

    另外interIsoFoam不知道从哪里改起,没有理解到和curvature相关的计算公式,如果方便,想再麻烦各位老师指点,十分感谢。:xinxin:

    1 条回复 最后回复
  • P 离线
    P 离线
    pengdi
    写于 最后由 编辑
    #2

    这个是不是可以用颗粒流的办法来计算

    Prometheus10P 1 条回复 最后回复
  • Prometheus10P 在线
    Prometheus10P 在线
    Prometheus10
    在 中回复了 pengdi 最后由 编辑
    #3

    @pengdi PengDi老师您好,请问您提到的颗粒流计算办法具体是?能否麻烦您略微展开说一下。:xinxin:

    我看到了V版本的教程中Michael Alletto贡献了一个重叠网格仿真颗粒沉降的案例Settling Sphere by Michael Alletto,用的是overPimpleDyMFoam,我这段时间在看能不能根据这个将物性参数更改一下,从而把案例从圆球沉降改为气泡浮升。

    另外,@李东岳 谢谢东岳老师特地帮忙新建帖子。 :xinxin2:

    P 1 条回复 最后回复
  • P 离线
    P 离线
    pengdi
    在 中回复了 Prometheus10 最后由 编辑
    #4

    @Prometheus10 我感觉不用重叠网格吧,相当于欧拉-拉格朗日方法,OpenFoam9里面好像大多数求解器都支持这种方法,相对于对流体采用欧拉方法求解,对气泡采用拉格朗日方法求解,不用使用重叠网格。具体的我也忘记了,好久没用过了,需要在constant文件夹下面加入一个粒子属性文件。

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

    当气泡尺寸过小时,特别是对于水中自由浮升的微气泡,就下面这篇帖子曾说到的,interFoam算不出来。

    大家主要是从壁面效应带来的阻力,解释了微气泡无法浮升。

    在远离壁面的时候,也无法上升么?

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

    Prometheus10P 1 条回复 最后回复
  • Prometheus10P 在线
    Prometheus10P 在线
    Prometheus10
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳

    东岳老师,这是我最近新跑的interIsoFoam的结果;
    气泡直径100μm,壁面距离气泡体心12R,也就是两个面之间相隔550μm,但是气泡基本上保持在原地不动,并不会向上浮升。
    af79b759-4f0e-446a-bbe6-4400bb9cec93-image.png

    interFoam的结果我还在跑。

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

    如果就是一个气泡,外面没有任何的壁面的话,想不到什么力可以促使他静止。你尝试setFields的时候,速度也set一个小的上浮速度呢?比如0.1米每秒。你看他最后会停止么?

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

    Prometheus10P 1 条回复 最后回复
  • Prometheus10P 在线
    Prometheus10P 在线
    Prometheus10
    在 中回复了 李东岳 最后由 Prometheus10 编辑
    #8

    @李东岳 好的,东岳老师,我试试按照您说得这样算一下。

    另外我应该补充一下,100μm直径气泡的实验测得的浮升终速度大约是0.005~0.008m/s.

    e584ada7-1a05-4bb6-8cd8-f1e1997c43cc-image.png

    参考文献
    Pawliszak, P., Ulaganathan, V., Bradshaw-Hajek, B.H., Manica, R., Beattie, D.A., Krasowska, M., 2019. Mobile or Immobile? Rise Velocity of Air Bubbles in High-Purity Water. J. Phys. Chem. C 123, 15131–15138.
    
    1 条回复 最后回复

  • 登录

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