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. twoPhaseEulerFoam中的IATE模型系数

twoPhaseEulerFoam中的IATE模型系数

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

    东岳老师我通过添加输出得到了,无论对于Crc还是Cti这两项都是进行了计算,在Crc、Cti那个函数里面输出一个给定单元格R[1927]值,这时候的输出都是有值的,但是在下面函数里面输出时发现,Crc和Cti计算得到的R值均是0,是不是我上面提到的Crc和Cti的函数返回是有问题的,还是有什么其他东西,另外即使临界韦伯数判断,那对于Crc这个临界体积分数判断,应该大部分的单元格还是满足它的判定条件的,希望各位前辈指点一二,不胜感激!

      forAll(sources_, j)
        {
    Info << "\nStarting R\n" << endl;
    Info << R[1927] << endl;
            R -= sources_[j].R();
    Info << R[1927] << endl;
        }
    
    1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    写于 最后由 编辑
    #4

    各位前辈,经过验证发现,对于IATE模型中表示气泡聚合和破碎的Crc和Cti并未参与计算,因为这两个函数的返回值是tR,而进行赋值计算的是R,经过连续输出发现,赋值计算的R无论是否为0,返回值tR始终为0,因此对于Crc、Cti无论改变为多大的值对于气泡的聚合破碎毫无作用。
    在将返回值改为R以后,由于给定算例的连续相速度始终为0,而Crc和Cti计算R表达式中用到了连续相速度,所以还会出现返回值一直为0的情况,若改变算例,连续相速度给一定值后,就会发现此时返回值是tR时,返回值还一直为0,但返回值是R时,发现此时返回值就发生了变化,粒径分布也就发生了变化。因此在想是不是这个程序返回值tR是写错了还是我有哪个地方搞错了,请各位老师指点一下。另外还遇到一个问题就是在linux系统下,将返回值改正为R以后会报错如下:(以上所说的测试是基于Windows版本的绿化版本),希望各位前辈给点建议,这个错误应该怎么处理,不胜感激!

    --> FOAM FATAL ERROR: 
    different patches for fvPatchField<Type>s
    
        From function void Foam::fvPatchField<Type>::check(const Foam::fvPatchField<Type>&) const [with Type = double]
        in file /opt/openfoam4/src/finiteVolume/lnInclude/fvPatchField.C at line 209.
    
    FOAM aborting
    
    #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    #1  Foam::error::abort() at ??:?
    #2  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::operator-=(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
    #3  Foam::diameterModels::IATE::correct() at ??:?
    #4  Foam::twoPhaseSystem::correct() at ??:?
    #5  ? at ??:?
    #6  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
    #7  ? at ??:?
    已放弃 (核心已转储)
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #5

    @upc_ngh 在 twoPhaseEulerFoam中的IATE模型系数 中说:

    由于给定算例的连续相速度始终为0

    这个不应该啊?为什么是0

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

    U 1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 这个地方我表述错了,但是在算例中即使把Crc、Cti调整到100000000这个量级对计算结果还是毫无影响,即使存在临界数的判断,Crc这个依靠相分数判断的碰撞聚集项肯定会发生变化。还有就是对R赋值,返回却是tR,这个地方对吗,我现在是这个地方不理解,谢谢东岳老师的解答。

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

    把这一行

    volScalarField R = tR();
    

    改成

    volScalarField& R = tR.ref();
    

    再试试

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

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

    怎么样 有进展么

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

    U 1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    写于 最后由 编辑
    #9

    东岳老师不好意思,我现在试试,刚看到您的回复贴

    1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    在 中回复了 李东岳 最后由 编辑
    #10

    @李东岳 东岳老师我刚刚试了一下,还是不行,会报同样的错误

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

    我测试了一下,可以编译

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

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

    @李东岳 对的,可以编译,但是运行算例还是会报错,和我以前一样,编译通过,运行出错

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

    4楼那个错误么,我测试了下运行也没有错误,你是不是动别的东西了

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

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

    那老师方便把您改动好的代码发我一下吗,我对着检查再看看,谢谢老师

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

    把这一行

    volScalarField R = tR();
    

    改成

    volScalarField& R = tR.ref();
    

    就这个 没别的了

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

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

    那最后一行还是return tR吗?

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

    :142:

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

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

    这种情况,我一会再测试一下Crc和Cti是否参与了计算,谢谢老师百忙之中抽空解答我的疑惑,谢谢:xinxin3:

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

    有进展么

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

    U 1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    在 中回复了 李东岳 最后由 编辑
    #20

    @李东岳 目前是这样的,按照东岳老师您的意见更改完以后,是可行的,Crc和Cti均可以正常参与计算了。但是计算结果和在windows下仅仅返回R的计算结果是不一样的,不知道其中原因。目前正在使用老师您的结果在跑,观察计算结果,十分感谢东岳老师的帮助:high:
    第二种是仅仅把

    return tR;
    改成
    return R;
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #21

    结果怎么样

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

    U 1 条回复 最后回复
  • U 离线
    U 离线
    upc_ngh
    在 中回复了 李东岳 最后由 李东岳 编辑
    #22

    @李东岳 已经完全正常了,多谢东岳老师一路指点,谢谢。首先能获得结果,然后再获得精准的结果:146:

    1 条回复 最后回复

  • 登录

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