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. 拉格朗日一个bug

拉格朗日一个bug

已定时 已固定 已锁定 已移动 OpenFOAM
15 帖子 10 发布者 14.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #1
    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  5.x                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       Cloud<basicKinematicParcel>;
        location    "1/lagrangian/kinematicCloud";
        object      positions;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    2
    (
    (2.220446049e-15 0.5 2.264460241e-20 0.5) 3 2 2//???不是矢量
    (2.442490654e-15 0.5 0.5 1.748381882e-17) 4 3 1//???不是矢量
    )
    

    Cloud<basicKinematicParcel>这个的position()没写对。

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

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

    上述代码为OpenFOAM-5.x下的结果,经测试OpenFOAM-4.x结果正确。拉格朗日这面玩的这么少么?不仅是Cloud<basicKinematicParcel>,Cloud<basicKinematicCollidingParcel>也有这个问题。

    4.x:

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  4.x                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       Cloud<basicKinematicCollidingParcel>;
        location    "5/lagrangian/kinematicCloud";
        object      positions;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    850
    (
    (0.1652375049 0.5 0.5) 0
    (0.3082808448 0.5 0.5) 0
    (0.09319717789 0.5 0.5) 0
    (0.1760049582 0.5 0.5) 0
    (0.1925717587 0.5 0.5) 0
    (0.3543820922 0.5 0.5) 0
    

    5.x:

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  5.x                                   |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       Cloud<basicKinematicCollidingParcel>;
        location    "5/lagrangian/kinematicCloud";
        object      positions;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    850
    (
    (0.3261957614 0.3369021193 0.3369021193 0) 0 9 2//什么东西这是?。。
    (0.4001988533 0.2999005734 0.2999005734 0) 0 9 2
    (0.1530216921 0.4234891539 0.4234891539 0) 0 9 2
    (0.3338597466 0.3330701267 0.3330701267 0) 0 9 2
    (0.3488235028 0.3255882486 0.3255882486 0) 0 9 2
    (0.4730656805 0.2634671597 0.2634671597 0) 0 9 2
    (0.2571585867 0.3714207066 0.3714207066 0) 0 9 2
    (0.4849837396 0.2575081302 0.2575081302 0) 0 9 2
    (0.1467023563 0.4266488218 0.4266488218 0) 0 9 2
    (0.2706319485 0.3646840257 0.3646840257 0) 0 9 2
    (0.3640142443 0.3179928778 0.3179928778 0) 0 9 2
    (0.2279260728 0.3860369636 0.3860369636 0) 0 9 2
    

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

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yuan
    写于 最后由 编辑
    #3

    这个跟颗粒追踪算法的更新有关吧,在 Openfoam 5.0 的发布说明里有提到(OpenFOAM Barycentric Tracking),更新之后颗粒输出的格式与之前版本不兼容。

    在 $FOAM_SRC/lagrangian/basic/particle/particleIO.C 中可以看到保存颗粒位置信息时的区别(writePosition 函数):

    之前版本中为

    os  << position_ << token::SPACE << celli_;
    

    在 5.0 版中为

    os  << coordinates_
         << token::SPACE << celli_
         << token::SPACE << tetFacei_
         << token::SPACE << tetPti_;
    

    变量的定义在 $FOAM_SRC/lagrangian/basic/particle/particle.H 中可以找到。

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

    有道理!确实输出的是

    os  << coordinates_
         << token::SPACE << celli_
         << token::SPACE << tetFacei_
         << token::SPACE << tetPti_;
    

    5.x下面怎么后处理呢?paraview提示

    ERROR: In /home/buildslave/dashboards/buildbot/paraview-pvbinsdash-linux-shared-release_superbuild/build/superbuild/paraview/src/VTK/IO/Geometry/vtkOpenFOAMReader.cxx, line 8285
    vtkOpenFOAMReaderPrivate (0x5e89d60): Error reading line 20 of /home/dyfluid/OpenFOAM_tutorials/5.x/lagrangian/DPMFoam/Goldschmidt/0.01/lagrangian/kinematicCloud/positions: Expected punctuation token ')', found 0
    

    我看5.0把position位置矢量写到obj文件里面去了

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

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

    um, 看来得学习学习barycentric坐标这个玩意

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

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

    @李东岳 我这里后处理可以用 paraFoam,也可以先运行 foamToVTK 后用 paraview。 没见过这个错误,可能是因为我编译 OpenFOAM 时顺便编译了 paraview ?

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

    嗯,有可能,我没编译paraFoam,用的是paraview。

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

    1 条回复 最后回复
  • 马乔马 离线
    马乔马 离线
    马乔 大神
    写于 最后由 编辑
    #8

    5.X用了粒子所在剖分四面体内的权重作为局部坐标,这样省去了很多计算量,但是对后处理不友好了,因为之前一直都是输出的全局坐标。

    装逼没输过,吵架没赢过!

    1 条回复 最后回复
  • 浪 离线
    浪 离线
    浪迹天大
    写于 最后由 编辑
    #9

    请问有好的方式处理这个问题吗?

    OpenFOAM 学习交流:https://openfoam.top

    Y 1 条回复 最后回复
  • Y 离线
    Y 离线
    Yufeng Wei
    在 中回复了 浪迹天大 最后由 编辑
    #10

    @浪迹天大 今天遇到了这个问题,解决方法就是楼上说的,用paraFoam 打开:wocao:

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yfclark 神
    写于 最后由 编辑
    #11

    @Yufeng-Wei 要么改用基金会版本,基金会版本专门做了优化,自动把质心坐标转化为三维坐标,要么试一试这个https://github.com/blueCFD/lagrangianExtraFunctionObjects

    1 条回复 最后回复
  • Y 离线
    Y 离线
    yuhx
    写于 最后由 编辑
    #12

    我也遇到了这个问题,查了一圈~发现FoamToVTK比较好使,可以输出保存颗粒数据,但是一定注意scv文件不要用excel打开,否则会自动删减数据!(这是什么神奇的操作不清楚)

    M 1 条回复 最后回复
  • M 离线
    M 离线
    myjimp
    在 中回复了 yuhx 最后由 编辑
    #13

    @yuhx 你好,转化为VTK显示不出粒子,是什么情况?

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

    用blueCFD转化了粒子坐标后(https://github.com/blueCFD/lagrangianExtraFunctionObjects/tree/OF5x) 突然遇到了另一个报错 看起来像是转化过程中浮点数出错了 后面找了代码 发现是调用了regIOobject::write(cloud_.size())这个函数,然而我只在of里找到了 virtual bool write(const bool write = true) const这个函数 看起来不太对的样子

    请问有人遇到过吗 请问如何解决?6b9ed312-dc28-4275-bb50-f401e38a6d4b-image.png

    1 条回复 最后回复
  • 疏影横斜水清浅疏 离线
    疏影横斜水清浅疏 离线
    疏影横斜水清浅
    写于 最后由 编辑
    #15

    在OpenFOAM5.X之后的版本中都改了这个position文件的记录方式,那如果想得到粒子的位置信息从而得到轨迹,是不是需要使用p.position函数得到坐标矢量,存到新的矢量变量中,这样就可以得到粒子坐标轨迹了

    1 条回复 最后回复
  • T Tens 被引用 于这个主题
  • T Tens 被引用 于这个主题

  • 登录

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