Zone Patches disappear when creating .vtu solution file


I’m having issues when exporting my solution to .vtu to visualize the physical zones I’ve defined in my mesh (i.e. wall, inlet, outlet, periodic_1_l,periodic_1_r) these seems to disappear and I only have informations about the whole flow field. This makes post processing very hard (i.e. plotting quantities over specifical physical zones)

I’m exporting solution as:

pyfr export -d 4 dummy.pyfrm dummy.pyfrs dummy.vtu

Any idea?


You can use the region support in the file writer plugin to only output elements adjacent to a boundary. This should make it substantially easier to extract quantities of interest. This can be combined with the “Extract surface” filter in ParaView to extract just the surface data.

Regards, Freddie.

I was already to extract the airfoil surface from my unstructured data set to plot Cp over airfoil surface. I was following the procedure given in:

but when I select boundary edges and then I try to extract cells by region none of the edges is recognized.

My case is unstructured and 3D whilst the case given in the topic is 2D

Any idea on how to solve it? I think that the issue may be related to the way pyFR exports solution because I’ve tested pyvista as well but boundary edges are not recognized either
Is there any other option which I have to use given that my case is 3D?

Moreover, is there any possibility to modify the source code such that these patches are retained when exporting solutions? This would make post-processing much easier


Clean To Grid followed by Extract Surface will do the job perfectly here (although it must be those filters in that order and not anything which sounds similar).

If you end up with unwanted side walls in addition to your surface, the Clip filter with the crinkle clip option can be used to cull them.

Regards, Freddie.

Thanks a lot for the help Freddie,

I think that I’m almost there:

I have only to deal with the outer sporious cells that have appeared due to the way I’ve created my mesh. Do you have any idea on how to filter them out so that I can have only the wall surface?


You can try playing with the tolerance on the Clean to Grid filter. It appears to not be catching some faces, which is confusing the surface extraction filter.

Beyond that, ParaView has a Connectivity filter which should be able to give each surface its own region ID. Then it is just a case of finding out what region corresponds to the aerofoil and going with it.

Regards, Freddie.

I’ll try and let you know as soon as I can


You can use the clip filter in Paraview to slice off the bits you don’t want. This is what I’ve done in the past when I don’t have the Pointwise file.

I’ll leave the solution here in case someone will need:

In the Clean to Grid filter set tolerance to absolute and use a value which is smaller than the smallest element in mesh. The result is:

Once again, very thankful for the help both of you provided…


@fdw @WillT
One last question regarding this aspect: are you aware of a quick way to spanwise average values? Such as Cp?

In the past when I’ve done similar things I’ve resampled it to an image, write it out to csv, and then averaged it in a python script. However the curved geometry might make this difficult.

I do agree, the geometry is pretty complicated to use such approach

May Freddie has another hint

I do not think that there is anything in ParaView which is capable of this. However, it is likely possible using the Python API. Probably a worthwhile feature request on the ParaView side.

Regards, Freddie.