Hi all,
I was trying to visualize the velocity field of Lagrangian data and met a problem. Is it possible to add velocity vector arrows on each particle, to better visualize the particle flow pattern? I tried LagrangianParticleTracker and it only shows the moving path behind each particle. How about the vector arrows that point to the moving direction of particles? Could Paraview do that?
Thanks in advance!
Hi @t45454,
Welcome to the ParaView discourse! Thanks for posting.
There are two ways to get this kind of visualization:
- You can use the
Glyph
filter and choose to use anArrow
glyph type. Don’t forget to choose the arrays for orientation and scaling of the glyphs accordingly in the properties panel of the filter. - You can change the representation of the data to
3D Glyph
. Similarly, don’t forget to change the orientation and scaling properties in theDisplay
→Glyph Parameters
subsection of the properties panel.
Hope that helps !
Best regards,
Julien
Hi Julien,
Thank you so much! That solved my problem immediately.
But I’m a bit confused about the Glyph mode under the Masking subcategory. What’s the difference between Bounds Based, Surface Sampling, and Volume Sampling? I tried to manipulate between these modes and the parameters underneath but was still confused about the difference. I see some particles with multiple arrows and some didn’t at all.
Best,
Hart
Hi @t45454,
Glad I could help!
For your sampling question, here is an extract from the ParaView doxygen documentation (ParaView: vtkPVGlyphFilter Class Reference):
-
ALL_POINTS: all points in the input dataset are glyphed. This same as using vtkGlyph3D directly.
-
EVERY_NTH_POINT: every n-th point in the input dataset when iterated through the input points sequentially is glyphed. For composite datasets, the counter resets every on block. In parallel, independent counter is used on each rank. Use Stride to control now may points to skip.
-
SPATIALLY_UNIFORM_DISTRIBUTION: points close to a randomly sampled spatial distribution of points are glyphed. Seed controls the seed point for the random number generator (vtkMinimalStandardRandomSequence). MaximumNumberOfSamplePoints can be used to limit the number of sample points used for random sampling. This does not equal the number of points actually glyphed, since that depends on several factors. In parallel, this filter ensures that spatial bounds are collected across all ranks for generating identical sample points.
-
SPATIALLY_UNIFORM_INVERSE_TRANSFORM_SAMPLING_SURFACE: points randomly sampled via an inverse transform on surface area of each cell. When used with a volume dataset, the surface mesh is extracted and used for the sampling. Seed controls the seed point for the random number generator. MaximumNumberOfSamplePoints limits the number of sample points used for random sampling. The number of glyphs produced can be smaller since the sampling depends on several factors. In parallel and with composite dataset, this filter ensures that each piece samples only a representative number of points. Note that the mesh will be triangulated first.
-
SPATIALLY_UNIFORM_INVERSE_TRANSFORM_SAMPLING_VOLUME: points randomly sampled via an inverse transform on the volume of each cell. Only 3D cells will be considered. Seed controls the seed point for the random number generator. MaximumNumberOfSamplePoints limits the number of sample points used for random sampling. The number of glyphs produced can be smaller since the sampling depends on several factors. In parallel and with composite dataset, this filter ensures that each piece samples only a representative number of points. Note that the grid will be tetrahedralized first.
Its full of technical jargon but should give you the gist of what each of the modes does internally in the filter.
Best,
Julien
Hi Julien,
I see. Thanks for your help!
Best,
Hart