ico only running with a crazy small time step
I am running a model of flow in a pretty basic channel (2m wide x 4 m in length x 4m tall) and I can only keep the Courant number in check if I run it with a time step of 1e-16.
My block mesh uses a (40 40 40) grid, and going any finer on this means that the computation times takes ages. With my current time step a simple simulation would take several weeks to run. Does anybody have any further tricks on how to keep the Courant number in check with a reasonable time step? It seems to be a trade-off between a super fine mesh and a super small time step, both of which mean really long computation times. |
Is the max velocity in the domain realistic? You might be having a velocity blow up which is driving down the Co and deltaT down.
|
thanks for the reply, my max velocity is reasonable, but I'm now wondering if I haven't messed something up in my U file:
dimensions [ 0 1 -1 0 0 0 0 ]; internalField uniform ( 0 0 0 ); boundaryField { Wall8 //inlet { type fixedValue; value uniform ( -0.4 0.4 0.1 ); } Wall6 { type fixedValue; value uniform ( 0 0 0 ); } Wall7 { type fixedValue; value uniform ( 0 0 0 ); } Wall9 { type fixedValue; value uniform ( 0 0 0 ); } Wall10 { type fixedValue; value uniform ( 0 0 0 ); } Wall12 { type fixedValue; value uniform ( 0 0 0 ); } Wall17 //outlet { type zeroGradient; } Wall20 { type fixedValue; value uniform ( 0 0 0 ); } Wall21 { type fixedValue; value uniform ( 0 0 0 ); } Wall22 { type fixedValue; value uniform ( 0 0 0 ); } Wall27 { type fixedValue; value uniform ( 0 0 0 ); } Wall28 { type fixedValue; value uniform ( 0 0 0 ); } } |
|
You may be facing a problem with numerical stability. What kind of fvSchemes are you using? A more diffusive/stable convection discretization scheme might help.
If you're looking for a steady-state solution you might be able to get away with running upwind for a little while and switching over to more accurate schemes later on in the run. |
Thanks for the suggestion. I will look for examples of the fvScheme that you suggest. I'm currently using the following fvScheme:
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; grad(p) Gauss linear; } divSchemes { default none; div(phi,U) Gauss linear; } laplacianSchemes { default none; laplacian(nu,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(HbyA) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p ; } |
All times are GMT -4. The time now is 18:14. |