CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

interFoam: Courant number explodes and no convergence

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 13, 2016, 20:22
Default interFoam: Courant number explodes and no convergence
  #1
New Member
 
-
Join Date: Oct 2016
Posts: 15
Rep Power: 9
DancingButterfly is on a distinguished road
hello everybody

I have a problem with the solver interFoam. No convergence can be found and the following error is shown:

[1] #0 Foam::error:rintStack(Foam::Ostream&) at ??:?
[1] #1 Foam::sigFpe::sigHandler(int) at ??:?
[1] #2 ? in "/lib/x86_64-linux-gnu/libpthread.so.0"
[1] #3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:?
[1] #4 Foam::symGaussSeidelSmoother::smooth(Foam::Field<d ouble>&, Foam::Field<double> const&, unsigned char, int) const at ??:?
[1] #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[1] #6 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:?
[1] #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
[1] #8 Foam::fvMatrix<double>::solve() at ??:?
[1] #9 Foam::SolverPerformance<double> Foam::solve<double>(Foam::tmp<Foam::fvMatrix<doubl e> > const&) at ??:?
[1] #10 Foam::RASModels::kEpsilon<Foam::IncompressibleTurb ulenceModel<Foam::transportModel> >::correct() at ??:?

I can be seen, that the Courant number gets huge, which I know does not work. Therefore, I adjusted the time step (10^-6), but the same error occured.

Has anybody a suggestion, what I can adjust?
I appreciate any help!!!!!

Thank you in advance
DancingButterfly is offline   Reply With Quote

Old   December 15, 2016, 09:22
Default
  #2
New Member
 
Dennis
Join Date: Oct 2016
Posts: 11
Rep Power: 9
Deagle is on a distinguished road
Hi,

Maybe you could also post your fvScheme and fvSolver files. This would make it easier to locate a potential problem...

If your Courant number is too high you might want to decrease change your timestep or add an adjustable timestep in the controlDict. But since your timestep is already small, the problem might be somewhere else but you'll have to give more information.
Also, do you have some mesh details?
Deagle is offline   Reply With Quote

Old   December 16, 2016, 00:01
Default
  #3
New Member
 
-
Join Date: Oct 2016
Posts: 15
Rep Power: 9
DancingButterfly is on a distinguished road
Thank you for your answer

This is the fvSolution file:

solvers
{
"alpha.water.*"
{
nAlphaCorr 2;
nAlphaSubCycles 4;
cAlpha 1;

MULESCorr yes;
nLimiterIter 3;

solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0;
}

pcorr
{
solver PCG;
preconditioner DIC;
tolerance 1e-5;
relTol 0;
}

p_rgh
{
solver PCG;
preconditioner DIC;
tolerance 1e-05;
relTol 0.05;
}

p_rghFinal
{
$p_rgh;
relTol 0;
}

"(U|k|epsilon).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-06;
relTol 0;
minIter 1;
}
}

PIMPLE
{
momentumPredictor no;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}

relaxationFactors
{
equations
{
".*" 1;
}
}


and the fvSchemes file:

ddtSchemes
{
default Euler;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(phi,k) Gauss linear;
div(phi,epsilon) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
default Gauss linear corrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}


The time step is already adjustable and is set to 10-6. Should I decrease it more?
DancingButterfly is offline   Reply With Quote

Old   December 16, 2016, 02:33
Default
  #4
New Member
 
Dennis
Join Date: Oct 2016
Posts: 11
Rep Power: 9
Deagle is on a distinguished road
Hi,

While I haven't done a multi-phase simulation, you might try the following:
- Lower your relaxation factor. You might even lower them to 0.1 to start with and could increase until still converged behavior. You may want to split them, since p and U are showing more of a converging behavior?
- I don't know the orthogonality of the mesh, but you can increase the nNonOrthogonalCorrectors (you can start with 1).
- If there still are problems, consider setting the gradient scheme to cellLimited (just put it in front of 'Gauss').
- If this all doesn't help, try using some upwind schemes as divergence schemes. Upwind is less accurate, but has a more converging behavior.

You can sort of check what lowering your time step does. Set in your controlDict adjustableTimestep as yes and set a maxCo of 2 or 5 for example. You might experience the time step really decreasing in step, but that's most likely not what you'd want.

Hope this helps!

Dennis
Deagle is offline   Reply With Quote

Old   December 19, 2016, 19:14
Default
  #5
New Member
 
-
Join Date: Oct 2016
Posts: 15
Rep Power: 9
DancingButterfly is on a distinguished road
Hello.

Thank you very much for your help!!! and sorry for my late answer! Unfortunately it did not work out Still this error is shown:

[0] #0 Foam::error:rintStack(Foam::Ostream&) at ??:?
[0] #1 Foam::sigFpe::sigHandler(int) at ??:?
[0] #2 ? in "/lib/x86_64-linux-gnu/libpthread.so.0"
[0] #3 Foam:ICPreconditioner::calcReciprocalD(Foam::Fie ld<double>&, Foam::lduMatrix const&) at ??:?
[0] #4 Foam:ICPreconditioner:ICPreconditioner(Foam::l duMatrix::solver const&, Foam::dictionary const&) at ??:?
[0] #5 Foam::lduMatrix:reconditioner::addsymMatrixConst ructorToTable<Foam:ICPreconditioner>::New(Foam:: lduMatrix::solver const&, Foam::dictionary const&) at ??:?
[0] #6 Foam::lduMatrix:reconditioner::New(Foam::lduMatr ix::solver const&, Foam::dictionary const&) at ??:?
[0] #7 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
[0] #8 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:?
[0] #9 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
[0] #10 ? at ??:?
[0] #11 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #12 ? at ??:?


I have some problems with reading this error.. can anyone detect where the problem lays?

Thank you a lot!
DancingButterfly is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 15:44.