View directionality of sideset normals

Is there a way to inspect the directionality of a sideset normal in paraview from an imported exodus file? I have a 2D file representing four solid blocks in a fluid, and for reasons, I want to ensure that all surface normals point away from the rectangular blocks into interstitial space.

capsule3_2d.e (351.2 KB)

Hi Adriaan, I’m not sure I completely understood your question, but I loaded your dataset, applied the Normal Glyphs Filter and scaled it to .001 to get the picture that should be showing a normal for each cell.


I hope this helps.

This looks promising, but it seems to be showing block normals instead of sideset normals. I have multiple sidesets at the boundaries between the air block and the other blocks, and I want to verify that those sidesets are defined with normals pointing into the air block, rather than out of the air block. This becomes important because of the specific physics implementation within my FEM solver.

I’m using Paraview 5.9.0 if that makes any difference.

Looking at just the sets, it looks like things either a) aren’t correct in your mesh, or b) aren’t being read by paraview, which is just choosing some kind of default.

I’m not super familiar with “side sets” and/or exodus formats. But, I loaded just the “sets” and went through the same process as before. If this isn’t what you are looking for, I don’t know, I don’t think the reader is producing any other data. I suspect the normals are based on the winding order of the geometry. I do know that the exodus reader in newer ParaView has been changed to the IOSS reader, but the old reader is still available as a plugin called LegacyExodusReader.


I loaded the dataset using the legacy reader and don’t get the “Sets” set of data options… Hope this helps, if not I probably can’t answer the question, but perhaps @wascott knows…

@wascott @Gregory_Sjaardema

Do you have any input here?

I also loaded the dataset, and get the same thing as John. From what I can tell (and I am no expert on primitives within Exodus datasets) your sets are lines, not surfaces. Thus, ParaView doesn’t know what to use for a normal. When I tried can.exo, I was able to create normals on the can’s side sets.

With regards to the Legacy Exodus Reader (found under Tools/ Manage Plugins), all sets were hidden from the default Properties page. Try the Advanced properties page. (Click on the little gear, just right of the search box).

Ah, I bet I know what is going on. You said you have a 2d dataset. When I load the sets, bounds delta is X, Y and 0. See the information tab. When you look at the sideset or face set (i.e., a set) of a 2d plane it ends up being a 1d line. There is no winding, or triangles to use to calculate the winding. Thus, the normals are wrong. Further, they are just staying within the 2d surface.

I see. Joining the chorus of “not an Exodus expert” disclaimers, what I understand about sidesets is that they are specifically tied to a domain, with the “normal” being away from the indicated domain (though there seems to be the option to have a double sideset tied to both domains). It’s starting to sound like Paraview may not be reading that information?