ftle paraview

Can anyone suggest me how to calculate FTLE using paraview?

A programmable filter would be the only way to go I’m afraid.

Thank you Mathieu
what about VCG FTLE. Can you suggest me on this how to apply. As I could load the plugin however it seems the data has to be processed before calculation.

That’s a @lhofmann question :slight_smile:

What kind of dataset are you using? Can you provide a sample?
The filter only supports image data, and velocity needs to be a 2- or 3-component point data array.
Other types of grids would need to be resampled using the Resample To Image filter.

Thanks to Mathiew and Hofmann

Iam using gridded data having dimension as X,Y for each time steps in hours for velocity parameters.

Can u suggest me how to proceed as you have mentioned on converting to image

The format of my data is netcdf

Thanking you

Could you provide a sample of your data?

You could try to apply the Resample to Image filter, where you set the number of samples for the third dimension to 1.

uvdata3.nc (4.0 MB)
I have uploaded the data for variables u and v which Paraview can read. The data dimension is 3(X,Y, T) basically gridded data.
Kindly let me know if FTLEis calculated.
Thank you Hofmann and Mathieu

There was a plugin in the old ParaView, I believe < 5.2, it had to be compiled with OpenGL1, but that plugin allowed to automatically calculate the FTLE in ParaView with ease. But also for the newer ParaView versions, there is a website from the Visual Computing Group of the University of Heidelberg that provides a number of great plugins for deriving FTLE, computing vortex corelines and more:

Cheers, Niklas

1 Like

I tried with 5.2 there is no option in the meantime I am trying with VCG FTLE as I mentioned earlier. But there is some issue as FTLE could not be calculated. When I tried with the variable say wind velocity the operator FTLE could not be used for calculation. Is it that I have to make some other calculation before using FTLE? I have uploaded a file as mentioned on the trailing mail of Hoffman

if you have issues with VCG FTLE, send en email to Filip Sadlo (https://vcg.iwr.uni-heidelberg.de/people/sadlo/). He heads the visual computing group and is a very nice and friendly guy who likes to help. I also checked the other FTLE in ParaView, it was part of the SciberQuestToolkit: https://gitlab.kitware.com/paraview/paraview/-/tree/v5.2.0/Plugins/SciberQuestToolKit
But as said earlier, it had to be build with OpenGL1, and was not available if compiled with OpenGL2.

There is also a support email address on this page: https://vcg.iwr.uni-heidelberg.de/manual/
However, these emails would likely just end up getting forwarded to me :wink:

Sorry for the late reply, I only now found the time to look into your dataset.

When reading your data with ParaView’s netcdf reader, I get a 2D rectilinear grid with a cell array u, that has a single scalar value.
To make this work with the FTLE filter, you need to apply Resample to Image filter and convert the 1D velocity into a 2D vector field.
I have saved a sample statefile (adjust the path to your data on load): state.pvsm (455.4 KB)

I used a rather low 100x100 resolution in the resample filter (ResampleToImage1), and simply appended a zero component to your velocity data (PythonCalculator1). You would need to adjust both filter’s parameters to get a correct result.

Also note, that you need to set initial and advection times in the FTLE filter (your data appears to have only two time steps 683736 and 683737, so I set the parameters accordingly). You may also increase the resolution of the FTLE computation, and enable CUDA if available (in advanced properties).

1 Like

Thank you Hofmann for your valuable suggestion
what about in case of two scalar value data (u, v) do I need to compute resultant velocity of u and v and than compute FTLE on it.

Kindly suggest me the steps in this case

Thanking you

In that case, you need to append the two scalar arrays column-wise using np.c_[u,v] in the Python calculator.

1 Like

Thank you Hofmann

Thanks @lhofmann for the VCG - FTLE filter.

I’ve managed to use it with an OpenFOAM output for a 2D cycloidal rotor simulation.
It took me some time to figure out how to properly use the filter, so here’s a few steps for anyone reading on:

  1. Load OpenFOAM output for the U field
  2. Use the Temporal Interpolator filter to get a constant timestep dataset (leave interval to 0).
  3. Extract a local selection of cells or else you will not get a good image resolution
  4. Convert to image with the Resample to Image filter and make the resolution in Z direction at least 2
  5. Apply the VCG - FTLE filter to the resampled data, set vector to U, sampling can be 1 in Z, choose an initial time and step size. Make advection time not go beyond the end of the simulation.
  6. If you want to animate, then set a ramp on the VCGFTLE Initial Time in animation view.

That should work, you will now if it doesn’t because the FTLE field will not be created, be empty, or look incoherent with your data.

@lhofmann I’ve added the vcgparaview_plugins to my ParaView-5.6.0 and loaded them. Lots of filters are added after the installation; however, I cannot locate the FTLE filter in my filters. I was wondering if you could help me?

did you try Filters → Search → FTLE ?
Or look for the ones that start with VCG…

Yes, I searched the FTLE but it’s not there. There is also nothing that starts with VCG.
Here is the list of plugins I have after installing the vcgparaview_plugins.