force函数提取的力矩太小

我用的是直接在controldict里加入force的函数来提取力和力矩,力提取的没有问题,但是力矩的量级竟然是10^-20,这明显不对啊。单位我也看了一下是m没有问题。力矩的点取在右下角红色那里。请各位老哥看一下是啥问题,万分感谢!
屏幕截图 2022-03-15 171017


算例是二维的,这个点是取在正中间位置,所以是不是相互抵消了。我又取在了z轴两个边界处,得出的力矩方向相反,大小一样。所以说这个力矩该怎么求呢 :persevere:

你看看你的网格坐标系定义和CofR是不是合适

另外,这个的用法也可以参考 forces help openfoam 2112

非常感谢您的回复,网格的坐标系与CofR已经检查过了,没有问题。CofR的位置在模型的右下角,z轴的中间。
这个帮助文档刚刚看了一下,发现了一个设置如下:
CofR (0 0 0); // Rotation around centre line of propeller
pitchAxis (0 1 0);
请问这个pitchAxis是什么意思?起到了什么作用。感谢!

pitchAxis是计算力系数时用的。

如果检查没问题的话,我也不知道了,但是我感觉力矩的计算应该得检查好坐标系和相对点,一个和力矩正负(方向)有关,一个和大小(用来确定力臂)

好的好的,非常感谢您的回复,我再检查一下坐标系和相对点

加油加油!有啥进展欢迎分享经验 :grin:

1 个赞

openfoam里面力矩实在搞不来了,最后用的paraview求得力和力矩,切个片手动把三维模型搞成二维的,再提取压强啥的计算一下就行了。因为force函数与paraview提取变量方法的不同,所以数值大小上还是有一点点的误差,但是在容许范围之内。