CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   IcoFoam unstability, courant number gets large! (http://www.cfd-online.com/Forums/openfoam/77218-icofoam-unstability-courant-number-gets-large.html)

vivien June 16, 2010 13:11

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(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?

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((1|A(U)),p) Gauss linear limited 1.0;
}

interpolationSchemes
{
default linear;
interpolate(HbyA) linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p;
}

FVsolution

solvers
{
p ICCG 1e-06 0;
U BICCG 1e-05 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 (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)

Checking geometry...
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.

Mesh OK.

ronaldo June 18, 2010 10:26

you need relaxation factor. Let me know, if it doesn´t woork

vivien June 18, 2010 10:31

I thought I can not put a relaxation factor in transient simulation? Correct me if I am wrong...

Thanks!

Vivien

alberto June 18, 2010 10:53

Quote:

Originally Posted by vivien (Post 263608)
I thought I can not put a relaxation factor in transient simulation? Correct me if I am wrong...

Thanks!

Vivien

You are correct. You should not relax using icoFoam, but this doesn't mean you cannot use under-relaxation in unsteady solvers. You can in pimpleFoam.

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?

Best,

ronaldo June 18, 2010 11:07

I am using OpenFOAM 1.5

cves June 18, 2010 11:51

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

Chris Lucas June 18, 2010 12:38

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

cves June 18, 2010 14:46

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.

Best regards,

Christian

aldo.iannetti October 7, 2010 03:25

PimpleFoam for TubDyM solver in OF 1.5-dev
 
1 Attachment(s)
Hi,
Is there someone who wants tu debug and correct my pimpleFoam solver applied on turbulence and dynamic meshes solver?

Thanks

desert_1250 October 15, 2010 15:09

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 ?:(

hz283 July 23, 2013 12:48

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 under-relaxation factors? Because in this case, there are not outer iteration steps.


Quote:

Originally Posted by cves (Post 263635)
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.

Best regards,

Christian



All times are GMT -4. The time now is 11:47.