www.kxcad.net Home > CAE Index > ANSYS Index > ANSYS CFX Index



ANSYS CFX-Solver and ANSYS CFX-Solver Manager

What is a reasonable physical timescale to use for my problem?

In general, it is advisable to use about 1/3 to 1/5 of the residence time. For rotating cases, try , and for buoyant simulations, is recommended. If you are not certain of what to pick for a timescale then you could try the Auto Timescale option, (For details, see Auto Timescale.) or if you want to set your own timescale see Timestep Selection.

Why does a steady state simulation require a timescale

All simulations run in ANSYS CFX are obtained by a transient evolution of the flow from the initial conditions provided by the user (or automatically generated by the solver if requested) to the steady state conditions desired. The physical timescale is used to control the rate at which time marching process will converge to a steady state. The converged steady state solution does not depend on the initial conditions, nor on the timescale used to arrive at the steady state (some exceptions may include physical flows that exhibit hysteresis, closed systems, and some compressible flow situations).The use of a timescale to evolve from initial conditions to steady state conditions is a useful way to obtain the steady state answer in the minimum CPU time. The general idea is to evolve the flow in a physical manner, and thereby avoid non-physical flow situations that might hamper or prevent convergence to the steady state. In general, when one is interested in the steady state simulation, one should choose a timescale that is as large as possible, defined as the timestep that minimizes the number of iterations required to obtain the steady state flow. A general rule of thumb is to estimate the flow residence time and try and take a timestep that is similar to this (large) timescale.For example, the residence time for flow through a long duct is the duct length (L) divided by the mean flow velocity (V). A good timescale to use might be 20% of L/V for this case.

How does the Solver compute the Auto Timescale?

Additional information on this topic is available. For details, see Automatic Time Scale Calculation.

How do I restart a calculation without changing the physics?

Use the previous ANSYS CFX results file as the definition file. The calculation will continue from the latest solution for the number of iterations originally specified, or until the calculation converges. For details, see Restarting a Run.

I want to change some parameters and/or physics without restarting ANSYS CFX-Pre. How do I do this?

Many parameters can be changed using the Command File editor or using the cfx5cmds command and a text editor like vi or emacs. For details, see Editing Definition Files. After writing the modified setup into the definition file, you can use your latest results file as an initial values file for the new problem. You can also directly modify the results file and continue from that as well.

Is there maximum file size limit for my results file?

On Windows platforms, the maximum file size is limited to 2GB. On UNIX systems, the file size is restricted only by the available disk space on your system. Additional information on results files is available. For details, see ANSYS CFX Results File.

Why does the Solver fail when I try to run my problem?

Solver overflow can often occur when an inappropriate timestep has been selected. Advice on choosing a timestep is available. For details, see Timestep Selection. It is also worth opening the out file in a text editor to check your boundary conditions. Errors in choosing units or entering values can seriously affect the solution. For details, see ANSYS CFX Output File.

Additional help on solving problems is available. For details, see Advice on Flow Modeling.

I get a message saying that a wall has been placed at one of my boundaries. What does this mean?

Additional help for this issue is available. For details, see Using Inlets, Outlets and Openings.

How can I create backup files during the run?

You can create a Backup Results object on the Output Control form in ANSYS CFX-Pre using the Iteration or Timestep Interval output frequency option. Backup Tab.

You can also make manual backups during the run by clicking the backup icon in the ANSYS CFX-Solver Manager.

How can I view the mass balances at each iteration?

In the ANSYS CFX-Solver Manager, create a new monitor plot with Workspace/New Monitor, and select the desired quantities from the IMBALANCE section of the Plot Lines tab.

Can I add a domain, boundary condition, subdomain, region or change the geometry/mesh density on a restart?

