Fortran将粒子数据输出到.vtu文件以进行回顾

时间:2015-08-06 11:57:52

标签: fortran vtk paraview particles post-processing

我正在尝试编写一个Fortran子例程来将(随机定位的)粒子数据输出到.vtu文件,以便在Paraview中进行后期处理。该程序生成一个格式如下的文件:

<?xml version="1.0"?>
<VTKFile type= "UnstructuredGrid"  version= "0.1"  byte_order= "BigEndian">                         
 <UnstructuredGrid>                                                                                 
  <Piece NumberOfPoints="6664" NumberOfCells="0">                                                   
   <PointData Scalars="Pressure" Vectors="Velocity">                                                
    <DataArray type="Float32" Name="Pressures" format="ascii">                                      
    ...    
    </DataArray>                                                                                    
    <DataArray type="Float32" Name="Density" format="ascii">                                        
    ...    
    </DataArray>                                                                                    
    <DataArray type="Float32" Name="Mass" format="ascii">                                           
    ...
    </DataArray>                                                                                    
    <DataArray type="Float32" Name="Scalarplot" format="ascii">                                     
    ...
    </DataArray>                                                                                    
    <DataArray type="Float32" Name="Velocity" NumberOfComponents="3" format="ascii">                
    ... ... ...
    </DataArray>                                                                                    
   </PointData>                                                                                     
   <Points> 
    <DataArray type="Float32" NumberOfComponents="3" format="ascii"> 
    ... ... ...
    </DataArray>                                                                                    
   </Points>                                                                                        
   <Cells>                                                                                          
    <DataArray type="Int32" Name="connectivity" format="ascii">                                     
    ...
    </DataArray>                                                                                    
    <DataArray type="Int32" Name="offsets" format="ascii">                                          
    ...  
    </DataArray>                                                                                    
    <DataArray type="Int32" Name="types" format="ascii">                                            
    ...       
    </DataArray>
   </Cells>
  </Piece>
 </UnstructuredGrid>
</VTKFile>

代码基于SPHYSICS程序中的子例程和文件格式documentation

Paraview加载文件但我无法使用它们的坐标或任何字段变量来显示粒子。这可能是由于.vtu文件有问题吗?

每个粒子的标量图值设置为1,可能不需要。我只是把它包括在内,以防我想要在某些时候对粒子进行不同的着色(可能应该是Float)。

这是否必须包含Cell数据?连接和offeset刚刚设置为粒子/点数,类型刚刚设置为&#34; 1&#34;对于每个粒子/点。这会导致问题吗?

1 个答案:

答案 0 :(得分:0)

事实证明,上面的输出格式没有任何问题。问题在于“......”组件上使用的格式说明符。其中一些是使用“*”指定的,它必须产生不一致/不兼容的输出文件。通过具体指定这些(例如“// TRIM(no_dim)//”(4X,E15.8))“为坐标”,该文件与Paraview一起使用。对于那些感兴趣的人,也应该写一个.pvd文件(这是指向.pvu文件的文件,以便在Paraview中生成动画。