Repository navigation
GAMG field matrix error #160
Description
The following error comes after 200 iterations.
ZN10StackTraceC1Ev [0x705c1465+0x25]
module: C:\PROGRA1\BLUECF1\ThirdParty-5.x\platforms\mingw_w64GccDPInt32\lib\libstack_trace.dll
ZN4Foam5error10printStackERNS_7OstreamE [0x1061c88+0x218]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
ZN4Foam6sigFpe13sigFpeHandlerEi [0x1062af3+0x33]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
(No symbol) [0x403e9d]
module: C:\PROGRA1\BLUECF1\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:\PROGRA1\BLUECF1\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:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
ZNK4Foam10GAMGSolver5solveERNS_5FieldIdEERKS2_h [0xf1c92f+0x36f]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll
ZN4Foam8fvMatrixIdE15solveSegregatedERKNS_10dictionaryE [0x65ef1c17+0x127]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libfiniteVolume.dll
(No symbol) [0x436a11]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe
(No symbol) [0x436d0c]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe
(No symbol) [0x45bba9]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe
(No symbol) [0x4013f7]
module: C:\PROGRA1\BLUECF1\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\bin\porousSimpleFoam.exe
(No symbol) [0x40152b]
module: C:\PROGRA1\BLUECF1\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 ?
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDocumentation for the next release
Activity
wyldckat commentedon Oct 6, 2020
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.
ananddoss2004 commentedon Oct 7, 2020
results.log
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 ?
wyldckat commentedon Oct 7, 2020
Quick translation of the output you've provided:
Then the stack trace points out these two lines:
which means that it's a problem when solving the
pequation.Looking at the previous time step you'll see something very strange as well:
The final residual from the first
psolving 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 theepsilonequation 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 errorshas 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
fvSolutionorfvSchemesfiles.ananddoss2004 commentedon Nov 1, 2020
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.