# sonicFoam Wedge, Max. Iterations Exceeded, hConstThermo,

 Register Blogs Members List Search Today's Posts Mark Forums Read

 November 1, 2015, 09:24 sonicFoam Wedge, Max. Iterations Exceeded, hConstThermo, #1 New Member   Join Date: Oct 2015 Location: Trondheim Posts: 4 Rep Power: 9 Hi, I am trying to solve a case where air flows over a wedge at Mach 2.85. The simulation crashes during the first couple of iterations, saying: Time = 1.5e-06 Code: Courant Number mean: 0.0158707 max: 0.183703 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 0.652886, Final residual = 0.0641842, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.81699, Final residual = 0.0816278, No Iterations 87 smoothSolver: Solving for e, Initial residual = 0.753075, Final residual = 0.0674277, No Iterations 4 smoothSolver: Solving for p, Initial residual = 0.240634, Final residual = 0.000356542, No Iterations 1 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 5.44403e-06, global = -3.16265e-06, cumulative = -2.98209e-06 PIMPLE: iteration 2 smoothSolver: Solving for Ux, Initial residual = 0.279161, Final residual = 0.0277844, No Iterations 131 smoothSolver: Solving for Uy, Initial residual = 0.181144, Final residual = 0.0181084, No Iterations 673 smoothSolver: Solving for e, Initial residual = 0.179579, Final residual = 0.0208547, No Iterations 1000 [4] [0] [0] [0] --> FOAM FATAL ERROR: [0] Maximum number of iterations exceeded [0] [0] From function thermo::T(scalar f, scalar T0, scalar (thermo::*F)(const scalar) const, scalar (thermo::*dFdT)(const scalar) const, scalar (thermo::*limit)(const scalar) const) const [0] in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [0] FOAM parallel run aborting [0] [0] #0 Foam::error::printStack(Foam::Ostream&)[4] [4] --> FOAM FATAL ERROR: [4] Maximum number of iterations exceeded [4] [4] From function thermo::T(scalar f, scalar T0, scalar (thermo::*F)(const scalar) const, scalar (thermo::*dFdT)(const scalar) const, scalar (thermo::*limit)(const scalar) const) const [4] in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [4] FOAM parallel run aborting [4] [4] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [0] #1 Foam::error::abort() at ??:? [4] #1 Foam::error::abort() at ??:? [0] #2 Foam::species::thermo >, Foam::sensibleInternalEnergy>::TEs(double, double, double) const at ??:? [4] #2 Foam::species::thermo >, Foam::sensibleInternalEnergy>::TEs(double, double, double) const at ??:? [0] #3 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? [0] #4 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? [4] #3 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? [4] #4 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? at ??:? I have tried running the simulation with the kEpsilon model turned off, it runs perfectly then. Following this discovery i tried different initial conditions for the turbulence vaiables with no success. Then I suspected the problem to be related with the prism layers, but I have tried varying the distance of the first cell node between 0.25 and 2.5 mm from the wall, also with no success. Code: /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.4.0-f0842aea0e77 Exec : checkMesh Date : Nov 01 2015 Time : 13:10:19 Host : "R2-D2" PID : 8415 Case : /home/vegar/OpenFOAM/vegar-2.4.0/run/ComprRamp nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 33150 faces: 82626 internal faces: 68392 cells: 24915 faces per cell: 6.06133 boundary patches: 11 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 24163 prisms: 144 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 608 Breakdown of polyhedra by number of faces: faces number of cells 6 103 7 55 9 361 12 89 Checking topology... Boundary definition OK. Cell to face addressing 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 inlet 23 48 ok (non-closed singly connected) outlet 18 38 ok (non-closed singly connected) bottomWall 156 208 ok (non-closed singly connected) bottomWallPTrans 92 114 ok (non-closed singly connected) bottomWallnoP 153 286 ok (non-closed singly connected) topWall 160 322 ok (non-closed singly connected) front 6332 6678 ok (non-closed singly connected) back 6332 6678 ok (non-closed singly connected) prismWall 528 603 ok (non-closed singly connected) midt 144 171 ok (non-closed singly connected) bakre 296 342 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-0.5 -1.19262e-18 -0.005) (3 0.4 0.005) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (3.76057e-19 1.27759e-18 4.47521e-15) OK. Max cell openness = 3.10974e-16 OK. Max aspect ratio = 42.5291 OK. Minimum face area = 6.30276e-07. Maximum face area = 0.000570069. Face area magnitudes OK. Min volume = 1.19094e-09. Max volume = 5.50049e-06. Total volume = 0.0139519. Cell volumes OK. Mesh non-orthogonality Max: 45.8244 average: 4.21381 Non-orthogonality check OK. Face pyramids OK. Max skewness = 0.977243 OK. Coupled point location match (average 0) OK. Mesh OK. End I also tried lowering the relaxation factors, it still crashes, but it runs a bit longer and gives a different error message, indicating bad boundary conditions. I've tried a lot of different BC's, but none have worked. The case is very similar to the prism tutorial in sonicFoam, I've only added a wall in front of the wedge, and a floor with slip behind it. Here is the error message with relaxation: Code: Courant Number mean: 0.0157718 max: 0.318495 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 0.106831, Final residual = 0.00556157, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.13155, Final residual = 0.00839035, No Iterations 2 smoothSolver: Solving for e, Initial residual = 0.39884, Final residual = 0.0391414, No Iterations 18 [4] [4] [0] [0] [0] --> FOAM FATAL ERROR: [0] Maximum number of iterations exceeded [0] [0] From function thermo::T(scalar f, scalar T0, scalar (thermo::*F)(const scalar) const, scalar (thermo::*dFdT)(const scalar) const, scalar (thermo::*limit)(const scalar) const) const [0] in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [0] FOAM parallel run aborting [0] [4] --> FOAM FATAL ERROR: [4] Maximum number of iterations exceeded [4] [0] #0 Foam::error::printStack(Foam::Ostream&)[4] From function thermo::T(scalar f, scalar T0, scalar (thermo::*F)(const scalar) const, scalar (thermo::*dFdT)(const scalar) const, scalar (thermo::*limit)(const scalar) const) const [4] in file /home/openfoam/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. [4] FOAM parallel run aborting [4] [4] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [4] #1 Foam::error::abort() at ??:? [0] #1 Foam::error::abort() at ??:? [0] #2 Foam::species::thermo >, Foam::sensibleInternalEnergy>::TEs(double, double, double) const at ??:? [4] #2 Foam::species::thermo >, Foam::sensibleInternalEnergy>::TEs(double, double, double) const at ??:? [0] #3 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? [4] #3 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? [4] #4 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? [0] #4 Foam::hePsiThermo >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? [4] #5 ? at ??:? [0] #5 at ??:? [4] #6 __libc_start_main? in "/lib/x86_64-linux-gnu/libc.so.6" [4] #7 ? at ??:? [0] #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" [0] #7 at ??:? -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 4 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- ?-------------------------------------------------------------------------- mpirun has exited due to process rank 4 with PID 9037 on node R2-D2 exiting improperly. There are two reasons this could occur: 1. this process did not call "init" before exiting, but others in the job did. This can cause a job to hang indefinitely while it waits for all processes to call "init". By rule, if one process calls "init", then ALL processes must call "init" prior to termination. 2. this process called "init", but exited without calling "finalize". By rule, all processes that call "init" MUST call "finalize" prior to exiting or it will be considered an "abnormal termination" This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). I've spend a week on trying to get this simple case working, and I'm all out of ideas. All input is welcomed! Image of the mesh: Image of Boundaries: Dropbox Folder with Initial Conditions, fvSchemes, fvSolutions and images. https://www.dropbox.com/sh/gfxbbzisg...UF6vaplUa?dl=0

 March 14, 2016, 16:48 #2 Member   Join Date: Oct 2015 Posts: 48 Rep Power: 9 hi v199ah i have your problem too. i tried any way to solve it but no success. if you solve it comment in this page. thank you.

 March 15, 2016, 09:08 #3 New Member   Join Date: Oct 2015 Location: Trondheim Posts: 4 Rep Power: 9 I think the problem was that my mesh was simply too coarse. I didn't realize how small the cell sizes and time-steps had to be, but this is of course given by the CFL-condition.

 March 15, 2016, 10:02 #4 Member   Join Date: Oct 2015 Posts: 48 Rep Power: 9 you changed the mesh and solved it?

 March 15, 2016, 10:39 #5 New Member   Join Date: Oct 2015 Location: Trondheim Posts: 4 Rep Power: 9 Yes. However, if you already have a fine mesh, try lowering the time-step first. At Mach 3 I think I had a dt in the range of: 5*10^-8 < dt < 10^-6. I changed it manually during the simulation if it was converging and the Courant number was less than 1 to speed up the simulation. You can calculate the maximum stable dt from your minimum cell size and velocity by using the CFL-condition.

 Tags hconstthermo, max iterations exceeded, sonicfoam