Yes, but you must interpolate the previous solution onto the new mesh which includes the subdomain. You can interpolate a results file onto a new definition file by using the Interpolate feature in the ANSYS CFX-Solver Manager, or by selecting the "Interpolate Initial Values onto Def File Mesh" option in the Run Definition panel. For details, see Interpolate Command. This can be used, for example, when you wish to run one set of results on a finer grid. If you wish to add a source and require a new subdomain then you can also use this feature since a new subdomain will change the mesh.

If there are minor changes to the existing geometry you may likely be able to restart after an interpolation. Depending on the nature of the geometry change you may simply have to restart the calculation from the beginning.

How can I stop a run of the solver?

If you have the ANSYS CFX-Solver Manager open, make sure that the Run you wish to stop is the current Run. Then you can just click on the Stop button. For details, see Stop Current Run Command.

Otherwise you can use the cfx5stop command at the command line. For details, see cfx5stop.

My simulation doesn't converge. What can I do?

Suggestions of how to overcome difficulties with convergence is available. For details, see Advice on Flow Modeling.

Why does the Auto Timescale option give an excessively small or large timestep?

In some cases, the Auto Timescale option fails to give a reasonable timestep size for a steady state simulation. This may occur if there is no available velocity or temperature scale on which to base the timestep size or the length scale used by the solver may also be inappropriate.

To solve this problem, do one of the following steps:

  • use an Initial Guess with a non-zero velocity and/or temperature field so that the Auto Timescale calculation gives a more reasonable value, or,

  • manually set a characteristic length scale for your problem. This is usually a length roughly equivalent to the flow path length from inlet to outlet through the problem

  • use a fixed physical timestep size.

  • Additional information on timestep size selection is available. For details, see Timestep Selection.

The CFX Solver complains about my mesh. What has happened?

If the ANSYS CFX-Solver complains about the quality of some of your mesh elements, it may continue to solve your CFD problem despite these warnings. However, you may have convergence difficulties or you may find that the results are poor, particularly if the bad mesh elements are in regions where the flow pattern is changing rapidly. To overcome this problem, you will have to make suitable changes to the mesh(i.e., decrease the mesh length scale in problematic regions).

The ANSYS CFX-Solver writes three fields to the results file which will aid you in diagnosing problematic areas in the mesh. These fields are called Orthogonality Angle, Aspect Ratio, Mesh Expansion Factor and are meant to complement the additional mesh diagnostics available in ANSYS CFX-Post. It may also prove useful to re-mesh the geometry with the original settings and pay close attention to the warning messages the mesher produces. For details, see:

If the ANSYS CFX-Solver does not give you enough information to be able to pinpoint the region which is causing the problems, then you will have to re-mesh with the original settings and pay close attention to the warning messages the mesher produces.

The Solver tells me to "Increase vector parallel tolerance”. What does this mean?

The value of vector parallel tolerance is the number of degrees tolerated by the solver in determining the maximum deviation of any element face normal from the average element face normal in a symmetry plane boundary condition. This error may occur when element inflation is used on surfaces adjacent to the symmetry plane boundary. It sometimes also occurs on meshes where the initial geometry was not a perfectly planar surface.

In some cases you can visualize the problem area by creating a plot in ANSYS CFX-Post of the coordinate which is normal to the surface. For example, if the Z axis is normal to the surface make a plot of the Z coordinate on the symmetry plane and set the variable range to local. Most of the plot should generally appear a single color (usually blue by default). Problematic faces will generally appear a different color than most of the symmetry condition.

Additional information on this parameter is available. For details, see ANSYS CFX-Solver Expert Control Parameters. Help on adding and changing expert parameters is available. For details, see Editing Definition Files.

How can I improve the convergence of a transient simulation, starting from a steady state solution with an average static pressure outlet?

When starting a transient problem from a steady-state solution where an average static pressure outlet boundary condition was employed, convergence can be improved in certain cases by using a CONSTANT outlet static pressure condition. The average pressure condition is a weak constraint on the pressure and sometimes the extra stiffness introduced by the constant static pressure option will improve the behavior.

I am getting finmes errors and the linear solver is failing. What's wrong?

