由于我在用SPH方法仿真时用的是FORTRAN语言,并且没有找到直接输出vtk文件的代码,因此偷懒通过MATLAB转换一下数据。

用到的Matlab子程序可通过一下链接找到。

假设我每个粒子输出的格式按照下面输出的

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。

Matlab处理数据导出Paraview可读的vtk文件(二)
    


            
Matlab处理数据导出Paraview可读的vtk文件(一)

 在Coloring中选择要显示的数据

Matlab处理数据导出Paraview可读的vtk文件(二)
    


            
Matlab处理数据导出Paraview可读的vtk文件(一)


 

二、显示向量

 1、选择菜单中filter->Alphabetical->Glyph

或者点下面

Matlab处理数据导出Paraview可读的vtk文件(二)
    


            
Matlab处理数据导出Paraview可读的vtk文件(一)

/2、设置你要显示的向量

Matlab处理数据导出Paraview可读的vtk文件(二)
    


            
Matlab处理数据导出Paraview可读的vtk文件(一)

 

相关文章:

  • 2021-12-25
  • 2021-05-16
  • 2021-09-07
  • 2021-04-17
  • 2021-07-14
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2021-04-17
  • 2021-11-23
  • 2021-07-18
  • 2021-11-27
  • 2021-11-25
相关资源
相似解决方案