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. OF计算域中设置圆形相区域时出错

OF计算域中设置圆形相区域时出错

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

    想请教各位,我在OF自带的溃坝算例上进行了修改,试图将原来矩形相区域改为圆形,我使用了cylinderToCell给圆柱区域添加相分数,但是在setFields这一步出错,错误提示是说在cylinderToCell中没有找到定义的半径radius,可是我分明定义了半径大小。请各位指正问题,感谢。
    下面是错误提示:

    --> FOAM FATAL IO ERROR: (openfoam-2012)
    Entry 'radius' not found in dictionary "cylinderToCell"
    
    
    file: cylinderToCell at line 29 to 36.
    
        From bool Foam::dictionary::readCheck(const Foam::word&, T&, const Predicate&, Foam::keyType::option, bool) const [with T = double; Predicate = Foam::MinMax<double>]
        in file /home/pawan/OpenFOAM/OpenFOAM/OpenFOAM-v2012/src/OpenFOAM/lnInclude/dictionaryTemplates.C at line 372.
    
    FOAM exiting
    

    下面是我的setFieldsDict文件内容:

    defaultFieldValues
    (
        volScalarFieldValue alpha.water 0
    );
    
    regions
    (
        cylinderToCell
        {
            sourceInfo
    		{
    			p1 (0.5 0 0.85);
    			p2 (0.5 0.1 0.85);
    			radius 0.15;
    		}
            fieldValues
            (
                volScalarFieldValue alpha.water 1
            );
        }
    );
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    你把radius放在{}外面试试

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

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

    @李东岳 感谢东岳老师回复,这个问题解决了,把sourceInfo和大括号删掉就好了。现在setFields可以正常运行,不过程序运计算完成后有另一个问题就是结果中相区域无法显示。请问这是否是由于整体的计算域网格是矩形的,不能在网格上划出圆形区域,进而设置不同的相分数呢?
    可以正常运行:

    Create time
    
    Create mesh for time = 0
    
    Reading setFieldsDict
    
    Setting field default values
        Setting internal values of volScalarField alpha.water
    
    Setting field region values
        Adding cells with centre within cylinder, with p1 = (0.5 0.85 0), p2 = (0.5 0.85 0.1), radius = 0.15
        Setting internal values of volScalarField alpha.water
    
    End
    

    但是结果里显示不出设置的圆形相区域
    d2522547-e849-4466-b0ed-72aed25f9cbf-uTools_1655713375946.png

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #4
    1. 看一下你0文件夹的alpha是不是非均一的场
    2. 如果是非均一的,可能paraview没读取出来没关系
    3. 如果alpha是均一的,估计你写的区域有问题

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

    A 2 条回复 最后回复
  • A 离线
    A 离线
    AXY 0
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 感谢李老师回复,这个问题已经解决,是场设置的问题。

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

    @李东岳 李老师,顺便想请教一下,of里面允许不同的液相拥有不同的重力加速度g值么?我想设置整体液体场处于失重状态,而setfields确定的相区域拥有正常的g值。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 AXY 0 最后由 编辑
    #7

    @axy-0 没有,g是一个均一的值。如果你要这么弄,需要在代码上处理一下。不过我不确定你是否可以设置某一相一个非常小的密度来实现。可能需要试试

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

    A 1 条回复 最后回复
  • A 离线
    A 离线
    AXY 0
    在 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 再次感谢李老师回复,我后续按照您的指导试一下,另外再查阅一下其他资料学习学习

    1 条回复 最后回复

  • 登录

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