Problem with “Integrate Variables” Filter

Hello everybody!
We have simulated a mechanical case in SalomeMeca 2017, and in order to post-process the results we have used the Paraview module included in that version. Unfortunately, we have found some strange results when applying the “Integrate Variables” filters to the data of Von Mises stresses norm. Although this variables is always positive, the result of applying the filter is negative. How is this possible? We think that the “Integrate Variables” filter in Paraview is integrating a given variable in the whole volume of the domain, is it true? Could you help with the senseless result?
Thank you very much in advance.
Best regards,

   Teresa.

Yes, the Integrate Variables filter will operate on all cell types (e.g. 0D through 3D) that exist in the dataset. You’ll need to get rid of the cells that you don’t want first. In ParaView 5.5.2 you can use the Cell Size filter to compute sizes of the cells of specified dimensions and then use the Threshold filter to get rid of the lower dimensional cells.

Thank you very much for your answer, Andy.

If I understand correctly your message, is it possible that the negative value after applying the filter is due to the inclusion of incorrect cell types, for example, 0D, 1D and 2D? The result seems strange to me since the variable to integrate is always positive.

Best.

If all of the Von Mises stress norm values are positive then maybe it’s possible that some of your cells are inverted. The Cell Size filter can be used to determine if any cells are inverted in that they will have a negative size.

Thank you very much for your quick answer. Now the problem is localized, but we are working with a previous version of Paraview, that is, 5.1.2. Is there another possibility to compute that integral without the Cell Size filter?

Teresa,

You can calculate the volume or area of your cells using the Python Calculator and then sort based on that.
Here’s a Volume example - similar for Area.

Also, I thought Integrate Variables only works correctly on surfaces, not elements - perhaps I have that wrong.

By no means is this a good test, but I just did the following:

  • 5.5.2, Linux, builtin server
  • Wavelet. Apply. (Creates a cube 20 units X 20 units X 20 units)
  • Cell Size filter. Only generated volume.
  • Integrate Variables Filter.
    Volume == 8000.

Looks like it works to me…