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
5 帖子 2 发布者 3.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    SHUKK
    写于 最后由 编辑
    #1
    void kEpsilonNN::correctNonlinearStress(const volTensorField& gradU)
    {
        timeScale_=k_/epsilon_;
    
        // Linear (nut)
        nut_ = -g1_*k_*timeScale_;
        nut_.correctBoundaryConditions();
    
        // nolinear(tau_NL)
        volSymmTensorField S(timeScale_*symm(gradU));
        volTensorField W(timeScale_*skew(gradU));
    
        nonlinearStress_ =2*k_*(g2_ * twoSymm(S&W)+ g3_ * dev(innerSqr(S))+ g4_ * dev(symm(W&W))
                 + g5_ * twoSymm(W&innerSqr(S))+ g6_ * dev(twoSymm(W&W&S))+ g7_ * twoSymm(W&S&W&W)
                 + g8_ * twoSymm(S&W&innerSqr(S)) + g9_ * dev(twoSymm(innerSqr(S)&W&W))
                 + g10_ * twoSymm(W&innerSqr(S)&W&W));
    }
    
    

    目前是在雷诺应力中加了各向异性项nonlinearStress,是按照LienCubicKE.C来修改的,其中g1到g10是一个标量场,在0文件夹下面读取。现在是湍流模型编译能通过,但是在调用simple求解器时候计算出现问题。

    Time = 2
    
    smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0279014, No Iterations 2
    smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0209915, No Iterations 2
    smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 0.0274975, No Iterations 2
    GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0920741, No Iterations 4
    time step continuity errors : sum local = 7.40969e+91, global = -1.79495e+89, cumulative = -1.79495e+89
    smoothSolver:  Solving for epsilon, Initial residual = 1, Final residual = 0.0321531, No Iterations 3
    bounding epsilon, min: -1.33631e+104 max: 1.64016e+103 average: -1.01414e+99
    smoothSolver:  Solving for k, Initial residual = 1, Final residual = 0.072621, No Iterations 2
    bounding k, min: -1.34214e+100 max: 1.0091e+99 average: -9.64939e+94
    [1] #0  Foam::error::printStack(Foam::Ostream&)[6] #0  Foam::error::printStack(Foam::Ostream&)[7] #0  Foam::error::printStack(Foam::Ostream&)[8] #0  Foam::error::printStack(Foam::Ostream&)[9] #0  Foam::error::printStack(Foam::Ostream&)[12] #0  Foam::error::printStack(Foam::Ostream&)[13] #0  Foam::error::printStack(Foam::Ostream&)[15] #0  Foam::error::printStack(Foam::Ostream&)[2] #0  Foam::error::printStack(Foam::Ostream&)[5] #0  Foam::error::printStack(Foam::Ostream&)[3] #0  Foam::error::printStack(Foam::Ostream&)[11] #0  Foam::error::printStack(Foam::Ostream&)[10] [14] #0#0  [4] #0    Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[0] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    [1]  at ??:?
    #1  Foam::sigFpe::sigHandler(int) at ??:?
    [2] #1  Foam::sigFpe::sigHandler(int)[10] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [15] #1  Foam::sigFpe::sigHandler(int) at ??:?
     at ??:?
     at ??:?
     at ??:?
    [5] #1  Foam::sigFpe::sigHandler(int)[13] #1  Foam::sigFpe::sigHandler(int)[14] #1  Foam::sigFpe::sigHandler(int) at  at [6] #1   at ??:?
    ??:?
    Foam::sigFpe::sigHandler(int) at ??:?
     at ??:?
    ??:?
     at ??:?
     at ??:?
     at ??:?
    [7] #1  [8] #1  Foam::sigFpe::sigHandler(int)Foam::sigFpe::sigHandler(int)[12] #1  Foam::sigFpe::sigHandler(int)[0] #1  Foam::sigFpe::sigHandler(int)[4] #1  Foam::sigFpe::sigHandler(int)[9] #1  Foam::sigFpe::sigHandler(int)[3] #1  Foam::sigFpe::sigHandler(int)[11] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [5] #2  ? at ??:?
    [10] #2  ? at ??:?
    

    对此,我为了验证是不是我代码写错的问题,我用了一个简单的二维方管来验证,发现可以计算,效果还可以。我也把我修改的地方一一注释找问题,也没找到问题所在。有人知道是什么问题吗?

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

    这个看起来就是发散了。你的k与epsilon都越界了。

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

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

    @李东岳 李老师,我现在检查了OF有关非线性雷诺应力,也就是各向异性的代码和公式。
    4f4882c1-723f-495c-b6a2-b12be9476297-image.png
    看您在NS无痛苦笔记中写的,是在线性项后面加上非线性项的,但是在OF代码中,为啥是减上非线性项呢?
    77515abb5ec5756d8063a2ebbadb0e6.png

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #4
    1. 总的tau=线性的tau+非线性的tau
    2. 那个G就是那个定义

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

    S 1 条回复 最后回复
  • S 离线
    S 离线
    SHUKK
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 谢谢李老师,我再回去看看是不是我公式的问题

    1 条回复 最后回复

  • 登录

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