| |
| MDG Engineering Nutzt Xometry, Um Medizinische Geräte Zu Bauen Und Das Globale Wachstum Voranzutreiben, ein Anwenderbericht
|
Autor
|
Thema: Floating point exception (8) (1456 / mal gelesen)
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 06. Dez. 2021 12:35 <-- editieren / zitieren --> Unities abgeben:
Guten Tag zusammen, ich komme bei meiner aktuellen Simulation leider nicht weiter und hoffe das ihr mir weiterhelfen könnt. Ziel der Simulation ist es ein rotierendes Rad anzuströmen. Leider bekommen ich immer folgende Fehlermeldung Code:
[7] #0 Foam::error:: printStack(Foam::Ostream&)[0] #0 Foam::error:: printStack(Foam::Ostream&)[4] #0 Foam::error:: printStack(Foam::Ostream&) at ??:? at ??:? at ??:? [7] #1 Foam::sigFpe::sigHandler(int)[0] #1 Foam::sigFpe::sigHandler(int)[4] #1 Foam::sigFpe::sigHandler(int) at ??:? [7] #2 ? at ??:? [4] #2 ? at ??:? [0] #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" [7] #3 Foam::Divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6" in "/lib/x86_64-linux-gnu/libc.so.6" [4] #3 [0] #3 Foam::Divide(Foam::Field<double>&, double const&, Foam::UList<double> const&)Foam::Divide(Foam::Field<double>&, double const&, Foam::UList<double> const&) at ??:? [7] #4 at ??:? [4] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:: operator/<Foam::fvPatchField, Foam::volMesh>(Foam::Dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:? [0] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:: operator/<Foam::fvPatchField, Foam::volMesh>(Foam::Dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&)Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:: operator/<Foam::fvPatchField, Foam::volMesh>(Foam::Dimensioned<double> const&, Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [7] #5 in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [4] #5 in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [0] #5 ??? in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [7] #6 __libc_start_main in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [4] #6 __libc_start_main in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [0] #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" in "/lib/x86_64-linux-gnu/libc.so.6" [4] #7 [7] #7 in "/lib/x86_64-linux-gnu/libc.so.6" [0] #7 ??? in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFo[bo-hb-konst-43:02734] *** Process received signal *** am" [user:02734] Signal: Floating point exception (8) [user:02734] Signal code: (-6) [user:02734] Failing at address: 0x3e800000aae [user:02737] *** Process received signal *** [user:02737] Signal: Floating point exception (8) [user:02737] Signal code: (-6) [user:02737] Failing at address: 0x3e800000ab1 [user:02737] [ 0] [user] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f6d502c7210] [user:02737] [ 1] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f2cc9257210] [user:02734] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f6d502c718b] [user:02737] [ 2] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f2cc925718b] [user:02734] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f2cc9257210] [user:02734] [ 3] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7f6d502c7210] [user:02737] [ 3] /opt/openfoam9/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam6divideERNS_5FieldIdEERKdRKNS_5UListIdEE+0xaf)[0x7f6d50ec1bef] [user:02737] [ 4] pimpleFoam(_ZN4FoamdvINS_12fvPatchFieldENS_7volMeshEEENS_3tmpINS_14GeometricFieldIdT_T0_EEEERKNS_11dimensionedIdEERKS8_+0x328)[0x56204744ce78] [user:02737] [ 5] pimpleFoam(+0x2f17d)[0x5620473ea17d] [user:02737] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f6d502a80b3] [user:02737] /opt/openfoam9/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam6divideERNS_5FieldIdEERKdRKNS_5UListIdEE+0xaf)[0x7f2cc9e51bef] [user:02734] [ 4] pimpleFoam(_ZN4FoamdvINS_12fvPatchFieldENS_7volMeshEEENS_3tmpINS_14GeometricFieldIdT_T0_EEEERKNS_11dimensionedIdEERKS8_+0x328)[0x5649a68d7e78] [user:02734] [ 5] pimpleFoam(+0x2f17d)[0x5649a687517d] [user:02734] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f2cc92380b3] [user:02734] [ 7] pimpleFoam(+0x3214e)[0x5649a687814e] [user:02734] *** End of error message *** [ 7] pimpleFoam(+0x3214e)[0x5620473ed14e] [user:02737] *** End of error message *** in "/opt/openfoam9/platforms/linux64GccDPInt32Opt/bin/pimpleFoam" [user:02730] *** Process received signal *** [user:02730] Signal: Floating point exception (8) [user:02730] Signal code: (-6) [user:02730] Failing at address: 0x3e800000aaa [user:02730] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7fcb03852210] [user:02730] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7fcb0385218b] [user:02730] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7fcb03852210] [user:02730] [ 3] /opt/openfoam9/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam6divideERNS_5FieldIdEERKdRKNS_5UListIdEE+0xaf)[0x7fcb0444cbef] [user:02730] [ 4] pimpleFoam(_ZN4FoamdvINS_12fvPatchFieldENS_7volMeshEEENS_3tmpINS_14GeometricFieldIdT_T0_EEEERKNS_11dimensionedIdEERKS8_+0x328)[0x557dda4f2e78] [user:02730] [ 5] pimpleFoam(+0x2f17d)[0x557dda49017d] [user:02730] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7fcb038330b3] [user:02730] [ 7] pimpleFoam(+0x3214e)[0x557dda49314e] [user:02730] *** End of error message *** -------------------------------------------------------------------------- Primary job terminated normally, but 1 process returned a non-zero exit code. Per user-direction, the job has been aborted. -------------------------------------------------------------------------- -------------------------------------------------------------------------- mpirun noticed that process rank 4 with PID 0 on node user exited on signal 8 (Floating point exception).
Ich habe schon verschiedene Netzeinstellungen ausprobiert und auch das "deltaT" angepasst, leider bisher ohne Erfolg.
Hat jemand eine Idee und kann mir vielleicht weiterhelfen? Schonmal vielen Dank für die Hilfe. Schöne Grüße
Engelchen84 [Diese Nachricht wurde von Engelchen84 am 10. Dez. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 07. Dez. 2021 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
Hast Du auch noch etwas mehr Infos als nur diesen Fehler? Wie man sieht hast Du eine Division durch Null. Also wird dir U, p, e, h, k, epsilon, omega, oder was auch immer für ein Feld abhauen und gegen Unendlich gehen. Wenn du zuvor noch ein-zwei Iterationen hinzufügst, sieht mans besser. Wenn Du rotating-Wheels machst, dann prüf doch auch mal dein AMI. ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 07. Dez. 2021 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobi, erstmal Danke für deine Antwort. Welche Informationen werden denn benötigt? Das AMI müsste eigentlich soweit passen, zumindest hat es bei einer anderen Geometrie funktioniert. Mit freundlichen Grüßen Engelchen84 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 10. Dez. 2021 11:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Tobi, anbei noch die log-Datei. Ich kann leider nicht erkennen wo der Fehler liegt. Auch erschließt es sich mir nicht ganz, wo genau du an der Fehlermeldung erkannt hast, dass es sich um eine Division durch 0 handelt. Mit freundlichen Grüßen
Engelchen84
[Diese Nachricht wurde von Engelchen84 am 20. Dez. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 17. Dez. 2021 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 17. Dez. 2021 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 20. Dez. 2021 10:25 <-- editieren / zitieren --> Unities abgeben:
Ich hab die Simulation nochmal neu durchgeführt und dabei deine Anmerkung berücksichtigt. Die entsprechende log-Datei habe ich wieder angefügt. Der Check des AMI ist, wie du bereits erwartet hast, nicht durchgelaufen. Folgende Fehlermeldung kam dabei raus:
Code:
Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: solidBody Selecting solid-body motion function rotatingMotion Applying solid body motion to cellZone rotatingCells --> FOAM FATAL ERROR: Unable to find cellZone rotatingCells. Valid cellZones are:0()
From function Foam::solidBodyMotionSolver::solidBodyMotionSolver(const Foam:: polyMesh&, const Foam::Dictionary&) in file motionSolvers/displacement/solidBody/solidBodyMotionSolver/solidBodyMotionSolver.C at line 85. FOAM exiting
Die Simulation habe ich in folgender Reihenfolge durchgeführt, ist da vielleicht schon ein Fehler bei?
- blockMesh
- surfaceFeatures
- decomposePar -copyZero
- mpirun –np 8 snappyHexMesh –overwrite –parallel
- mpirun –np 8 createBaffles –overwrite -parallel
- mpirun –np 8 splitBaffles –overwrite -parallel
- mpirun –np 8 pimpleFoam –parallel > log 2>&1
Schöne Grüße Engelchen [Diese Nachricht wurde von Engelchen84 am 20. Dez. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 23. Dez. 2021 23:16 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 03. Jan. 2022 08:42 <-- editieren / zitieren --> Unities abgeben:
Hi, die CellZone ist im snappyHexMeshDict im Bereich der geometry definiert. Code:
geometry { Zylinder_y.stl { type triSurfaceMesh; name rotatingCells; regions { } }
Reicht das nicht aus, um den Bereich der Rotation zu definieren? Im topoSetDict habe ich den Bereich nicht nochmal definiert. Das createBafflesDict habe ich dir auch mal angefügt. Schöne Grüße, Engelchen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 04. Jan. 2022 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 04. Jan. 2022 15:30 <-- editieren / zitieren --> Unities abgeben:
Habe ich aber ebenfalls erwähnt. Code:
refinementSurfaces { rotatingCells { level (1 6); cellZone rotatingCells; faceZone rotatingCells; cellZoneInside inside; }
Ansonsten weiß ich nicht was du genau meinst Schöne Grüße Engelchen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 04. Jan. 2022 16:17 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 05. Jan. 2022 08:11 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 05. Jan. 2022 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
Code:
rotected from visiting 0 non-manifold edgesCellZones: rotatingCells size:1646943 FaceZones: rotatingCells size:95197
Also die CellZones sind da. Das kannst Du nochmals mit checkMesh überprüfen. Sollte das der Fall sein, dann darf dieser Fehler den Du oben aufgezeigt hast nicht kommen. EDIT So nachdem ja immer nur die Hälfte hier angetragen wird. Du hast moveDynamicMesh aber schon parallel ausgeführt? Ich gehe jetzt davon aus, dass Du das nicht hast. Damit sucht er natürlich in constant/polyMesh nach der cellZone die es aber nur in Deinem decomposed Case gibt. Also dann nochmals: zu testen wäre: Code:
mpirun -np 8 moveDynamicMesh -parallel -checkAMI
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 05. Jan. 2022 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
Zudem, wenn ich mir Dein Log-File vom pimpleFoam nochmals anschaue: Code:
PIMPLE: Iteration 1 AMI: Creating addressing and weights between 94670 source faces and 94670 target faces AMI: Patch source sum(weights) min/max/average = 0, 2.00198, 0.999738 AMI: Patch target sum(weights) min/max/average = 0.0261691, 1.99537, 0.999674
Die Min-Weight geht vom Source-Patch auf 0. Wenn man sich den Verlauf ansieht, scheint es so, als wäre dein Center-Of-Rotation oder die Achse falsch oder Du hast non-connected Zellen. Zeig mal noch dein CheckMesh-Log-File. Da ich zu 99 % davon ausgehe, dass MoveDynamicMesh auch nicht durchläuft (hierzu solltest Du pro Sekunde vllt 1° Rotation abbilden, also controlDict und dynamicMeshDict anpassen), hast Du zwei Möglichkeiten. a) AMI optimieren und korrigieren b) ACMI verwenden ------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 05. Jan. 2022 16:04 <-- editieren / zitieren --> Unities abgeben:
Hi, du hast absolut recht, moveDynamicMesh habe ich nicht parallel ausgeführt gehabt und auch parallel ausgeführt läuft es nicht durch. Die Fehlermeldung und das CheckMesh-Log-File habe ich dir wieder angehangen. Schöne Grüße Engelchen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 07. Jan. 2022 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
In der moveDynamicMesh Datei steht alles drin was Du zum Debuggen brauchst. Du hast die forceCoeffs Berechnung dabei, und daher will die Library p und U. Das gibts aber nicht bei moveDynamicMesh. Ergo, entweder löscht Du das aus Deinem controlDict oder Du nimmst: Code:
wl95lv7@ACMI-Case: moveDynamicMesh -help-full Usage: moveDynamicMesh [OPTIONS] Options: -case <dir> Specify case directory to use (instead of cwd) -checkAMI Check AMI weights and write VTK files of the AMI patches -debug-switch <name=val> Specify the value of a registered debug switch. Default is 1 if the value is omitted. (Can be used multiple times) -decomposeParDict <file> Use specified file for decomposePar dictionary -fileHandler <handler> Override the file handler type -hostRoots <((host1 dir1) .. (hostN dirN))> Per-subprocess root directories for distributed running. The host specification can be a regex. -info-switch <name=val> Specify the value of a registered info switch. Default is 1 if the value is omitted. (Can be used multiple times) -lib <name> Additional library or library list to load (can be used multiple times) -noFunctionObjects Do not execute function objects -opt-switch <name=val> Specify the value of a registered optimisation switch. Default is 1 if the value is omitted. (Can be used multiple times) -overwrite Overwrite existing mesh/results files -parallel Run in parallel -region <name> Specify alternative mesh region -roots <(dir1 .. dirN)> Subprocess root directories for distributed running -world <name> Name of the local world for parallel communication -doc Display documentation in browser -doc-source Display source code in browser -help Display short help and exit -help-man Display full help (manpage format) and exit -help-notes Display help notes (description) and exit -help-full Display full help and exit Mesh motion and topological mesh changes utility Using: OpenFOAM-v2109.21W49-develop (2109) - visit www.openfoam.com Build: v2109.21W49-develop Arch: LSB;label=32;scalar=64
Es folgt: Code:
mpirun -np XY moveDynamicMesh -parallel -checkAMI -noFunctionObjects
------------------ Glück Auf, Tobi OpenFOAM® Community - Knowledge Base Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 10. Jan. 2022 13:01 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 11. Jan. 2022 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 11. Jan. 2022 13:13 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 12. Jan. 2022 08:59 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Engelchen84 Mitglied
Beiträge: 15 Registriert: 13.04.2021
|
erstellt am: 12. Jan. 2022 14:59 <-- editieren / zitieren --> Unities abgeben:
Wie bekomme ich das AMI denn korriegiert? Ich hatte mich mal an deinem Tutorial "fanRotationAndAMI" orientiert, bekomme aber immer wieder die Fehlermeldung "Cannot find patchField entry for AMI1". Schöne Grüße Engelchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2312
|
erstellt am: 13. Jan. 2022 18:00 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|
Shor-ty Moderator
Beiträge: 2466 Registriert: 27.08.2010
|
erstellt am: 13. Jan. 2022 18:03 <-- editieren / zitieren --> Unities abgeben: Nur für Engelchen84
|