Linear solver errors (or failures) such as this are usually caused by 'unphysical' boundary or initial conditions, especially if they occur on the first loop.

You should check through your boundary conditions for any errors and consider using Automatic with Value for the initial conditions. Sensible values can then be used to start the simulation, or ideally CEL expressions that approximate the expected solution field.

ANSYS CFX stops with an error message about element volumes during a mesh adaption step.

If you get the following error appearing during a mesh adaption step:

ERROR #002100010 has occurred in subroutine cVolSec.
| Message:
| A negative ELEMENT volume has been detected. This is a fatal| error and execution will be terminated. The location of the first| negative volume is reported below.

The failure usually occurs due to a poor quality initial mesh and then adapting that mesh to the underlying geometry. The consequent large movement of individual nodes created on the surface of the geometry during adaption can greatly distort elements so that sectors within the elements become inverted.

The solution is to:

  1. Toggle off "Adapt to Geometry" on the Mesh Adaption Advanced Parameters form. This does not reduce the quality of the geometrical representation of the initial mesh. However, it will produce a faceted geometrical surface mesh when adaption occurs on the surface. And/or,

  2. Improve the quality of the initial mesh, particularly where the geometry is highly curved, to reduce the amount of node movement when new nodes are snapped back to the geometrical surface. This can be achieved using angular resolution on the Mesh/Set/Mesh Params form.

Why does the ANSYS CFX-Solver fails during memory allocation on Windows?

The ANSYS CFX-Solver requests its necessary memory from the operating system at the beginning of the run. If it fails to do so, it will fail with the following error.

+------------------------------------------------------+
*** Run-time memory configuration error ***
Not enough free memory is currently available on the system.
Could not allocate requested memory - exiting!
+------------------------------------------------------+

Windows workstations with large amounts of memory (>2GB) can fail during this stage even if the total amount of requested memory is less than 2GB. If this happens, first verify that sufficient Virtual Memory has been allocated in the Operating System. It is recommended that the maximum size of Virtual Memory be at least twice the size of the available physical memory.

Even with enough Virtual Memory, the problem may persist and is a limitation of the Windows Operating System. Under all current 32-bit Windows operating systems (Windows NT, 2000, XP), the total available address space for any process is 2GB. If the solver is attempting to allocate more than 2GB of memory, it will fail.

Unfortunately, even if the solver is attempting to allocate less than 2GB of memory, it may fail. The problem lies in the details of how Windows manages the memory address space (physical & virtual memory). When a Windows application loads, dynamic link libraries (or DLLs) may also be loaded at the same time. These libraries are loaded into the memory address space at the address location specified in the DLL file. Sometimes DLLs will load in the middle of the address space creating fragmentation of the address space. The fragmentation reduces the maximum contiguous size of a free block of memory. When the solver tries to allocate memory, it is given the largest contiguous space in the entire address range. Depending on where Windows loaded the initial libraries, this may be 1.7GB, 1.3GB, or even less. You may be surprised to find that a 1.4GB solver run was fine one time, but failed to allocate memory a subsequent time. This is an unfortunate side effect of how Windows virtual memory management works.

If the solver fails memory allocation, but is close to the available memory, using explicit solver memory allocation may allow the case to run. When it starts, the solver estimates the amount of memory required. Depending of the details of the case, this estimation may be conservative and request more memory than is actually required (but not by more than about 10%). It is possible to override the solver memory estimate and specify the memory allocation. For details, see Memory Allocation Factor. Manually decreasing the allocation may allow the memory to fit within the available contiguous space.

If you have additional parallel keys, another solution is to execute the job with a larger number of parallel partitions, even if that means having more partitions than number of CPUs. With more parallel processes, each individual process will be smaller, and at some point will fit within the process memory limitations. This is done at the expense of some solver inefficiency due to additional parallel overhead.

Finally, other operating systems such a Linux do not display this limitation and may be considered if you want to take maximum advantage of your available memory.