Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
定义一个标量场,赋值为ceil(alpha2),报错 cannot convert VolScalarField to double...
该如何解决啊?
@danao 在 ceil(alpha2) 中说:
ceil(alpha2)
这个是什么..
@东岳 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,跟你那个一样
volScalarField test("", pos(alpha2));
@东岳 要判断alpha2是否大于0.5,只能用forAll了啊?。。刚试了一下,好像volScalarField不能进行布尔运算。
forAll循环在openfoam里面特别多,这种小操作不会减慢速度,