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 v-2012 singleGraph 提取一条线上的数据出错

OpenFOAM v-2012 singleGraph 提取一条线上的数据出错

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

    各位老师好,求助
    我使用v-2012版本自带的singleGraph工具,提取半槽道流中,一条从壁面开始,垂直于壁面的线上的数据,想看速度剖面。但是不成功,报错信息如下:

    Starting time loop
    
    Fatal error in PMPI_Recv: Message truncated, error stack:
    PMPI_Recv(171)....................: MPI_Recv(buf=0x7ffd0114aa70, count=1, MPI_BYTE, src=0, tag=1, MPI_COMM_WORLD, 
    status=0x7ffd0114a8f0) failed
    MPIDI_CH3U_Receive_data_found(131): Message from rank 0 and tag 1 truncated; 44 bytes received but buffer size is 1
    

    singleGraph的代码如下:

    \*---------------------------------------------------------------------------*/
    
    start   (0.4 0.01 -0.1);
    end     (0.4 0.01 0.1);
    fields  (nut U);
    
    // Sampling and I/O settings
    #includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
    
    // Override settings here, e.g.
    setConfig {     
        type    midPoint;   // midPoint, midPointAndFace uniform
        axis    distance;  // x, y, z, xyz, distance
        nPoints 2500; 
    }
    
    // Must be last entry
    #includeEtc "caseDicts/postProcessing/graphs/graph.cfg"
    // Override settings
    writeControl    adjustableRunTime;
    writeInterval	2e-3;
    // ************************************************************************* //
    

    也尝试过修改setConfig中的type,但是三种方式都是报错。修改start点和end点也无法解决问题。
    看报错信息是和MPI并行有关,但是不太懂。
    我的网格是用ICEM画的,网格量是1713万,在壁面处有边界层加密,使用scotch方法分成了12块,打算用工作站先跑着,看能不能算出湍流。
    请各位老师指点一二。

    sampleDict.cfg

    interpolationScheme cellPoint;
    
    setFormat   raw;
    
    setConfig
    {
        type    uniform;   // midPoint, midPointAndFace
        axis    distance;  // x, y, z, xyz
        nPoints 100;
    }
    

    graph.cfg

    type            sets;
    libs            ("libsampling.so");
    
    writeControl    writeTime;
    
    sets
    (
        line
        {
            $setConfig;
            start $start;
            end   $end;
        }
    );
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    你用单核处理会出现报错么

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

    学流体的小明学 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 串行是可以运行的,不会报错。应该就是decomposePar的时候有些问题。
    搜索了一下,下面这个也是同同样的问题,不过也没个最终的解决方案
    https://blog.csdn.net/imastrid/article/details/121085124

    学流体的小明学 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 学流体的小明 最后由 编辑
    #4

    @学流体的小明 在 OpenFOAM v-2012 singleGraph 提取一条线上的数据出错 中说:

    串行是可以运行的,不会报错。
    但是会有警告……

    --> FOAM Warning : 
    The search for an edge-connected face and tet-point failed.
    
        From void Foam::particle::changeFace(Foam::label)
        in file particle/particle.C at line 329.
    --> loading function object 'singleGraph'
    
    wallShearStress wallShearStress:
        processing all wall patches
    

    下面的壁面剪切力的工具是正常输出了数据,但是singleGraph没有。
    bb49e778-73fb-4682-92ab-04505770a196-image.png

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

    The search for an edge-connected face and tet-point failed

    这个错误我倒是遇到过。当时换了个网格就好了。你这个是规规矩矩的六面体网格?你用sample也会报这个错误么

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

    学流体的小明学 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 sample提取某一个点的值,没有问题,不报错也没有警告

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 学流体的小明 最后由 编辑
    #7

    @学流体的小明 你用sample提取一个线试试呢

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

    学流体的小明学 1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    在 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 也只能这样了,之前是一直想直接使用singleGraph
    谢谢大佬~

    1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    写于 最后由 编辑
    #9

    更新一下
    发现了问题的源头,是网格的问题。
    我使用ICEM画网格,或者OpenFOAM的blockMesh工具画网格,都是先画背景网格,然后对近壁面进行多次加密。加密是八叉树类型的加密,所以在网格尺寸变化的地方,大网格的尺寸直接是小网格的二倍。这样的网格确实不好,可能一些拓扑结构上的不好导致了singleGraph程序进行插值时找不到插值的基点。
    解决办法:
    举例说距离壁面0~1的网格尺寸是1,1~2的网格尺寸是2,那么就使用singleGraph在0~1这个范围内提取一条线,在1~2再提取一条线,这时的type可以是uniform,也可以是midPoint或者midPointAndFace。一句话,就是分段提取信息。
    我是重新画了网格, 老师说之前画的这网格根本不能用:mihu:

    1 条回复 最后回复

  • 登录

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