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. sampling沿直线取数据,发现个别位置的数据有缺失

sampling沿直线取数据,发现个别位置的数据有缺失

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

    对某溃坝算力,用sampling沿垂向取密度,获取自由面的位置。

    在做网格独立性验证时,突然发现某些位置的数据,存在数据异常,甚至数据缺失。

    目前已经采取的改进措施:(1) 改变并行方法 (2)略微修改x坐标

    这两个方法都没有效果。

    哪位遇到过类似的问题,如何解决?

    postLine.png

    Lines
    {
        type            sets;
        libs            (sampling);
        enabled         true;
        writeControl    adjustableRunTime;
        writeInterval   0.01;
    
        interpolationScheme cellPoint;
        setFormat       raw;
        fixedLocations  false;
    
        fields
        (
            rho
        );
    
        sets
        (
            line01
            {
                type    uniform;
                axis    xyz;
                start   (2.002 0 -0.24);
                end     (2.002 0  0.04);
                nPoints 1000;
            }
            line02
            {
                type    uniform;
                axis    xyz;
                start   (2.502 0 -0.24);
                end     (2.502 0  0.04);
                nPoints 1000;
            }
            line03
            {
                type    uniform;
                axis    xyz;
                start   (3.002 0 -0.24);
                end     (3.002 0  0.04);
                nPoints 1000;
            }
            line04
            {
                type    uniform;
                axis    xyz;
                start   (3.502 0 -0.24);
                end     (3.502 0  0.04);
                nPoints 1000;
            }
    
            line05
            {
                type    uniform;
                axis    xyz;
                start   (4.0 0 -0.24);
                end     (4.0 0  0.04);
                nPoints 1000;
            }
    
            line06
            {
                type    uniform;
                axis    xyz;
                start   (4.5 0 -0.24);
                end     (4.5 0  0.04);
                nPoints 1000;
            }
            line07
            {
                type    uniform;
                axis    xyz;
                start   (4.65 0 -0.24);
                end     (4.65 0  0.04);
                nPoints 1000;
            }
        );
    }
    

    结果
    line04_rho.xy

    line03_rho.xy

    line02_rho.xy

    line01_rho.xy

    FO.lines

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

    图1左边那个挺正常啊
    图1右边那个黑圈好像有缺失?

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

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

    这是其中的两个位置的垂向分布。在Mesh4中,第二个位置的数据就出现了缺损。目前搞不清楚怎么回事。这块数据缺失,很影响对计算结果的解读。

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

    是不是有什么障碍物之类的那一块没有网格。

    paraview也可以提取,直接花plot over line,然后右边看sheet,export

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

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

    网格用blockMesh生成,纯流体,没有结构物。
    对沿线分布数据的时间分辨率要求很高,如果用paraview中导出线上的数据,时间上的分辨率不够。
    也许,用topoSet选取局部网格,大概也可以

    1 条回复 最后回复
  • 尚 在线
    尚 在线
    尚善若水
    写于 最后由 编辑
    #6

    并行 sample 的还是串行的,我记得并行的时候会漏点

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 lizhisongsjtu 最后由 编辑
    #7

    @lizhisongsjtu
    我之前是用of2206, axis用distance试下。另外网格划分有1000个吗,1000个点是否会很密了?

        x_0_1 
        { 
            type        uniform; 
            axis        distance; 
            start       (0.00010000 0.00000100 -1.72500000); 
            end         (0.00010000 1.99999900 -1.72500000); 
            nPoints     100; 
        } 
    
    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 coolhhh 最后由 编辑
    #8

    @coolhhh 如果还有问题,就用最笨的方法,用probes,人工生成监测点位置,这样结果就没问题。但probes没法监测壁面边界的数据,比如wallShearStress,见帖子probes和sample提取wallShearStress问题

    1 条回复 最后回复
  • C 在线
    C 在线
    chenboyao
    写于 最后由 编辑
    #9

    可以考虑采用waves2Foam得波高仪进行监测,我以前做过这东西,把waves2Foam得波高仪添加到求解器中,然后就可以采用wave2Foam得波高仪probe监测自由液面,这种方法是不需要waves2Foam求解器waveFoam,可以用个人得求解器。这个是我以前做的,有兴趣可以看看https://github.com/byChen47/waveHeightGauge

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

    统一回复一下:

    感谢给的热心解答。

    用线提取密度的垂向变化(内波),表面波的probe暂时不适用这个问题。

    有效解决方案:
    方案A:用toposet选取一定区域的网格,输出rho,这就有了xyzrho的数据。然后根据需要的xz坐标,做插值即可。
    方案B:选取全局的网格,输出cuttingPlane上的数据。
    方案C:输出特定等直面的数据。

    方案A灵活,但操作复杂;方案B数据最全,但存储空间比较大;方案C直接,对三维工况不友好。

    这都是后处理的技巧,能获得需要的数据。

    1 条回复 最后回复

  • 登录

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