Calculate mass flow in Paraview

Hi,

I would like to calculate the mass flow through a slice of my solution field in Paraview.
Any tips on how I can do this?

Hi @Filiptheking,

This link should help!

Cheers.

Regards,
Barry

4 Likes

@Filiptheking, this seems to come up quite a bit on the forums. @jousefm, we might wanna include this in a post processing wiki in the future, possibly with the theme of ‘Integrate variable’ filter.

The volume flow rate is the normal velocity times the area, and the mass flow rate takes into account the density as well. This is pretty straight forward, but translating it into paraview filters takes a bit of thinking about but essentially comes down to these steps.

  • Finding the normal velocity to the surface (in your case a slice).
  • Multipling the normal velocity by density if interested in mass flow rate.
  • Integrating the normal velocity magnitude in respect to surface area.

The result should be a single value in the table.

Good luck,
Darren

5 Likes

Hello @1318980 ,

I think I managed to get a value for the flow.

Here is what I did:

  1. Made a slice of my flow domain, where I wanted to calculate the flow
  2. Applied “surface vectors”, with perpendicular constraint mode.
  3. Used the filter “integrateVariables” and checked the U value in the direction of interest. Which should be in m^3/s since its integrated over the surface.

Is this the right approach?
Should I convert cell data to point data before the integration? I get slightly different results if I do.

1 Like

Never tried that one, I normally go with the ‘Generate surface normals’ filter but it sounds like this should give equal results.

Seems right to me :+1:

Think its more accurate to do it on the cell data, as the continuity is on the raw data.

Thanks for sharing!
Darren

1 Like

That seems reasonable, thanks @1318980!

I tried both the “surface vector” and the “surface normal”-filters and got exactly the same result when I integrated. However, I notice that it was difference in to coloring of the surfaces. The reason behind this seems to be that the “generate surface normals”- filter didn’t really generate vectors perpendicular to the plane. Why could this be?

Surface vectors, color plot

Surface vectors, glyphs. Notice that the vectors are perfectly perpendicular to the plane

Surface normals, color plot The coloring outside the circle is a little bit brighter than the surface vector-plot


Surface normals, glyphs. Here you can se that the vectors seems severely tilted. Why could this be?

1 Like

@Filiptheking Did you figure out why the vectors generated by surface normals are tilted? I am also interested in the same issue.

1 Like

I still don’t know unfortunatly. Hopefully someone else can answer this. Would be nice to know.

Hi @Filiptheking @jovenitta, not sure I am seeing the same thing. When I apply a ‘Generate surface Normal’ I see as I would expect (all normal to the surface) if I use ‘Surface vectors’ I am asked what vector I want and whether or not I want to project it normal to the surface or perpendicular, this is similar to doing it manually in the calculator using dot product. However, I see anomalies here, using vector normal, where zero values of velocity (i.e. at the walls) obviously cannot correctly be projected and become a bit weird.

Best,
Darren

Also Whilst looking at this found a 1 step filter called ‘surface flow’ it basically does the integral of the dot product between a vector (velocity) and surface normals and returns it in the paraview spread sheet. This saves alot of time.

Best,
Darren

Hello, to calculate the flowrate over a section in paraview please check this video:

1 Like

Hello Filip,
I also need to come up with the volume and mass flux on specific surfaces in my simulations. I have one question, which does not seem to be addresses in the original inquiry of yours, and that is, how to bound the integration on a certain area inside the slice? In other words, I have a surface with the crossing vector of velocity through that and now want to calculate the volume flux inside the area in which the velocity is smaller than a certain value.

Hello,
I have a question how the “integrate variables” filter works. Does it return the corresponded value times to the area on which the “surface vector” has been applied. In other words, your third statement , "integrating the normal velocity … " already assumes that the integration is handled by integral (U_normals*Area)?

Thanks for sharing!
Darren