Skip to content
  • 最新
  • Categories
  • 东岳流体
  • 随机看[请狂点我]
Skins
  • 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

  • Default (No Skin)
  • No Skin
Collapse
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 请教OpenFOAM获得某个面域(faceZone)的平均温度的方法

请教OpenFOAM获得某个面域(faceZone)的平均温度的方法

Scheduled Pinned Locked Moved OpenFOAM
15 Posts 7 Posters 12.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 李东岳李 Offline
    李东岳李 Offline
    李东岳 管理员
    wrote on last edited by
    #4

    postProcess -func 'patchAverage(name='outlet', weightedAlpha)'

    试试这个后处理?

    9月CFD算法编程课: http://dyfluid.com/class.html

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

    D 1 Reply Last reply
  • D Offline
    D Offline
    D.Benjamin
    replied to 李东岳 on last edited by
    #5

    @东岳 老师,这个指令不行,因为我监测的不是边界(patch),而是自己构建的一个faceZone,是一个内部面。应该是目前OpenFOAM尚未有这个功能吧

    OpenFOAM初学者,希望和大家共同交流

    1 Reply Last reply
  • M Offline
    M Offline
    mohui
    replied to D.Benjamin on last edited by
    #6

    @D-Benjamin 我觉得这个可以在paraview里面处理,先把这个面提出来,然后对这个面的温度进行积分就是了。我不知道这样子处理对不对@东岳

    D 1 Reply Last reply
  • D Offline
    D Offline
    D.Benjamin
    replied to mohui on last edited by
    #7

    @mohui 你好,paraview确实可以截取一个面,然后进行积分,但是我发现一个问题:
    当我想获得某个faceZone上面的流率,我分别采用functionObject和paraview的方法来做
    functions的方法和结果如下:

    functions
    {
    #includeFunc flowRateFaceZone(name=in_core)
    … other function objects here …
    }
    

    结果:

    # Region type :     faceZone in_core
    # Faces  :          34
    # Area   :          1.844282222040e-02
    # Time              	sum(phi)
    1                   	1.923278992112e-05
    2                   	4.681282016134e-05
    ……
    50000               	6.288750194955e-02
    

    下面是使用paraview截取该面,进行Filters --> Integrate variables的结果:
    cut.PNG

    结果显示,面域大小(Area)0.0184428是一样的,但是所得的结果却不一样,一个是0.0628875,一个是0.0629128,搞不清哪种方法获得的流率才是正确的。

    OpenFOAM初学者,希望和大家共同交流

    1 Reply Last reply
  • 李东岳李 Offline
    李东岳李 Offline
    李东岳 管理员
    wrote on last edited by
    #8

    @D-Benjamin 在 请教OpenFOAM获得某个面域(faceZone)的平均温度的方法 中说:

    functionObject

    这个看起来是标量,你那个是矢量

    9月CFD算法编程课: http://dyfluid.com/class.html

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

    D 1 Reply Last reply
  • D Offline
    D Offline
    D.Benjamin
    replied to 李东岳 on last edited by
    #9

    @东岳 老师,functionObject的求流率的方法是对面域通量phi求和,paraview是对面域求积分,哪个更能代表流率呢?

    OpenFOAM初学者,希望和大家共同交流

    李东岳李 1 Reply Last reply
  • 李东岳李 Offline
    李东岳李 Offline
    李东岳 管理员
    replied to D.Benjamin on last edited by
    #10

    @D-Benjamin
    没向你这么验证过,不过我更相信代码出来的标量,paraview显示的是矢量啊?

    9月CFD算法编程课: http://dyfluid.com/class.html

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

    1 Reply Last reply
  • Z Offline
    Z Offline
    ZZ给我趴下
    replied to 李东岳 on last edited by
    #11

    @李东岳 李老师,您好,请问如果我只想在某个方向进行体平均呢,然后每个时间段输出一次数据,是不是只要更改regionType就好了,那该如何更改呢?

    马乔马 1 Reply Last reply
  • 马乔马 Offline
    马乔马 Offline
    马乔 大神
    replied to ZZ给我趴下 on last edited by
    #12

    @zz给我趴下 可以试下columeAveraged

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

    Z 1 Reply Last reply
  • Z Offline
    Z Offline
    ZZ给我趴下
    replied to 马乔 on last edited by
    #13

    @马乔 好的,谢谢您。

    1 Reply Last reply
  • J Offline
    J Offline
    jinlinna
    wrote on last edited by
    #14

    你好请问你解决了吗,你的faceZone是怎么创建的呀

    1 Reply Last reply
  • 东方白杨东 Offline
    东方白杨东 Offline
    东方白杨
    replied to D.Benjamin on last edited by
    #15

    @D-Benjamin 在 请教OpenFOAM获得某个面域(faceZone)的平均温度的方法 中说:

    我想使用functions获得某个面域平均温度,于是自己写了如下代码:

    surfaceFieldValue_out_core
    {
        type    surfaceFieldValue;
        libs    ("libfieldFunctionObjects.so");
    
        log     true;
        writeControl    writeTime;
        writeFields     true;
    
        regionType      faceZone;
        name            out_core;
        operation       weightedAreaAverage;
        surfaceFormat   foam;
    
        fields
        (
            T
        );
    }
    

    然而,运行之后报错,如下所示:

    [4] --> FOAM FATAL ERROR: 
    [4] surfaceFieldValue surfaceFieldValue_in_core: faceZone(in_core):
        Unable to process internal faces for volume field T
    

    似乎体积场的值不可以进行面域平均,这样的话,获得“面域平均”值该如何做到呢?望各位大佬不吝赐教,谢谢!

    您好,请问您这个报错怎么解决的?我现在也是自己定义了一个内部面faceZone,我理解的这个报错是因为OF是有限体积法,物理量值都存在网格cell中心,导致取的内部面没有物理量值。

    CAS-IET

    1 Reply Last reply

  • Login

  • Login or register to search.
  • First post
    Last post
0
  • 最新
  • Categories
  • 东岳流体
  • 随机看[请狂点我]