PROJECT LINK
https://www.simscale.com/projects/Grammz/bmw_e87_aero_1042706260
Simulation run failed
The following simulation run(s) failed:
- Run 3 k4 v6
- Velocity field started diverging to a value of 1.01985e+07 m/s near the position: (1.526, 7.632e-1, 9.371e-1). Please check the mesh quality near the reported location and try refining the mesh. If the problem occurred near a boundary, please check the boundary conditions. In case of doubt, please ask for assistance via our support chat.
Please check the ‘Event Log’ and ‘Solver log’ for more details.In case of questions, please reach out to support or ask in the forum.
DILUPBiCGStab: Solving for Ux, Initial residual = 0.0628675390984, Final residual = 0.000311032193467, No Iterations 2
DILUPBiCGStab: Solving for Uy, Initial residual = 0.0881923238739, Final residual = 0.000411566569105, No Iterations 2
DILUPBiCGStab: Solving for Uz, Initial residual = 0.0736636933124, Final residual = 1.53079724299e-05, No Iterations 3
GAMG: Solving for p, Initial residual = 6.01081344651e-05, Final residual = 9.25407541417e-07, No Iterations 11
GAMG: Solving for p, Initial residual = 2.51828910144e-06, Final residual = 4.11822918329e-07, No Iterations 5
GAMG: Solving for p, Initial residual = 1.8491874983e-06, Final residual = 9.60348562596e-07, No Iterations 1
Time step continuity errors : sum local = 0.0624619282233, global = -5.57168308781e-05, cumulative = -8.22122611341e-05
DILUPBiCGStab: Solving for omega, Initial residual = 0.0397123598949, Final residual = 5.46939890968e-05, No Iterations 1
DILUPBiCGStab: Solving for k, Initial residual = 0.105579761312, Final residual = 0.000119394967277, No Iterations 1
ExecutionTime = 1037.6 s ClockTime = 1039 s
UBlendingFactor execute :
scheme 1 cells : 80
scheme 2 cells : 3425733
blended cells : 145
Time = 254
DILUPBiCGStab: Solving for Ux, Initial residual = 0.0686758321575, Final residual = 0.000428675267109, No Iterations 2
DILUPBiCGStab: Solving for Uy, Initial residual = 0.0781616727995, Final residual = 0.000289491225101, No Iterations 2
DILUPBiCGStab: Solving for Uz, Initial residual = 0.0718430900106, Final residual = 0.000515153245893, No Iterations 2
GAMG: Solving for p, Initial residual = 5.46661631474e-05, Final residual = 8.91928138785e-07, No Iterations 10
GAMG: Solving for p, Initial residual = 2.13370994149e-06, Final residual = 8.68213418516e-07, No Iterations 4
GAMG: Solving for p, Initial residual = 2.04333019533e-06, Final residual = 3.37012452361e-07, No Iterations 5
Time step continuity errors : sum local = 0.0275559975514, global = 1.23907662608e-06, cumulative = -8.09731845081e-05
DILUPBiCGStab: Solving for omega, Initial residual = 0.0393715367314, Final residual = 4.60881619723e-05, No Iterations 1
DILUPBiCGStab: Solving for k, Initial residual = 0.0978730399377, Final residual = 0.000115137508974, No Iterations 1
ExecutionTime = 1041.19 s ClockTime = 1043 s
UBlendingFactor execute :
scheme 1 cells : 80
scheme 2 cells : 3425733
blended cells : 145
→ FOAM Warning :
From void Foam::divergenceHandlerFunctionObject::warnBoundsViolated(const Foam::vectorField&, const Foam::scalar&, const Foam::label&, const Foam::scalar&, const Foam::scalar&, const Foam::word&) const
in file divergenceHandler/divergenceHandlerFunctionObject.C at line 151
Divergence detected!
Field that is diverging: U
Location: (1.52644899896 0.763211800768 0.937099275486)
Field value: 10198454.0462
Bound: 10000000
Writing fields and stopping simulation in the next time step…
Time = 255
DILUPBiCGStab: Solving for Ux, Initial residual = 0.0672391666864, Final residual = 0.000272433672827, No Iterations 2
DILUPBiCGStab: Solving for Uy, Initial residual = 0.074407632752, Final residual = 0.000433655041898, No Iterations 2
DILUPBiCGStab: Solving for Uz, Initial residual = 0.0658132180101, Final residual = 0.000399056293998, No Iterations 2
GAMG: Solving for p, Initial residual = 4.74957231743e-05, Final residual = 9.1042944863e-07, No Iterations 8
GAMG: Solving for p, Initial residual = 2.12744416893e-06, Final residual = 7.50169241177e-07, No Iterations 6
GAMG: Solving for p, Initial residual = 1.90626537721e-06, Final residual = 5.3233732769e-07, No Iterations 5
Time step continuity errors : sum local = 0.0532161797135, global = -1.42319771874e-06, cumulative = -8.23963822268e-05
DILUPBiCGStab: Solving for omega, Initial residual = 0.0456794894021, Final residual = 7.18153237387e-05, No Iterations 1
DILUPBiCGStab: Solving for k, Initial residual = 0.132510018033, Final residual = 0.000130105289679, No Iterations 1
ExecutionTime = 1051.99 s ClockTime = 1054 s
UBlendingFactor execute :
scheme 1 cells : 80
scheme 2 cells : 3425733
blended cells : 145
End
Finalising parallel run
WHAT I’M TRYING TO ACHIEVE
I’m comparing rear wing positions on my BMW E87 track car to find which one gives the most rear downforce and the best aero balance. I use a half model with a symmetry plane and compare total forces and axle loads between configurations:
- “K2 test”: car with flat floor, diffuser and front splitter, no wing. Converges fine.
- “K3 test”: same car with the wing sealed to the roof edge (wing fused to the body). Converges fine.
- “K4 test”: same car with the wing standing free 120 mm above and 135 mm behind the roof edge, connected to the car by a strut. This one diverges every time.
SETUP
- Incompressible, steady, k-omega SST, air.
- Velocity inlet 33.33 m/s, pressure outlet 0 Pa, moving ground 33.33 m/s, symmetry at Y = 0, slip walls on top and side.
- Domain: X -17 to 37 m, Y 0 to 13 m, Z 0 to 13 m.
- Geometry: faceted STL (about 130k triangles for the body plus the wing), uploaded in mm. External flow volume + delete bodies. All parts extend 10 mm past the symmetry plane so the domain cuts them cleanly.
- Mesh: Standard mesher, manual sizing (max 1 m, min 0.01 m), physics-based meshing off, automatic boundary layers on, small feature suppression 0. Cartesian refinement boxes at 0.3 / 0.08 / 0.04 / 0.03 / 0.02 / 0.008 m, surface sizing 0.02 m on the car and 0.005 m on the wing. About 3.5M cells.
- Mesh quality: tetrahedra average aspect ratio 1.7, 99.99th percentile non-orthogonality about 79. A few cells reach non-orthogonality 89.9, and the minimum edge length is 0.046 mm.
WHAT IS HAPPENING
The U, k and omega residuals drop for the first 70-150 iterations, then rise steadily until the velocity field diverges, typically after 180-280 iterations. The error each time is “Velocity field started diverging to a value of 1.0e+07 m/s near the position …”. The location moves each time I fix one:
- (3.345, 0.125, 1.002): at a refinement box boundary on the rear window. Fixed by adding an intermediate 0.04 m box.
- (1.526, 0.763, 0.937): on the car side, three runs in a row, each with different numerics.
- (3.103, 0.323, 1.238): behind the roof spoiler, after I added a local 0.008 m box at location 2.attach screenshot of the residual plot and the last part of the solver log
WHAT I HAVE TRIED
- Relaxation factors p 0.3 / U 0.65 and p 0.4 / U 0.5, k and omega 0.4-0.5, 2 non-orthogonal correctors.
- Divergence schemes: default linear upwind, then limited linear 1 for U with bounded Gauss upwind for k and omega. I’m now testing bounded Gauss upwind for U as well.
- Local mesh refinement at the divergence locations.
QUESTIONS
- Is the divergence caused by the mesh quality near the reported locations, or is the flow with the free-standing wing simply unsteady so a steady solver cannot converge?
- What mesh or numerics settings would you recommend for this case? Would a transient run be better, and if so, what time step and end time would you suggest?
- Side question: with small feature suppression set to 0.005 m, the mesh job was rejected with “No instance with sufficient computational resources could be assigned”, while 0 works fine. Why does that setting trigger the rejection?
Thanks a lot for any help!
Edvinas
