Closed ananddoss2004 closed 2 years ago
Quick answers:
Follow the steps at https://github.com/blueCFD/Core/wiki/Quick-notes-on-how-to-update-build#work-environment-for-bluecfd-core-2016-2-and-2017 to get more details from the stack trace, namely so that it can follow up on the X: path that was used to build OpenFOAM with the blueCFD-Core infrastructure.
What comes before the stack trace is equally important to diagnose what happened, or to at least have a smaller list of possibilities.
When the matrix solver crashes due to a sigFpe, means that a boundary condition or an internal value resulted in an unexpected 0, which could consequently result in an infinite result when doing a division by said 0.
I have followed your above procedures and uploaded the log file. Now I see that GAMG solver somewhere is having this division error. Can you read it and clarify ?
Quick translation of the output you've provided:
Time = 225.5
...
time step continuity errors : sum local = 2.18039e+018, global = 8.59848e+013, cumulative = 8.59848e+013
Then the stack trace points out these two lines:
module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe
0000main [0x45bba9+0x3159] (pEqn.H:36)
which means that it's a problem when solving the p
equation.
Looking at the previous time step you'll see something very strange as well:
Time = 225
...
GAMG: Solving for p, Initial residual = 0.874427, Final residual = 0.0164667, No Iterations 2
GAMG: Solving for p, Initial residual = 4.04088e-013, Final residual = 4.04088e-013, No Iterations 0
time step continuity errors : sum local = 9.80218e+006, global = 484.004, cumulative = 482.562
smoothSolver: Solving for epsilon, Initial residual = 0.000701248, Final residual = 0.000118099, No Iterations 1000
...
The final residual from the first p
solving line is too different from the first one for the next line, which implies that something isn't right... the continuity errors are way too large and the epsilon
equation isn't even solved within 1000 iterations.
All signs point to something similar to a massive explosion or vacuum effect suddenly appearing inside your simulated domain, no wonder that GAMG ended up not being able to solve the equation.
A few fairly simple steps should be done by you to diagnose the issue:
Write all time steps from which time step continuity errors
has a value large enough to not be considered ignorable.
Look at the results for those time steps in ParaView, namely look at the fields.
Based on what you can see "exploding", you should be able to start to guess what's going on wrong... either a boundary condition or something not right in the mesh or not right in the fvSolution
or fvSchemes
files.
Issue Resolved.
Problem: The porosity properties I used is inconsistent with the flow. I gave very high value of porosity resistance in the Z direction which is the only direction through which the flow can happen. Having only X and Y direction which is enclosed, the flow simply exploded.
Solution: Reduce the porosity resistance in Z direction and allow the flow to pass through the porous zone. Problem solved.
Bonus Point: Having an outlet boundary condition close to the actual outlet boundary condition will allow the solver to solve in less time steps or greater deltaT. ex: consider two inlets with 1m/s and one outlet whose output velocity is unknown. Simply give 2m/s as initial output condition and use calculated value. I tried this with multiple combinations and worked pretty well.
The following error comes after 200 iterations.
ZN10StackTraceC1Ev [0x705c1465+0x25] module: C:\PROGRA~1\BLUECF~1\ThirdParty-5.x\platforms\mingw_w64GccDPInt32\lib\libstack_trace.dll ZN4Foam5error10printStackERNS_7OstreamE [0x1061c88+0x218] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll ZN4Foam6sigFpe13sigFpeHandlerEi [0x1062af3+0x33] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll (No symbol) [0x403e9d] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe _C_specific_handler [0x7ffe96c77ff8+0x98] module: C:\WINDOWS\System32\msvcrt.dll 0_chkstk [0x7ffe96ff111f+0x11f] module: C:\WINDOWS\SYSTEM32\ntdll.dll RtlRaiseException [0x7ffe96f9b474+0x434] module: C:\WINDOWS\SYSTEM32\ntdll.dll KiUserExceptionDispatcher [0x7ffe96fefc4e+0x2e] module: C:\WINDOWS\SYSTEM32\ntdll.dll ZNK4Foam10GAMGSolver5scaleERNS_5FieldIdEES3_RKNS_9lduMatrixERKNS_10FieldFieldIS1_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEERKS2_h [0xf17b5d+0x1ad] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll ZNK4Foam10GAMGSolver6VcycleERKNS_7PtrListINS_9lduMatrix8smootherEEERNS_5FieldIdEERKS8_S9_S9_S9_S9_S9_RNS1_IS8_EESD_h [0xf1aa6e+0x7fe] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll ZNK4Foam10GAMGSolver5solveERNS_5FieldIdEERKS2_h [0xf1c92f+0x36f] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll ZN4Foam8fvMatrixIdE15solveSegregatedERKNS_10dictionaryE [0x65ef1c17+0x127] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll (No symbol) [0x436a11] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe (No symbol) [0x436d0c] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe (No symbol) [0x45bba9] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe (No symbol) [0x4013f7] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe (No symbol) [0x40152b] module: C:\PROGRA~1\BLUECF~1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe BaseThreadInitThunk [0x7ffe96a06fd4+0x14] module: C:\WINDOWS\System32\KERNEL32.DLL RtlUserThreadStart [0x7ffe96f9cec1+0x21] module: C:\WINDOWS\SYSTEM32\ntdll.dll
I can read sigFPe -signal point floating error but i dont understand GAMG filed matrix error ? what mathematical operation have gone wrong ?