One of the things that occasionally trips me up when using Ansys Icepak is verifying the net direction of heat, mass, or volumetric flow across specific surfaces in my system. When we deal with just 3D solid objects, then the convention of ‘outwards’ as the surface normal direction will be consistent and predictable. However, this doesn’t help in cases with 2D sheets like conducting plates or grilles – especially with fluid-fluid interfaces like grilles that might see some small recirculating flows across their surfaces.
Perhaps the easiest case to visualize/understand is with simple volumetric flow:
The sign of our velocity component in the surface normal direction of course depends on the orientation of that surface normal. So, if we don’t actually know which direction our surface normal is pointing in, then the sign of our derived quantity is meaningless. Of course, we could plot the velocity vectors directly in Ansys Icepak on a surface to understand the flow pattern… but when we care about something like the total across that surface, it can be less clear (as in the recirculating case mentioned above).
Looking at Surface Normals in Ansys Icepak
For an example in Ansys Icepak, let’s look at a simple cabinet with an internal heat source. The front/back/top/bottom are enclosed with either solids or sheet metal, and then the sides are open with grilles. Gravity driven natural convection is from bottom to top (+/- global y). So, air can enter and leave from the side grilles, typically entering from the bottom end of the grille surface and then exiting out the top.
Intuitively, we can probably predict what the general profile of this velocity will look like. If the problem was fully symmetric, then we would expect the same in/out flow balance on each grille… but when we introduce asymmetry through either the external air domain, or maybe by adjusting the free opening ratio of each grille separately… we want to be really sure that when we look at a net volume flow calculation on each grille, we know what direction it’s in!
New in Ansys 25R2, we have access to a nice solution overview window in Ansys Icepak that will auto calculate certain values for us, including grille flow rates. So, this can give us nice magnitudes for reference, but we still don’t know which side is in vs out from the enclosure! Looking at the plots, we might guess that the right side (grille_px) is net ‘in’ and the left side (grille_mx) is net ‘out’… but it’s close enough that when accounting for the full 3D field, we may not be completely sure.
So, the solution here is basically twofold: 1) Find a consistent way to identify/set the surface normal direction for a surface of interest in Ansys Icepak and 2) create our own calculation approach that uses the known surface normal definition.
We can do this by creating user-defined named expressions for the surface normal vector quantity and subsequent calculations.
For the surface normal, open the field calculator and add the Unit Vec > Normal quantity:
Then add it to the named expression stack with the ‘Add’ button on the left.
Once it has been added here, you can plot the surface normal vectors with the normal plot menu, using ‘Named Expressions’.
Visually, we can now verify that the surface normals for each grille are pointing to the right (+x).
Now, the flux calculation of interest will basically follow the same approach. As long as we use the same surface normal definition as we have plotted above, we’ll know that a positive flux indicates motion to the right, while a negative flux indicates motion to the left. And by nature of conservation of mass in this particular scenario, the two volumetric flows that we will calculate across these two surfaces will be equal.
However, before we get to setting up the calculation, there is one more hiccup to address. In the background of Ansys Icepak solutions, Ansys Fluent is the solver being called. In Fluent, interfaces between different bodies are treated in a very specific way, even if that interface is a simple fluid-fluid interface across something like a 2D grille or even an opening. These interfaces are made up of a ‘default’ side and a ‘shadow’ side. It all gets properly hooked up and reconciled behind the scenes from a solver perspective, but this does sometimes present a challenge in post processing, in that we have to choose whether we are pulling values from the default or the adjacent (shadow) side of a surface when performing some types of calculations. For surface flow quantities, only one of these surfaces has a non-zero value, and which surface that is, is not always predictable.
The quickest way I’ve found to verify this is using the field summary view capability in Ansys Icepak. We can add surface quantity calculations for each surface individually and do it for each of the ‘default’ and ‘adjacent’ side options. Note below that ‘Grille_mx’ has SurfUx values on the Adjacent side, while ‘Grille_px’ has it on the Default side. We could of course try making the calculation on both sides in the full calculator, but I find that a little more tedious than using the field summary.
Now, let’s go back to the field calculator.
If we’re integrating for volumetric flow rate in this case, we’ll need the normal component of velocity to the specified surface. Start with Quantity > Surf_U, add the unit normal vector (same as we previously plotted), then apply a dot product between these two.
With that done, add the geometry definition of our surface while making sure that you select the proper ‘default’ vs ‘adjacent’ side as determined from the field summary.
And finally integrate our normal velocity scalar field over the surface.
Of course, this result is in our solver units, which is m3/s. This comes out to ~0.924 cfm, which is close to our solution summary. However, now we have a negative sign here that is in reference to our plotted surface normal, which was in the +x direction! So, our integrated volumetric flow rate across the right grille is in fact a net flow to the left, which is what we guessed from looking at the velocity field.
Just to confirm, now let’s do the same for Grille_px:
Pretty close! And, this is still a negative quantity which is what we expect. Mass is conserved, so what comes in from the right side must go out the left side. This resolves the confusion of having both + and – net flow quantities in the solution summary.
And to wrap it all up and attempt to prove that this is a robust approach, let’s throw a wrench in things by flipping one of our grille’s surface normals. We’ll do this for Grille_px by changing its start position in the y-dimension and changing y-size from +200 to -200.
As we can see from the custom field plot, the right grille surface now points in the -x direction.
Back in the calculator, we find that the surface quantities are now on the adjacent surface for each grille, and the calculated value for Grille_px is positive! So again, flow across Grille_px is now in the same direction of the surface normal (to the left), while flow across Grille_mx is in the opposite direction of its surface normal (to the left), so it’s all consistent.
Hope this has been helpful! As always, it’s good to spend some time becoming familiar with the full field calculator for cases like these. Of course, we like to start with the built-in summaries whenever possible and generally trust that their values are accurate, but there are cases like these where it pays to be cautious and really dig into more manual calculation methods.
You must be logged in to post a comment.