IcoFoam unstability, courant number gets large!
Hi, everyone,
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(107) 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? Many Thanks! Vivien FVscheme ddtSchemes { default Euler; } gradSchemes { default Gauss linear; grad(p) Gauss linear; } divSchemes { default none; div(phi,U) Gauss upwind; } laplacianSchemes { default none; laplacian(nu,U) Gauss linear limited 0.7; laplacian((1A(U)),p) Gauss linear limited 1.0; } interpolationSchemes { default linear; interpolate(HbyA) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; } FVsolution solvers { p ICCG 1e06 0; U BICCG 1e05 0; } PISO { momentumPredictor yes; nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } CheckMesh Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 1412976 faces: 15410430 internal faces: 14837762 cells: 7562048 boundary patches: 4 point zones: 0 face zones: 1 cell zones: 1 Overall number of cells of each type: hexahedra: 0 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 7562048 polyhedra: 0 Checking topology... 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 (nonclosed singly connected) inlet 349 198 ok (nonclosed singly connected) outlet 460 256 ok (nonclosed singly connected) walls 467913 234323 ok (nonclosed singly connected) Checking geometry... Overall domain bounding box (0.066982359 0.047683548 1.6543907) (0.019686867 0.037543221 1.6653831) Mesh (nonempty, nonwedge) directions (1 1 1) Mesh (nonempty) directions (1 1 1) Boundary openness (1.1197576e17 1.7322355e17 1.4746822e16) OK. Max cell openness = 2.7923378e16 OK. Max aspect ratio = 5.5543271 OK. Minumum face area = 6.476086e12. Maximum face area = 9.1024527e08. Face area magnitudes OK. Min volume = 1.1082091e17. Max volume = 6.4997273e12. Total volume = 1.9463392e06. Cell volumes OK. Mesh nonorthogonality Max: 66.920089 average: 14.782049 Nonorthogonality check OK. Face pyramids OK. Max skewness = 0.71939697 OK. Mesh 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...
Thanks! Vivien 
Quote:
Since you use a fully tetrahedral mesh, you might want to use limited schemes for the gradients, and perform some nonorthogonal corrector step (your mesh is borderline, with max nonorthogonality ~ 66). P.S. What version of OpenFOAM are you using? Best, 
I am using OpenFOAM 1.5

Hello,
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. Best regards Christian 
larger time steps
Hi Christian,
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. Regards, Christian 
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 underrelaxation and correct turbulence.  Piso loop: Store previous pressure, solve pressure equation and apply underrelaxation. 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. Best regards, Christian 
PimpleFoam for TubDyM solver in OF 1.5dev
1 Attachment(s)
Hi,
Is there someone who wants tu debug and correct my pimpleFoam solver applied on turbulence and dynamic meshes solver? Thanks 
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 ?:( 
Hi All,
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 underrelaxation factors? Because in this case, there are not outer iteration steps. Quote:

All times are GMT 4. The time now is 22:26. 