Wall and Wall-Shadow Zones in Ansys Fluent

Boundaries in Ansys Fluent can be broken into two groups: external boundaries and internal boundaries.  External boundaries appear on the outer boundary of meshed regions (inlets, outlets, interfaces, etc.), while internal boundaries exist within a conformal mesh (interiors, porous-jumps, fans, etc.).  Notably, internal boundaries can exist inside a single cell zone, or can even separate different cell zones as long as the mesh is conformal across the boundary. There is one boundary type that can be used as either an external or internal boundary: walls.

While external walls are straight forward, internal walls are a bit more complex. Internal walls are sometimes called coupled walls or two-sided walls because they are formed by a pair of wall boundaries that are by default coupled together. You most often see coupled walls separating fluid and solid cell zones, but they can also be used as infinitely thin baffles with fluid on both sides.  Each coupled wall pair shows up in the boundary list as a zone and its shadow: one for each side of the wall.  When the coupled wall is between two different cell zones, it is easy to determine which side faces which cell zone as the adjacent cell zone is listed in the boundary condition window.


It is possible for a two-sided wall to exist between a single cell zone. When this occurs, the above reference to the “adjacent cell zone” is no longer useful to determine which side of the wall faces a particular direction. In these instances, it is possible to plot the face area in the direction most aligned with the boundary’s normal direction. The face area vector points from the adjacent cell into the wall (this is opposite of face normal direction). Note that you must initialize the solution to be able to generate the necessary contour plot.

In the below example, the “X Face Area” is plotted on the wall-baffle-shadow zone. The plot shows that the area is largely negative, which implies that this wall faces the +X direction. While this may initially seem backwards, keep in mind that the face area points from the adjacent cell towards the wall. This is backwards of the outward facing normal direction.


Hopefully this article sheds some light on wall/wall-shadow pairs. If you require further assistance with this topic, please contact us at support@drd.com.

Wall Settings for Rotating Zones

When setting up rotating machinery in Fluent, users will specify a rotating cell zone with the appropriate angular velocity. The bounds of this domain must be surfaces of revolution for either the frame motion or sliding mesh approaches. This article focuses on the finer details of setting up such a case. Particularly, what needs to be done for walls on the boundary of a rotating zone that should not be rotating? Additionally, sometimes a rotating shaft will exist both within a rotating zone and also within an adjacent stationary zone, how should this be handled? This article will answer these questions.

As an example, consider a case where a fan is placed within a circular duct. It is held in place via the motor and motor mounts. The domain will be split into rotating and stationary zones about halfway along the shaft that connects the fan and motor assembly.


The setup of the rotating zone itself is straightforward. For this analysis, the frame motion approach will be used.  In the Cell Zone Conditions Panel, the “Frame Motion” box will be checked and the appropriate rotation axis, rotation axis direction, and rotational velocity will be set.


In Fluent, all walls are stationary relative to their adjacent cell zone. This means walls within or on a rotating zone are rotating with that zone. Similarly all walls within or on a stationary zone are stationary. Consider the two images below. The duct in the rotating cell zone should not be rotating with the fan. Conversely, the motor shaft that extends into the stationary zone should be rotating, while the cell zone should be stationary. These conditions need to be applied at the boundary level for these two walls.

To address the duct, the user needs to edit the appropriate wall boundary condition. It is helpful to identify where walls will need specific boundary condition settings in the geometry phase so that appropriate named selections can be added to the boundaries. In the boundary condition edit panel, wall motion will be set to “Moving Wall” in the “Absolute” frame. The axis will be setup appropriately with a speed (angular velocity) of zero. Keep in mind that we are defining a wall that will be stationary in the global frame. It can be confusing to select the moving wall option here, but take note of the default option. By default this wall was “stationary” relative to the rotating cell zone, hence the need for this change.

The small section of shaft in the stationary zone will be treated similarly, but will instead have the same angular velocity as the rotating zone. In this model the small section of shaft in the stationary zone likely does not change the result much, but this will not always be the case.

One very important aspect of applying wall velocities as done for both the duct and the shaft is that no velocity can be applied normal to the wall. In the case of cylindrical walls, only rotational velocity around the axis of the cylinder is allowed.

Porous Media for CFD Applications

Porous media is widely used in CFD to reduce the computational expense of modeling things like filters, perforated plates, and tube banks. To accomplish this reduction in computational expense, the losses across the porous device are modeled mathematically using a simple equation rather than by geometrically resolving the flow obstruction.


Using the porous media model requires knowledge of the loss coefficients. These are referred to as the viscous and inertial loss coefficients. These coefficients can be derived from experimental data, empirical correlations in literature, or through CFD. The CFD models used to determine these coefficients are small sections of the full device, which makes the computational expense relatively small.

The pressure loss through a porous domain is represented by the following equation:


The change in pressure has two terms. One where the loss is proportional to velocity, and one where loss is proportional to velocity squared. These are referred to as the viscous and inertial losses, respectively.

While the input for different CFD codes can differ, the input into Ansys Fluent will be the Inertial Loss Coefficient (C2) and the Viscous Loss Coefficient (1/alpha). 

