使用paraview插值SPH数据
前言
比较新版本的paraview内置了SPHVolumeInterpolator
函数,该函数可以很好的把粒子法的计算结果处理成自由液面,并且可以通过光线追踪进行渲染,从而做出很漂亮的自由液面。这里展示了一个渲染前后的对比,从上至下分别为粒子法、纯色solid、光线追踪渲染。
操作方法
该操作非常简单,打开paraview,这里以5.11.1版本做演示,导入一个你想要制作自由液面的粒子计算结果。
- 选择左上角的
Filters
,然后选择Point Interpolation
,再选择SPH Volumn Inperpolation
,这样,你就开启了该函数,该函数的功能主要是把SPH的数据插值成场数据,方便你使用场的处理方法来处理数据,比如使用Contour
滤镜等。
Density Array
一定要选择粒子对应的密度项,我这里叫Rhop
,有的人可能会叫density
,根据自己实际的来,Mass Array
选择None
即可,然后Kernel
选择对应的核函数,如果这里面没有你的核函数,随便选一个问题也不大,也能插值出来,Spatial Step
设置成光滑半径 h h h,我这里是0.015。接下来设置你想要的插值区域Volume Parameters
,这里其实就是一个box,设置成对应的大小就可以,然后设置Volume Refinement
参数,可以选择cell-size
或resolution
,我一般选cell-size
,比较直观,这个你可以理解为网格大小,这个尺寸越小,网格越小,但是从原理上来说,网格尺寸小于你的Spatial Step
是没有意义的,所以设置成 h h h就好,这里同样是0.015。全部设置好后,点击Apply
就好了,到这里,你就完成了点——场的数据插值,接下来怎么对场处理,就看你的兴趣了。
- 如果只想要自由液面,那就对场做
contour
插值,即等值面,然后选择Shepard Summation
变量,这其实是一个插值函数的权重,这个值等于0.1时,大概就是自由液面。然后把颜色设置成淡蓝色,点击Apply
,你就得到了一个自由液面。