如何监测移动点的速度
-
现在我正在模拟水平轴的风力机,准备用三点法获取若干个截面的攻角。三点法的原理见参考文献,在常见的方法中,三点法的可信度足够高,而且原理和执行足够简单。在执行中,三点法需要监测叶片两侧各三个点的流速,示意图见附图。
然而问题就出在这里,用Sliding Mesh方法模拟转子的时候,监测点的空间坐标是一直变化的,因此需要probe或者其他函数对应点的坐标变化。但是,对于probe函数而言,在监测移动点速度时(fixedLocations项为false),不能使用插值(参考这里的第172行,其他版本应该没有区别)。也就是说,此时监测的其实不是点的速度,而是点所在的网格单元的速度。考虑到叶片周围的速度变化剧烈,不进行插值的情况下,点速度的监测很可能不准;而且,因为要在不同叶片之间比较,网格造成的差异也不好衡量。
因此,是否有什么方法可以实现监测移动点,而非移动点对应的网格单元的速度?
我考虑过在网格生成的时候根据监测点调整网格,但是这在fluent meshing里很难实现;用ICEM生成结构网格倒是可以做到,但是因为要对不同的叶片设计生成网格,工作量太大了,不太现实。手动插值可以试试,但是每换一次网格,插值方法就得换一次,同样工作量巨大。所以,是否有什么简易的方法实现监测移动点的速度?
附图:
-
@李东岳
如果我没有理解错的话,李老师的意思是查询这个点在哪个网格单元中,然后输出这个网格单元的速度?这样的话其实就是probe函数监测移动点速度的方法。问题在于,点在网格单元中的位置不确定,考虑相邻网格间可能有较大速度差异,如果点不在单元正中则单元对应的速度不能代表某个具体点的速度。我希望是有什么办法,可以在probe监测移动点,也就是fixedLocations项为false时候使用cellPoint这种插值的方法。但是默认的情况下,是不能使用的:
//- Interpolation/sample scheme to obtain values at the points // Note: only possible when fixedLocations_ is true word samplePointScheme_;
实在找不到合适方法的话,我就只能把监测点附近的网格加密,确保网格单元间的速度差异足够小,然后直接用probe。但是这样总有种大力出奇迹的美,而且还不确定要增加多少网格量。