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. codedfixedvalue使用问题

codedfixedvalue使用问题

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

    各位同行好,我第一次使用codedfixedvalue遇到了如下问题,16de3663-49d5-446e-8918-33e9b23d6ddd-图片.png 看提示是说没有激活相关程序,1157a39d-8160-4474-b4c3-9f2301ab50d3-图片.png 这是相关的代码,请问是哪里出了问题?

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wangfei9088 大神
    在 中回复了 soulx7 最后由 编辑
    #2

    @soulx7 感觉代码应该是这样的

    const fvPatch& boundaryPatch = patch();
    const vectorField& Cf = boundaryPatch.Cf(); 
    vectorField& field = *this;
    

    参考的这两个帖子
    https://cfd-china.com/topic/4765/关于cyclic-boundary-condition的一些问题?_=1671895451562

    https://cfd-china.com/topic/5966/codedfixedvalue这样写对吗

    S 1 条回复 最后回复
  • S 离线
    S 离线
    soulx7
    在 中回复了 wangfei9088 最后由 编辑
    #3

    @wangfei9088 你好,更改后问题依然存在,db728cc2-655d-401c-b5ba-c4cd8e8fe35d-图片.png 看报错提示是激活某个东西失败,是不是用这个边界条件需要一些准备条件,不能直接使用?

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wangfei9088 大神
    在 中回复了 soulx7 最后由 编辑
    #4

    @soulx7 这些语句后面都没有分号?

    const scalar u1=3;
    const scalar u2=2;
    const scalar L=0.00048;
    
    S 2 条回复 最后回复
  • S 离线
    S 离线
    soulx7
    在 中回复了 wangfei9088 最后由 编辑
    #5

    @wangfei9088 分号加上去了,还是一样的报错提示。它报错的代码部分其实是name那里,这一行我去掉它提示缺少字符,加上就提示激活失败,是不是版本问题导致的?我用的是com官网的v2012版本

    1 条回复 最后回复
  • S 离线
    S 离线
    soulx7
    在 中回复了 wangfei9088 最后由 编辑
    #6

    @wangfei9088 你好,现在代码如下图所示:

    inlet1
    {
        type            codedFixedValue;
        value           uniform (0 0 0);
    
        name          field;
    
        code
    #{
        const fvPatch& boundaryPatch = patch();
        const vectorField& Cf = boundaryPatch.Cf(); 
        vectorField& field = *this;
    
        const scalar u1=3;
        const scalar u2=2;
        const scalar L=0.00048;
    
        forAll(Cf,faceI)
               {
                  const scalar y = Cf[faceI][1];
                  field[faceI] = vecotr(0,u1+u2*tanh((y-0.05)/L),0);
               }
        operator==(field);
    #};
    }
    inlet2
    {
        type            codedFixedValue;
        value           uniform (0 0 0);
    
        name    field;
    
        code
    #{
        const fvPatch& boundaryPatch = patch();
        const vectorField& Cf = boundaryPatch.Cf(); 
        vectorField& field = *this;
    
        const scalar u1=3;
        const scalar u2=2;         
        const scalar L=0.00048;
    
        forAll(Cf,faceI)
               {
                  const scalar y = Cf[faceI][1];
                  field[faceI] = vecotr(0,u1+u2*tanh((y-0.05)/L),0);
               }
        operator==(field);
    #};
    }
    inlet3
    {
        type            codedFixedValue;
        value           uniform (0 0 0);
    
        name    field;
    
        code
    #{
        const fvPatch& boundaryPatch = patch();
        const vectorField& Cf = boundaryPatch.Cf(); 
        vectorField& field = *this;
    
        const scalar u1=3;
        const scalar u2=2;         
        const scalar L=0.00048;
    
        forAll(Cf,faceI)
               {
                  const scalar y = Cf[faceI][1];
                  field[faceI] = vecotr(0,u1+u2*tanh((y-0.05)/L),0);
               }
        operator==(field);
    #};
    }
    inlet4
    {
        type            codedFixedValue;
        value           uniform (0 0 0);
    
        name           field;
    
        code
    #{
        const fvPatch& boundaryPatch = patch();
        const vectorField& Cf = boundaryPatch.Cf(); 
        vectorField& field = *this;
    
        const scalar u1=3;
        const scalar u2=2;         
        const scalar L=0.00048;
    
        forAll(Cf,faceI)
               {
                  const scalar y = Cf[faceI][1];
                  field[faceI] = vecotr(0,u1+u2*tanh((y-0.05)/L),0);
               }
        operator==(field);
    #};
    }
    outlet
    {
        type            zeroGradient;
    }
    fixedWalls
    {
        type            zeroGradient;
    }
    frontAndBack
    {
        type            empty;
    }
    

    现在报错提示也发生了变化,变成了 1748730f-36b0-4ab3-8598-07025d2f302a-图片.png ,看红字高亮部分是说"vector"没有声明,是代码里漏掉了什么东西吗?

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wangfei9088 大神
    在 中回复了 soulx7 最后由 wangfei9088 编辑
    #7

    @soulx7 你的vector拼写错了啊啊啊啊啊啊啊啊啊,没看出来吗

    S 1 条回复 最后回复
  • S 离线
    S 离线
    soulx7
    在 中回复了 wangfei9088 最后由 编辑
    #8

    @wangfei9088 你好,哈哈昨天晚上搞得太晚神智有点不清了,刚改了编译通过了,多谢

    1 条回复 最后回复

  • 登录

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