ceil(alpha2)
-
定义一个标量场,赋值为ceil(alpha2),报错
cannot convert VolScalarField to double...该如何解决啊?
-
-
@东岳
ceil是向上取整。换个例子 ,VolScalarField A=max(0.5,alpha2),也是同样的错误。求救! -
volScalarField test("", max(0.5, alpha2));
-
@东岳 非常感谢!还想请教一下,我仿写了个判别条件:
volScalarField test("test", alpha2=0?0:1);
报错:
error:invalid use of void expression
这是哪错了?
-
volScalarField test("", max(0.5, alpha2)); forAll(test, cellI) { if (alpha2 == 0) { test[cellI] = 0; } else { test[cellI] = 1.0; } }
类似的边界场可能也需要处理
-
@东岳 必须要循环吗?太慢了啊。。不能用三目运算符啊
-
volScalarField test("", pos(alpha2));
用这个也行,但表示alpha2大于0的时候为1, 其他情况为0,跟你那个一样 -
@东岳 要判断alpha2是否大于0.5,只能用forAll了啊?。。刚试了一下,好像volScalarField不能进行布尔运算。
-
forAll循环在openfoam里面特别多,这种小操作不会减慢速度,