While loss coefficients can be derived via either experiment or literature, it is common to determine these coefficients via a CFD model. Since the main goal of porous media is to reduce computational complexity, naturally the whole device should not be modeled when determining these coefficients. Instead, a small “unit cell” model that fully resolves a small section of the porous geometry is used. The model has the sole purpose of generating data that will be used to determine the inertial and viscous coefficients.

The unit cell model will be run at several flow rates and the pressure drop across the model will be recorded. The velocity vs pressure drop curve formed by this data will be curve fit to the form:

Coefficients a and b will then solved for using:

Knowing that the pressure loss will always follow a parabolic curve as described above, any tuning that is perceived to be needed means that the curve fit must be altered. Similarly, if experimental testing reveals that the pressure drop vs velocity curve follows any shape other than a parabola with a y-intercept of zero, then the porous loss model cannot represent this loss accurately across, though a curve fit could potentially be done for some limited range of velocities.

Meshing Tips for Zero Thickness Baffles in Ansys Fluent

A common technique in distributing ducted flow involves thin guiding vanes or baffles.  One of the biggest hurdles to modeling baffles is how thin they are relative to the rest of the model.  If you were to model their true thickness, you typically have a choice between poor quality skewed elements or an excessively high mesh count.  Instead, thin baffles are often approximated as infinitely thin.  

When using Fluent Meshing, the addition of surface bodies in SpaceClaim to represent each baffle is perhaps the quickest approach to adding in baffle geometry. In some cases it is also possible to split up the fluid volume to account for these baffles, but generation of non-manifold geometry is not a viable approach, so this is typically more challenging than the surface body approach.




It is also important to consider inflation on zero thickness baffles. If one was to resolve the actual thickness of a baffle, inflation could wrap around the baffle without issue, but this is not the case for a zero thickness baffle. Instead, inflation will be forced to stair-step wherever the baffle ends in the middle of the fluid volume. These stair-stepped elements are of poor quality and will negatively affect the convergence behavior of the solution.




To prevent stair-stepping, inflation must be allowed to wrap fully around an object, or extend to an external boundary. To accomplish this for the case of zero thickness baffles, additional surfaces must be added to the geometry. Inflation layers can be grown on surfaces that allow flow to pass through them. It would be typical to consider these as “meshing surfaces” as their only purpose in the model is to aid in mesh quality by preventing stair-stepping of inflation layers.

In the case of turning vanes in a duct as pictured in this article, it makes sense to create extensions to the turning vanes that terminate at the inlet and outlet. Note that these additional surfaces must be separate faces from the actual vanes themselves. This is so that the meshing surfaces can be set to interior type boundaries in the solver. This will allow flow to pass through the meshing surfaces unobstructed.







To achieve continuous inflation using these new meshing surfaces, there are two approaches in Fluent Meshing. First, you can intentionally set the meshing surfaces to the wall boundary type in the Update Boundaries task. This will allow you to grow inflation using the default Add Boundary Layers control. When choosing this option it is important to set the meshing surfaces to “Interior” type boundaries once inside the solver otherwise flow will not be able to pass through these surfaces. The second option while meshing is to set the meshing surfaces to “internal” boundaries in the Update Boundaries task. This will then require that you manually scope your boundary layers for these surfaces, but avoids the need to change the boundary type later in the solver. Note that the terminology for a conformal boundary that allows flow to pass through it is different for the mesher and the solver. In the mesher this is “internal” and in the solver this is “Interior.”

Regardless of approach, the final mesh should have no stair-stepping of inflation as shown below. 


If in your final model you have no need for multiple cell zones, then you can merge the multiple cell zones together inside of the solver. To do so, go to the Domain Tab > Combine > Merge and select the relevant cell zones. This will remove the workflow information from the case file, so be sure that you have saved the .msh.h5 file separately before performing this operation.

Convergence Monitoring in Ansys Fluent

When solving CFD models using Ansys products, there are a number of ways to determine model convergence.  DRD recommends monitoring a combination of holistic (like individual equation residual values) and local quantities (like surface and point monitors) to ensure a stable, converged solution. Residuals are representative of the average error across all control volumes in the model, while local quantities can help you better focus on key parameters in your model.

Sometimes you might encounter a situation where one or more residual does not reach its convergence target, but important characteristic features being monitored have steadied to a particular value.  Often this is sufficient for approximating the behavior you are simulating, but other times you may need to strive for more precision.  To do so, it is helpful to be able to determine where in the model there are locally high residuals that are preventing the overall residual value from reaching its target.

By default, Fluent only exposes mass-imbalance (related to continuity residual) to the user.  When post-processing, this can be found in the Residuals group of variables.

Ansys Fluent software image of residuals variables

To access the other residuals, you need to enable an expert parameter using the console prior to solving.  Expert parameters can be accessed using the TUI command ‘/solve/set/expert’.  Beyond that, the prompts you receive will depend on your Fluent environment, so we can’t dictate a specific list of responses.  However, to enable the remaining residuals you will need to answer “yes” to the prompt “Save cell residuals for post-processing?”.

Ansys Fluent setting image

After solving you should then see more options for plotting residuals, which will allow you to better evaluate where local error is preventing the overall residual from reaching its convergence target.

Ansys Fluent software image of residuals variables

Often you will find this is associated with a mesh quality issue that requires resolution via remeshing, or even a geometric modification in order to improve mesh quality.