IcoFoam unstability, courant number gets large!
I am trying to run a icoFoam with a big mesh. the mesh contains very small elements. I have run the checkMesh and it shows to be ok. I start the simulation with very small time steps(10-7) and it gives a courant number about 0.02. But after a certain interations, the courant number start to increase and the simulation becomes unstable, can somebody give me suggestions?
default Gauss linear;
grad(p) Gauss linear;
div(phi,U) Gauss upwind;
laplacian(nu,U) Gauss linear limited 0.7;
laplacian((1|A(U)),p) Gauss linear limited 1.0;
p ICCG 1e-06 0;
U BICCG 1e-05 0;
Create polyMesh for time = 0
Time = 0
internal faces: 14837762
boundary patches: 4
point zones: 0
face zones: 1
cell zones: 1
Overall number of cells of each type:
tet wedges: 0
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface topology
walls 103946 52781 ok (non-closed singly connected)
inlet 349 198 ok (non-closed singly connected)
outlet 460 256 ok (non-closed singly connected)
walls 467913 234323 ok (non-closed singly connected)
Overall domain bounding box (-0.066982359 -0.047683548 1.6543907) (-0.019686867 0.037543221 1.6653831)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (1.1197576e-17 -1.7322355e-17 1.4746822e-16) OK.
Max cell openness = 2.7923378e-16 OK.
Max aspect ratio = 5.5543271 OK.
Minumum face area = 6.476086e-12. Maximum face area = 9.1024527e-08. Face area magnitudes OK.
Min volume = 1.1082091e-17. Max volume = 6.4997273e-12. Total volume = 1.9463392e-06. Cell volumes OK.
Mesh non-orthogonality Max: 66.920089 average: 14.782049
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.71939697 OK.
you need relaxation factor. Let me know, if it doesn´t woork
I thought I can not put a relaxation factor in transient simulation? Correct me if I am wrong...
Since you use a fully tetrahedral mesh, you might want to use limited schemes for the gradients, and perform some non-orthogonal corrector step (your mesh is borderline, with max non-orthogonality ~ 66).
P.S. What version of OpenFOAM are you using?
I am using OpenFOAM 1.5
I got approximately the same problem and you can fix it as Alberto propose by using pimpleFoam or transientSimpleFoam with relaxation. However the problem will remain if the time step that you use is too big. Indeed your flow will not be converged at each time step... I am still trying to find something in order to run large time step in unsteady simulation.
larger time steps
one way to run a transient simulation with larger time steps can be achieved by including an additional loop in the solver, e.g. interFoam.
In interFoam, this loop has to be constructed in a way, that it includes the pressure and the velocity equation. Additionally, you must include relaxation within the loop by using the "storePrevIter" function before the calculation of the “p” and “u” equation and the "relax" function has to be used afterwards.
However, I am not sure if including this additional loop will result in other problems with the solver.
Hi Chris Lucas,
Thank for the post, I will take a look at the code of interFoam. But in fact, I should give you more informations about my case.
I have modified the pimple solver:
- Time loop: increase time step and apply dynamic mesh motion.
- Pimple loop: Solve the U equations, apply under-relaxation and correct turbulence.
- Piso loop: Store previous pressure, solve pressure equation and apply under-relaxation.
I should also mention that I can reached convergence with bigger time step by increasing the number of pimple loops. However, in this case I have no significant improvement in computational time compare to the small time steps. As my mesh is between 10 and 25 millions of cells, I have to take care about the time of my simulations.
PimpleFoam for TubDyM solver in OF 1.5-dev
Is there someone who wants tu debug and correct my pimpleFoam solver applied on turbulence and dynamic meshes solver?
hi all of foamers
i have one question, why when i use icoFoam for cylinder case stady (standard case in OF) for centimeter dimention & velosity mgnitude 1m/s at the left pach,this error " floating point exception (core dumped) " occurs and the simulation becames unstable ?:(
Now I have the same problems. If the parameter nOuterCorrectors is set to be 1 in transient time marching, then is it still meaningful to use the velocity and pressure under-relaxation factors? Because in this case, there are not outer iteration steps.
|All times are GMT -4. The time now is 22:26.|