由于我在用SPH方法仿真时用的是FORTRAN语言,并且没有找到直接输出vtk文件的代码,因此偷懒通过MATLAB转换一下数据。
用到的Matlab子程序可通过一下链接找到。
Matlab处理数据导出Paraview可读的vtk文件(一)
假设我每个粒子输出的格式按照下面输出的
x(i), y(i), z(i), vx(i), vy(i), vz(i), p(i), rho(i), phase(i)
含义为每个粒子的坐标,速度,压强,密度,相。
vtkwrite(‘output.vtk’,'unstructured_grid',x(:),y(:),z(:),'vectors','velocity',vx(:),vy(:),vz(:),'scalars', 'pressure',p(:), 'scalars', 'rho',rho(:),'scalars', 'phase',phase(:));
解释:
1,输出文件名
2,定义非结构网格,还有其他选项
3,后面跟每个点的坐标
4,‘vectors’定义向量,后面‘velocity’是自定义的名字,比如速度,然后后面跟速度的三个分量
5,‘scalars’定义数值,后面引号中自定义名字,比如压强和密度等
6,向量和数值最后在paraview中都有对应的显示方式。
将生成的vtk文件拖进paraview就可以在Representation中选择Point Gaussian。
在Coloring中选择要显示的数据