Surface and line integrals on user-defined ParaView planes and lines


I’m trying to find out how can I realize surface and line integrals in a 3D model on surfaces and lines defined in ParaView by the user.

  1. Surface integrals
    I wasn’t able to find a way to define a surface/plane in ParaView which is cutting the model only partially. The “Slice” filter is cutting through the entire model.
    Isn’t there a way one can define a plane which is intersecting only a part of the model? And to use this plane to realize a surface integral of a quantity over it?
  2. Line integrals
    In this situation I would like to be able to easily (by using the mouse) define a line, circle, or arc of a circle and to plot and integrate a quantity over it. Is it possible? Or one has to extend the ParaView capabilities to do so?


To my knowledge, there is no way to define the limited slice in ParaView directly. I use Calculator filter to create coordinate scalars and then Threshold filter to limit particular coordinate(s), the pipeline is Dataset => [Cell Data To Point Data if needed] => Slice => Calculator (coordinate) => Threshold. Unfortunately, the Threshold filter doesn’t “understand” native coordinates even when Auto Convert Properties in Settings is on, so you need to create coordinate scalars.
I think, regarding intergation/averaging, it will be very useful if ParaView will allow to select any surface zones (blocks in dataset like boundary conditions) to integrate on (even if there are no associated arrays, use arrays in cells intersected by the surface), limit usual slice sizes (in slice properties) that can be used for averaging, and propose some basic averaging functions (like mass flow or area averages for selected variable, I think mass flow-related operations can be abstracted, for example, if the user can input the function for averaging/integration, not only variables), automatically get magnitude, tangential or normal projection for the vector variables.
If I’m correct, now you only can write your own Python scripts to perform averaging, or create the integration pipeline for every location (may be better with some custiom filter, right click on selected filters). Generally, I use such script for ParaView or just do it in CFD Post that implements that I mentioned (you select surface or volume zone, function like mass flow or area ave, projection for vector if needed, and get result). But CFD Post is payed (we only have 1-2 licenses available) and doesn’t have as many “filter features” as ParaView, so I use ParaView when possible.