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. 请教下dragmodel问题

请教下dragmodel问题

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

    请问下在使用twophaseeulerfoam解算器时出现这样的问题是怎样导致的?我查看了解算器源文件里的dragmodel代码但里边都是一些类的声明,没发现有等式或方程定义变量之类的。

    #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    #1  Foam::sigFpe::sigHandler(int) at ??:?
    #2  ? in "/lib/x86_64-linux-gnu/libc.so.6"
    #3  ? in "/lib/x86_64-linux-gnu/libm.so.6"
    #4  pow in "/lib/x86_64-linux-gnu/libm.so.6"
    #5  Foam::pow(Foam::Field<double>&, Foam::UList<double> const&, double const&) at ??:?
    #6  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::pow<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensioned<double> const&) at ??:?
    #7  Foam::dragModels::SchillerNaumann::CdRe() const at ??:?
    #8  Foam::dragModel::Ki() const at ??:?
    #9  Foam::dragModel::K() const at ??:?
    #10  Foam::BlendedInterfacialModel<Foam::dragModel>::K() const at ??:?
    #11  Foam::twoPhaseSystem::Kd() const at ??:?
    #12  ? at ??:?
    #13  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
    #14  ? at ??:?
    
    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 lixh 最后由 编辑
    #2

    @lixh 有可能你的模型里面某个值过大了。用的哪个版本?

    这个是SchillerNaumann的定义:

    Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::CdRe() const
    {
        volScalarField Re(pair_.Re());
    
        return
            neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
          + pos(Re - 1000)*0.44*max(Re, residualRe_);
    }
    

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

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

    @李东岳 我用的是4.0版本的,将算例中的模型网格尺度变小之后也会这样。请问下东岳老师,SchillerNaumann定义里的neg是表示负号 的意思吗?

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

    @lixh neg内的参数如果是负值,则返回1,如果为正值,则返回0. 他是一个增加计算速度的函数,就不用循环了。

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

    1 条回复 最后回复
  • L 离线
    L 离线
    lixh
    写于 最后由 编辑
    #5

    谢谢您,pos就是负数返回0,正数返回1,是吧:happy:

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

    @lixh 是的

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

    1 条回复 最后回复
  • 一 离线
    一 离线
    一颗鸭蛋
    写于 最后由 编辑
    #7

    请问题主这个问题解决了吗?

    1 条回复 最后回复

  • 登录

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