convergence problem
Hi,
I am having convergence problems with an old OF 1.6 case ported to OF 2.0. I am using snappyHexMesh to mesh a terrain ,then do a simpleFoam run. Maybe it is better to start from the new tutorial cases from scratch, but I seem to have done most of the porting right since it does the first iteration correct but it breaks on 2nd iteration. How can I track down such kind of errors ? ------------- Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon kEpsilonCoeffs { Cmu 0.03; C1 1.21; C2 1.92; C3 -0.33; sigmak 1; sigmaEps 1.3; Prt 1; } SIMPLE: convergence criteria field p tolerance 1e-06 field U tolerance 1e-06 field "(k|epsilon)" tolerance 1e-06 Starting time loop Time = 1 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.00638534994837, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0944616607626, No Iterations 10 smoothSolver: Solving for Uz, Initial residual = 1, Final residual = 0.00153355776121, No Iterations 1 GAMG: Solving for p, Initial residual = 1, Final residual = 0.0706871993687, No Iterations 2 time step continuity errors : sum local = 0.00244453565105, global = -0.00069856211074, cumulative = -0.00069856211074 smoothSolver: Solving for epsilon, Initial residual = 0.818403563622, Final residual = 0.0533243569086, No Iterations 2 smoothSolver: Solving for k, Initial residual = 0.999999999999, Final residual = 0.087750879704, No Iterations 2 ExecutionTime = 5.07 s ClockTime = 7 s Time = 2 #0 Foam::error::printStack(Foam::Ostream&) in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib64/libc.so.6" #3 Foam::GaussSeidelSmoother::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) in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam::GaussSeidelSmoother::smooth(Foam::Field<doub le>&, Foam::Field<double> const&, unsigned char, int) const in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #6 in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/simpleFoam" #7 in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/simpleFoam" #8 in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/simpleFoam" #9 __libc_start_main in "/lib64/libc.so.6" #10 Foam::UOPstream::write(char) in "/work/dabdi3/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/simpleFoam" Floating point exception ---------------------- Thanks |
Hi Besh,
like you see in your error message you got a problem with a floating Point exception or with the signal handler for this try unset FOAM_SIGFPE in your terminal where you running or maybe better unset this in your $WM_PROJECT_DIR/etc/bashrc or $WM_PROJECT_DIR/etc/cshrc depending which shell your using. You have to source this file in advance before running the solver again. Regarding the SIGFPE error you find lots of post in this forum. Best regards Th. |
1 Attachment(s)
Hi Thorsten,
Thank you very much! Now the floating point exception is gone and I can see it did not converge starting from the second iteration. I am starting from a case somebody used in his thesis in this forum (Benjamin Martinez) to simulate a 3D bump. He used an older version of OF and I am unable to run that even on a flat terrain (no snappyHex problems), so maybe something is wrong with my boundary conditions. If someone can look at my case file I attached here, I appreciate it very much. I will try to start modify the motorbike case of the tutorial. Commands I used: blockMesh snappyHexMesh -overwrite (optional in case of flat terrain) simpleFoam Output: ------------------ Time = 1 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.0973740880192, No Iterations 88 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0909104674317, No Iterations 4 smoothSolver: Solving for Uz, Initial residual = 1, Final residual = 0.0996167376728, No Iterations 36 GAMG: Solving for p, Initial residual = 1, Final residual = 0.0370515011559, No Iterations 2 time step continuity errors : sum local = 9.84275506881e-05, global = -2.30131469339e-05, cumulative = -2.30131469339e-05 smoothSolver: Solving for epsilon, Initial residual = 0.0948138314381, Final residual = 0.00874463076989, No Iterations 15 smoothSolver: Solving for k, Initial residual = 0.999999999999, Final residual = 0.0946209995768, No Iterations 31 ExecutionTime = 8.66 s ClockTime = 21 s Time = 2 smoothSolver: Solving for Ux, Initial residual = 0.81429606278, Final residual = nan, No Iterations 1000 smoothSolver: Solving for Uy, Initial residual = 0.810558444421, Final residual = nan, No Iterations 1000 smoothSolver: Solving for Uz, Initial residual = 0.754355463774, Final residual = nan, No Iterations 1000 GAMG: Solving for p, Initial residual = nan, Final residual = nan, No Iterations 1000 time step continuity errors : sum local = nan, global = -nan, cumulative = -nan smoothSolver: Solving for epsilon, Initial residual = nan, Final residual = nan, No Iterations 1000 smoothSolver: Solving for k, Initial residual = nan, Final residual = nan, No Iterations 1000 ExecutionTime = 90.07 s ClockTime = 105 s ------------------ Thank you |
Quote:
Thanks a lot |
All times are GMT -4. The time now is 23:38. |