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. ceil(alpha2)

ceil(alpha2)

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

    定义一个标量场,赋值为ceil(alpha2),报错
    cannot convert VolScalarField to double...

    该如何解决啊?:chouchou:

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年10月11日 02:09 最后由 编辑
    #2

    @danao 在 ceil(alpha2) 中说:

    ceil(alpha2)

    这个是什么..

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

    D 1 条回复 最后回复 2019年10月11日 06:30
  • D 离线
    D 离线
    danao
    在 2019年10月11日 06:30 中回复了 李东岳 最后由 编辑
    #3

    @东岳
    ceil是向上取整。换个例子 ,VolScalarField A=max(0.5,alpha2),也是同样的错误。求救!

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年10月11日 06:34 最后由 编辑
    #4

    volScalarField test("", max(0.5, alpha2));

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

    D 1 条回复 最后回复 2019年10月11日 08:13
  • D 离线
    D 离线
    danao
    在 2019年10月11日 08:13 中回复了 李东岳 最后由 编辑
    #5

    @东岳 非常感谢!还想请教一下,我仿写了个判别条件:

    volScalarField test("test", alpha2=0?0:1);
    

    报错:

    error:invalid use of void expression
    

    这是哪错了?

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年10月11日 08:16 最后由 编辑
    #6
    volScalarField test("", max(0.5, alpha2));
    
    forAll(test, cellI)
    {
        if (alpha2 == 0)
        {
            test[cellI] = 0;
        }
        else
        {
            test[cellI] = 1.0;
        }
    }
    
    

    类似的边界场可能也需要处理

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

    D 1 条回复 最后回复 2019年10月11日 08:19
  • D 离线
    D 离线
    danao
    在 2019年10月11日 08:19 中回复了 李东岳 最后由 编辑
    #7

    @东岳 必须要循环吗?太慢了啊。。不能用三目运算符啊

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2019年10月11日 08:29 最后由 编辑
    #8

    volScalarField test("", pos(alpha2));
    用这个也行,但表示alpha2大于0的时候为1, 其他情况为0,跟你那个一样

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

    D 1 条回复 最后回复 2019年10月11日 08:36
  • D 离线
    D 离线
    danao
    在 2019年10月11日 08:36 中回复了 李东岳 最后由 编辑
    #9

    @东岳 要判断alpha2是否大于0.5,只能用forAll了啊?。。刚试了一下,好像volScalarField不能进行布尔运算。

    李 1 条回复 最后回复 2019年10月11日 09:27
  • 李 在线
    李 在线
    李东岳 管理员
    在 2019年10月11日 09:27 中回复了 danao 最后由 编辑
    #10

    forAll循环在openfoam里面特别多,这种小操作不会减慢速度,

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

    1 条回复 最后回复
2019年10月10日 18:16

1/10

2019年10月10日 18:16

未读 9
2019年10月11日 09:27
  • 登录

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