Fluent FAQ
From CFD-Wiki
m (Reverted edit of A, changed back to last version by Tsaad) |
(→What does the floating point error mean? How can I avoid it?) |
||
Line 7: | Line 7: | ||
The floating point error has been reported many times and discussed a lot. Here are some of the answers found in the Fluent Forum: | The floating point error has been reported many times and discussed a lot. Here are some of the answers found in the Fluent Forum: | ||
+ | |||
+ | From numerical computation view point , the basic operations performed by computer are represented inside computer in what is called floating point numbers. The errors that are either because of invalid numeric computation initiated by user or limitation of machine that is used are floating point errors. | ||
+ | |||
+ | 1)Invalid Operations:- Simplest example is if one uses Newton Raphson root finding method to solve f(x)=0 and for some Nth iteration if we get x = x(N) such that derivative of function f(x), f'(x(N))=0 then formula for calculating next iterate x(N+1) = x(N) - f(x(N))/f'(x(N)) requires division by f'(x(N)) which is zero. Here you get divide by zero type of floating point error. | ||
+ | |||
+ | 2) Over or Underflow:- Another type is having data with either too large or too small magnitude called 'overflow' or 'underflow' respectively.Such data cannot be physically represented on computer for direct processing by arithmetic processing part of Processor. | ||
+ | |||
+ | 3) Rounding off errors :- While rounding off a decimal number , some significant digits are lost which cannot be recovered . | ||
+ | e.g. if we round off 0.1 to integer (not greater than it called 'floor' of the given no.) then it is zero. If this value if further used for computation then it may lead to several errors. | ||
'''SOLVER AND ITERATION''' -----I think if you set shorter time step, it may be good. Or changing little Under-Relaxiation-Factors, it may be good. In my experience, I set 1/3 Under-Relaxiation-Factors as default.� -----�also lower the values of under relaxation factor and use the coupled implicit solver� -----�Try to change under-relaxation factors and if it is unsteady problem maybe time step is to large.� -----�you can improve the ratio in the solve--control--limits, maybe that can help.� -----�you will need to decrease the Courant number� -----�If you still get the error, initialize the domain with nothing to 'Compute from...' Then click 'init'. Again select the surface from which you want to compute the initial values & iterate. This should work.� -----�Another reason could be a to high courant number - that means, that the steps between two iterations are too large and the change in the results is too large as well (high residuals)� | '''SOLVER AND ITERATION''' -----I think if you set shorter time step, it may be good. Or changing little Under-Relaxiation-Factors, it may be good. In my experience, I set 1/3 Under-Relaxiation-Factors as default.� -----�also lower the values of under relaxation factor and use the coupled implicit solver� -----�Try to change under-relaxation factors and if it is unsteady problem maybe time step is to large.� -----�you can improve the ratio in the solve--control--limits, maybe that can help.� -----�you will need to decrease the Courant number� -----�If you still get the error, initialize the domain with nothing to 'Compute from...' Then click 'init'. Again select the surface from which you want to compute the initial values & iterate. This should work.� -----�Another reason could be a to high courant number - that means, that the steps between two iterations are too large and the change in the results is too large as well (high residuals)� | ||
Line 19: | Line 28: | ||
'''WRONG INITIATION''' ----- Initiating the case with wrong conditions may lead to floating point error when the iterations start. | '''WRONG INITIATION''' ----- Initiating the case with wrong conditions may lead to floating point error when the iterations start. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
=== Models Related === | === Models Related === |
Revision as of 07:59, 14 March 2006
This section is empty. This is just a suggestion on how to structure it. Please feel free to add questions and answers here!
FLUENT
Solver Related
What does the floating point error mean? How can I avoid it?
The floating point error has been reported many times and discussed a lot. Here are some of the answers found in the Fluent Forum:
From numerical computation view point , the basic operations performed by computer are represented inside computer in what is called floating point numbers. The errors that are either because of invalid numeric computation initiated by user or limitation of machine that is used are floating point errors.
1)Invalid Operations:- Simplest example is if one uses Newton Raphson root finding method to solve f(x)=0 and for some Nth iteration if we get x = x(N) such that derivative of function f(x), f'(x(N))=0 then formula for calculating next iterate x(N+1) = x(N) - f(x(N))/f'(x(N)) requires division by f'(x(N)) which is zero. Here you get divide by zero type of floating point error.
2) Over or Underflow:- Another type is having data with either too large or too small magnitude called 'overflow' or 'underflow' respectively.Such data cannot be physically represented on computer for direct processing by arithmetic processing part of Processor.
3) Rounding off errors :- While rounding off a decimal number , some significant digits are lost which cannot be recovered . e.g. if we round off 0.1 to integer (not greater than it called 'floor' of the given no.) then it is zero. If this value if further used for computation then it may lead to several errors.
SOLVER AND ITERATION -----I think if you set shorter time step, it may be good. Or changing little Under-Relaxiation-Factors, it may be good. In my experience, I set 1/3 Under-Relaxiation-Factors as default.� -----�also lower the values of under relaxation factor and use the coupled implicit solver� -----�Try to change under-relaxation factors and if it is unsteady problem maybe time step is to large.� -----�you can improve the ratio in the solve--control--limits, maybe that can help.� -----�you will need to decrease the Courant number� -----�If you still get the error, initialize the domain with nothing to 'Compute from...' Then click 'init'. Again select the surface from which you want to compute the initial values & iterate. This should work.� -----�Another reason could be a to high courant number - that means, that the steps between two iterations are too large and the change in the results is too large as well (high residuals)�
GRID PROBLEMS -----�this error comes when I start scaling grid. in gambit, all my dimension is in mm, when in fluent i convert it in meter using buttone SCALE. after it, when i iterate, about hundred iteration, this error appeared. but when i not scale my drawing to m...and let it be as in gambit..then the iteration is success. -----�hi I think you should check your mesh grid mesh is very high. your problem solve by selection a low mesh.� -----�Your mesh is so heavy that your computers resources are not enough. try to use coarser mesh.�
BOUNDARY CONDITIONS -----�In my case I had set a wall boundary condition instead of an axis boundary condition and then FLuent refuses to calculate telling me 'floating point error'.� -----�Your Boudary Conditions do not represent real physis.� -----�wrong boundary condition definition might cause the floating point error. For example setting an internal boundary as interior� -----�Once I had the problem, simulating a 2D chamber with a symmetry BC. I set the symmetry somewhere as �axe symmetric� and the floating point error occur� -----�check the turbulence parameter you set. reduce the turbulence intensity to less that one for first, say 50 iterations.
USING A UDF -----�What I mean is really often when people creates UDF they generally forget that for the first iteration some variable can be zero. Therefore if you are divided a number by zero your solver will blow up telling you 'non floating error'. 'non' means 'not a number'. Depending on your UDF this kind of error does not effectively happens at the first iteration. An example, if you are simulated a domain with a stagnant water as initial condition and you are calculated for the first iteration something like 1/Re therefore lets call it BOOM !!! because Re=0 . To find this kind of think there a simple way : reread your UDF.�
MULTI PROCESSOR ISSUES -----"I've had similar problems recently with floating point errors on a multi processor simulation. The solution for my problem seems to be to run on a single processor, where it runs fine....?�
WRONG INITIATION ----- Initiating the case with wrong conditions may lead to floating point error when the iterations start.
Models Related
What is the turbulent viscosity ratio warning and how can I handle it?
The problem can be caused by improper values for the boundary condition turbulence parameters. Check the fluent manual (which is kind of more like a textbook), about modeling turbulence.
For the case of internal flow, you basically have to consider the physical state of the fluid upon entrance to your control volume. If the fluid is coming into your volume from a fully developed turbulent pipe flow, it will have more turbulent energy than from a stagnant fluid. Think of lots of little vortices, which mostly mix things up, and those all have kinetic energy associated). This energy can be expressed as a nondimensional Intensity (a percentage is used). In addition, a Length parameter is specified.
How can I determine the inputs for a porous media or porous jump from flow versus pressure drop data?
How do I model heat conduction in a composite wall?
What pressures should be specified at inlets and outlets for buoyancy flow problems?
Are there any general guidelines on selecting a turbulence model?
How can both turbulent and laminar flow be included in one model?
==== How to start a 3D simulation with an compressible medium and temperature changes? What is important to consider
==== What is the difference between the coupled and the seggregated solver The coupled solver will solve all equations (conservation equations for mass, momentum and energy) simultaneously instead of sequentially (=segregated from one another). You should use the coupled solver when the velocity and pressure are strongly coupled (high pressures and high velocities). Very long calculation times can occur when you use the coupled solver.
Solution Methodology
How do i carry out rotating body analysis, eg a rotating sphere or cylinder in flow?
How do i get better and faster convergence?
What is the role of under-relaxation parameters? What should be the optimum choice of these parameters?
They limit the influence of the previous iteration over the present one. If you choose small values it may prevent oscillations in residuum developing. At the same time the solution may need more time to converge. Keep the default values as they are given in FLUENT. You can decrease them gradually if necessary. Momentum 0.6, pressure 0.1, k 0.4, eps 0.4, mass source 1, viscosity 1.
Tips
How to merge two mesh files and make one?
To merge two mesh files the suggested utility is tmerge. The syntax of tmerge is simple.
utility tmerge -3d file1 file2 finalfile
To join the two interior faces use:
Grid->Fuse
from the menu with Fluent.
How to run multiple cases in batch mode
This could be achieved by running it from journal file. The example journal file that runs two cases is given as
file read-case-data xxx1.cas
solve dual-time-iterate yyy1
file write-case-data zzz1.cas
file read-case-data xxx2.cas
yes (comment: for discard cas dialog)
solve dual-time-iterate yyy2
file write-case-data zzz2.cas
have a look at this discussion:
http://www.cfd-online.com/Forum/fluent_archive.cgi?read=32615
Want to export Fieldview data for postprocssing during iterations
This could be done with the help of menu solve->Execute Commands .
Here are two examples:
Steady Case
- file/export/fug/File_grid-%n
- file/export/fud/File_data-%n pressure velocity-magnitude x-velocity y-velocity z-velocity ()
Unsteady Case
- file/export/fug/File_grid-%t
- file/export/fud/File_data-%t pressure velocity-magnitude x-velocity y-velocity z-velocity ()
You can chose the frequency of export from the Execute Command panel.
What does the abbreviation mean?
CFD = Computational Fluid dynamics
FEM = Finite element model
FVM = Finite Volume Method
FDM = Finite Difference Method
UDF = User defined function
PDF = Probability Density Function
URF = Under Relaxation Factor
VOF = Volume Of Fluid
DPM = Discrete Phase Model
TUI = Text User Interface
GUI = Graphical user interface
BC = Boundary Conditions
RANS = Reynolds averaged Navier-Stokes Equations
LES = Large Eddi simulation
DES =
RSM
B-L = Boundary Layer
QUICK
MUSCL
What is the difference between FE and FV?
Following excerpt from Vivek Ranade's book will answer this question to some extent. "The distinguishing feature of FE method is that the equation are multiplied by weight function before they are integrated over the entire domain. This approximation is then substituted into the weighted integral of the conservation law. By minimizing the residual, a set of non-linear algebraic equations is obtained. An important advantage of the FE method is its superior ability to deal with a solution domain having complex geometry, It is however difficult to develop computationally efficient solution method for strongly coupled and non-linear equations using FE."
" The finite volume (FV) method uses the intergal form of the conservation equation as its starting point. The solution domain is divided into number of computational cells. The differential equation is integrated over the volume of each computational cell to obtain the algebraic equation". Those equations are solved iteratively to get the solution over the entire domain. Even if you start with FV method than also you will get the same form of algebraic equations as with FD method. For most of the cases FV and FD method and FD method is same, only approach is differetnt.
In Finite Differnece, the Dependant variable values are stored at the nodes only.
In FEM, The dependant values are stored at the element nodes.
But in FVM, the dependant values are stored in the center of the Finite volume.
In FV approach, Conservation of mass, momentum, energy is ensured at each cell/finite volume level. This NOT true in FD and FE approach.
It is always better to use Governing Equation in Conservative form with FV approach to solve any problem which ensures conservation of all the properties in each cells/control volume.
FloWizard
FIDAP
POLYFLOW
Pre-processors
Gambit
possible errors and how to avoid them
meshing
WARN: Exact projection failed for node on edge xx near vertex xx. mesh size may need to be enlarged for this virtual edge if mesh is not acceptable
meshing failed for volume xx. This is usually caused by problems in the face meshes. Check the skewness of your face meshes and make shure the face mesh sizes are not to large in the area of small gaps
uniting two volumes
"misclassified graph coedge - probably geometrical problem"
-> you can try healing the volumes
-> deleting the volume (without lower geometry), healing and uniting the faces, then build the volume again
Gambit Turbo
TGrid
Application specific codes
Icepak
Airpak
MixSim
Educational codes
FlowLab