How to add your knowledge

Perform Fluid Flow Analyses

    This page pertains to Steady Fluid Flow and Unsteady Fluid Flow. It does not pertain to Flow Through Porous Media.

    Log Files for Fluid Flow Analyses

    The main issue during a fluid analysis is whether the model is converging or not, and how easily it is converging. Once the iterations begin, monitoring this text will help the analyst decide if the analysis needs to be stopped to change some parameters.

    The format of the log file depends on the type of formulation and solver used.

    Segregated Formulations

    With the segregated formulation, there are potentially two sets of iterations. One set of iterations |R/F| = relates to the solution of the velocity and pressure matrices when using the iterative solver. The other set of iterations relates to the convergence of the fluid flow equations. After the velocity and pressure matrices converge with the iterative solver, the error norm in the fluid flow equations are calculated.

    Using the segregated formulation, the columns in convergence history are as follows (see Figure 1):

    • Step Intv: the time step interval corresponds to the input between two rows of the load curve spreadsheet (or between the initial value and the first row in the case of steady fluid flow).
    • Step: the step number within the step interval, from 1 to the number of Steps entered in the load curve.
    • Time: the time corresponding to the time step.
    • Percent: the percent of the analysis that is completed once the current time step converges.
    • DT: the current time step size.
    • L: the time step level. The analysis begins at level L=1. Unlike the other formulations, the segregated formulation will not increase the time step level (no time step reductions).
    • NonL Iter: the iteration number for the current time step (the iteration to solve the fluid equations). If the iteration reaches the Max Iterations specified under the load curve, then twice as many iterations will be added to the iterations already completed. The letter i will be placed next to the iteration number to indicate that iterations are being added. This can be repeated 5 times for unsteady flow (6 times for steady flow), each time adding twice as many iterations as before (except for the last increase). So if the Max Iterations was set to 5, the total number of iterations that could be performed with this scheme is 5+10+20+40+80+80 = 235 iterations.
    • Solv. Iter: This column indicates how many iterations were required for the solution of the velocity and pressure matrices when using the iterative solver. If using the sparse solver, these lines will not appear in the output. Multiple lines of output may appear with a different Solv. Iter number shown. Due to the solution method, the velocity in three directions and the pressure each must converge and can converge with a different number of iterations. These are shown as |R/F|u =, |R/F|v =, |R/F|w =, and |R/F|p =, respectively, when using the iterative solver. A c at the end of these lines indicates that the solver iteration has converged for the respective item and the residual is smaller than the Convergence tolerance value specified on the Solution tab of the Analysis Parameters.
      TipIf the pressure |R/F|p is requiring many iterations to converge, or reaches the maximum number of iterations before converging, consider changing the pressure solver from iterative to a sparse solver. When the maximum number of iterations have been used, the letter m will appear at the end of the line.
    • R_Norm_V or A_Norm_V: Once the solver iterations converge, the fluid equation norm is given (the number in this column of the output). The _Norm_V is the Euclid L-2 norm between two iterations based on the velocity. The R at the beginning of the title indicates the relative norm is used, and A at the beginning of the title indicates the absolute norm is used. If the norm is smaller than the Velocity Norm specified, then the velocity solution has converged. (All convergence parameters are specified on the Load Curves tab of the Analysis Parameters screen.)
    • R_Norm_P or A_Norm_P: Once the solver iterations converge, the fluid equation norm is given (the number in this column of the output). The _Norm_P is the Euclid L-2 norm between two iterations based on the pressure. The R at the beginning of the title indicates the relative norm is used, and A at the beginning of the title indicates the absolute norm is used. If the norm is smaller than the Pressure Norm specified, then the pressure solution has converged. (All convergence parameters are specified on the Load Curves tab of the Analysis Parameters screen.)
    • c: When the nonlinear iteration converges, the letter c appears after the _Norm_V or _Norm_P values. Both the velocity and pressure norms must be smaller than the respective tolerance in order for the fluid equations to be converged, at which time the solution proceeds to the next time step.
    • s: When the fluid timestep is oscillating due to stagnation, the letter s appears after the _Norm_V or _Norm_P values. What happens in this situation depends on the setting chosen for the Detect stagnation due to oscillation pull-down.

    01 **** Entering Time Loop ****

    02 Step                                                       NonL. Solv. == Euclid L-2 Norm ==

    03 Intv  Step     Time   Percent    DT      L  Iter  Iter   R_Norm_V    R_Norm_P

    04    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   1.6E-11c

    05    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   3.9E-07c

    06    1     1  5.000E-01  25.00  5.000E-01  1     1        1.000E+00   1.000E+00

    07    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   3.8E-09c

    08    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   3.0E-10c

    09    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   3.8E-09c

    10    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    11    1     1  5.000E-01  25.00  5.000E-01  1     2        1.765E-01   3.331E-01

    12    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   4.4E-09c

    13    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   7.7E-10c

    14    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   4.4E-09c

    15    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    16    1     1  5.000E-01  25.00  5.000E-01  1     3        8.105E-02   1.423E-01

    17    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   4.6E-09c

    18    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   1.2E-09c

    19    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   4.6E-09c

    20    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    21    1     1  5.000E-01  25.00  5.000E-01  1     4        3.879E-02   6.606E-02

    22    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   4.6E-09c

    23    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   1.5E-09c

    24    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   4.7E-09c

    25    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    26    1     1  5.000E-01  25.00  5.000E-01  1     5        1.891E-02   3.176E-02

    27    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   4.7E-09c

    28    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   1.6E-09c

    29    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   4.7E-09c

    30    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    31    1     1  5.000E-01  25.00  5.000E-01  1     6        9.295E-03c  1.552E-02

    32    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|u =   4.7E-09c

    33    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|v =   1.7E-09c

    34    1     1  5.000E-01  25.00  5.000E-01  1           1   |R/F|w =   4.8E-09c

    35    1     1  5.000E-01  25.00  5.000E-01  1           8   |R/F|p =   4.0E-07c

    36    1     1  5.000E-01  25.00  5.000E-01  1     7        4.587E-03c  7.643E-03c

    Figure 1: Sample Text From Log File, Segregated Formulation

    Line numbers were added to help with the following description.

    With the previous explanation in mind, the sample log file can be interpreted as follows:

    • At time step 1, nonlinear iteration 1 (fluid equations), the iterative solver required 1 iteration to converge on the v component of the velocity (line 04) and 8 iterations to converge on the pressure (line 05). The norms for the nonlinear velocity and pressure were both 1.000E+00 (line 06).
    • For nonlinear iteration 6, the iterative solver again required only 1 iteration to converge on the u, v, and w components of the velocity matrices (lines 27, 28, 29) and 8 iterations for the pressure matrix (line 30). The velocity norm 9.295E-03 was smaller than the convergence tolerance and therefore converged (line 31), but the pressure norm 1.552E-02 was larger than the tolerance; thus, the time step has not converged. The solution continues to the next iteration.
    • On nonlinear iteration 7, both the velocity and pressure norms are smaller than the convergence tolerances (note the c after each value), so the time step has converged (line 36). The next output line (not shown in the figure) would be for the next time step.

     

    Other Formulations:

    Using the Penalty formulation or Mixed GLS formulation, the columns in convergence history are as follows (see Figure 2):

    • Step Intv: the time step interval corresponds to the input between two rows of the load curve spreadsheet (or between the initial value and the first row in the case of steady fluid flow).
    • Step: the step number within the step interval, from 1 to the number of Steps entered in the load curve.
    • Time: the time corresponding to the time step.
    • Percent: the percent of the analysis that is completed once the current time step converges.
    • DT: the current time step size. If the analysis is having difficulty converging, it may reduce the time step by half.
    • L: the time step level. The analysis begins at level L=1. When L increases by one, the time step is cut in half.
    • NonL Iter: the iteration number for the current time step. If the iteration reaches the Max Iterations specified under the load curve, then one of two possibilities will be used:
      1. If the residuals from the last three iterations are increasing, the time step level L will be increased and the time step will be cut in half. This can continue up to level 20 at which point the processor quits.
      2. If the residuals from the last three iterations are decreasing, twice as many iterations will be added to the iterations already completed. The letter i will be placed next to the time step level L to indicate that iterations are being added. This can be repeated 5 times, each time adding twice as many iterations as the Max Iterations as before. So if the Max Iterations was set to 5, the total number of iterations that could be performed with this scheme is 5+10+20+40+80+160 = 315 iterations.
    • Residual Norm: The residual norm between two iterations based on the Navier-Stokes equations. If (R) appears in the title, then the relative norm is used; otherwise, an absolute norm is used. If the residual norm is smaller than the Residual Tol specified on the load curve, then the time step has converged.
    • Increm. Norm: The error norm between two iterations based on the velocity. If (R) appears in the title, then the relative norm is used; otherwise, an absolute norm is used. When the increment norm is smaller than the Increment Tol specified on the load curve, then the time step has converged.
    • c: When the timestep converges, the letter c appears at the end of the line.
      NoteEither the residual tolerance or the increment tolerance must be satisfied to converge. Both tolerances do not need to be satisfied. The convergence is often satisfied by the residual tolerance even though the increment norm can still be somewhat large. A large increment norm indicates that the velocity change between iterations is large. Therefore, check the log file after the analysis completes to make sure your requirements are satisfied.

    01 **** Entering Time Loop ****

    02 Step                                                     NonL.  Residual    Increm.

    03 Intv  Step     Time   Percent    DT      L  Iter       Norm(R)   Norm

    04    1     1  5.000E-01  25.00  5.000E-01  1     1   1.000E+00  1.111E-02

    05    1     1  5.000E-01  25.00  5.000E-01  1     2   2.212E-02  4.686E-05

    06    1     1  5.000E-01  25.00  5.000E-01  1     3   7.407E-05  4.686E-05c

    07    1     2  1.000E+00  50.00  5.000E-01  1     1   1.000E+00  1.305E-02

    08    1     2  1.000E+00  50.00  5.000E-01  1     2   4.441E-02  1.377E-04

    09    1     2  1.000E+00  50.00  5.000E-01  1     3   3.693E-04  4.477E-07c

    10 Step                                                       NonL.  Residual    Increm.

    11 Intv  Step     Time   Percent    DT      L  Iter       Norm(R)   Norm

    12    2     1  1.500E+00  75.00  5.000E-01  1     1   1.000E+00  1.987E-02

    13    2     1  1.500E+00  75.00  5.000E-01  1     2   6.917E-02  3.215E-04

    14    2     1  1.500E+00  75.00  5.000E-01  1     3   8.775E-04  1.602E-06

    15    2     1  1.500E+00  75.00  5.000E-01  1     4   4.874E-06  1.602E-06c

    16    2     2  2.000E+00 100.00  5.000E-01  1     1   1.000E+00  2.198E-02

    17    2     2  2.000E+00 100.00  5.000E-01  1     2   9.056E-02  4.628E-04

    18    2     2  2.000E+00 100.00  5.000E-01  1     3   1.465E-03  2.932E-06

    19    2     2  2.000E+00 100.00  5.000E-01  1     4   1.080E-05  2.932E-06c

    20                                                 

    21 **** Exit Time Loop ****

    22                                                 

    23 ******************************

    24 SUCCESSFUL RUN COMPLETED

    25 ******************************

    Figure 2: Sample Text From Log File, not Segregated Formulation

    Line numbers were added to help with the following description.

    With the above explanation in mind, the sample log file can be interpreted as follows:

    • In time interval 1 (lines 04 through 09), both time steps were able to converge after 3 iterations (lines 06 and 09).
    • In time interval 2 (lines 12 through 19), both time steps were able to converge after 4 iterations (lines 15 and 19).
    • Both the residual norm and increment norm are small. In particular, a change in velocity of 4.477E-7 and 2.932E-6 (the increment norms) are much smaller than the magnitude of the velocities. Thus, the solution is well converged.

     

    Common Error Messages:

    NaN appears in the log file.

    Cause: This is not an error that appears in the log file, but an indication of a problem with the solution. NaN stands for Not a Number and indicates that the solver performed a calculation that cannot be represented (such as 0/0). The NaNs may appear in the Norm columns.

    Action: One solution is to try a different solver, especially if the iterative solver was being used since it is more sensitive to the mesh quality. The solver is chosen under the Analysis Parameters dialog.

    Also, check the log file for other indications, such as Warning: Detected X dead elements (see warning below). This indicates that the mesh needs to be smaller to prevent cutting off the flow path.

    Error in fluid node mapping for BC.

    Cause: The fluid processor is unable to obtain the boundary conditions for all the nodes in the analysis.

    Action: Send an archive of the model ( Archive Create) to Technical Support.

    Warning: Detected X dead elements and X dead nodes.

    Cause: This occurs when all the nodes on an element are on a wall. The velocities are set to zero in all directions on all nodes. The number of elements and number of nodes affected are reported in the warming message (the X's are replaced with actual numbers). Since the flow rate through a face is based on the velocity at each node on the face, setting all the nodes to zero velocity will result in zero flow through the element.

    For example, this problem can occur when wedge (6-node) and tetrahedron (4-node) elements exist along edges and at corners of the model, as shown in the figure below.

    (a) isometric view

    (b) view of inlet face

    (c) view along direction of flow

    Figure 3: One element is highlighted in fluid model. All nodes of the element are on the wall, so the velocity of the nodes are zero.

    Action: If the area of the dead elements is small compared to the cross section, then the restriction of the flow area may be insignificant. In such cases, no action is required. If the area of the dead elements is significant, then the area should be remeshed to reduce the problem, or a different type of mesh should be used. For example, the boundary layer mesh on a CAD model will extrude the surface mesh to create brick elements at the surface which guarantees that some of the nodes will not be on the wall.

    If the dead elements cause a blockage in the flow, such as choking off the flow path between the fins of an air-cooled heat sink, then the area should be remeshed.

    Warning: Found N pyramid elements on the wall.

    Warning: Found N tetrahedral elements on the wall.

    Cause: The mesh includes 5-node pyramid or 4-node tetrahedral elements that touch the wall of the model, where N is the number of elements found. This warning is given because the k-epsilon turbulence model does not handle these element types as accurately.

    Action: Review the mesh. If possible, use 6-node wedge or 8-node brick elements for the elements that touch the wall. Otherwise, review the results in the area of the pyramid or tetrahedral elements. (The interior mesh is not affected by k-epsilon turbulence.)

    Warning: Time Step is too big for free surface propagation! The solution may not be accurate. It is recommended that the time step size be reduced to at least ttt.

    Cause: In an open channel flow analysis, the free surface cannot pass through a whole element in one time step. This violation was encountered, so the results should be checked for accuracy.

    Action: The warning message suggests a time step size ttt so that the free surface does not pass through a whole element in one time step. The analysis should be re-analyzed with the smaller time step size. Keep in mind that running the analysis with a smaller time step may capture different (finer-scale) phenomenon, so the actual time-step necessary to avoid this warning may be smaller.