Autor
|
Thema: ABL fixed shear stress an top boundary => speicherzugriffsfehler (2484 / mal gelesen)
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 04. Mrz. 2016 13:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich verwende ABL (atmospheric boundary layer) conditions und möchte eine konstante Reibungsgeschwindigkeit an der oberen Grenze vorgeben (wie von Hargreaves und Wright vorgeschlagen zur besseren Aufrechterhaltung des ABL Profils). dafür hab ich in controlDict die entsprechende Library ("libturbulenceDerivedPatchFields.so") und in 0/U an der oberen Grenze type fixedShearStress mit tau0 uniform xxx angegeben. Dies müsste soweit denk ich auch stimmen. Lass ich dann den solver (simpleFoam) laufen erhalte ich den Fehler: Speicherzugriffsfehler bzw segmentation fault 11. Leider weiß ich bei diesem Fehler nicht wo ich anfangen soll zu suchen. Hoffentlich kann jmd helfen! Gruß Christof Code:
mpirun -np 8 simpleFoam -parallel > log& [1] 31617 ]0;pwacker@SRV02: ~/OpenFOAM/pwacker-2.2.2/Testrechnungen/VergleichZ0Ks/z0MovingWallFSSpwacker@SRV02:~/OpenFOAM/pwacker-2.2.2/Testrechnungen/VergleichZ0Ks/z0MovingWallF FSS$ [1] #0 [2] #0 [3] #0 [4] #0 [5] #0 [7] #0 Foam::error: rintStack(Foam::Ostream&)Foam::error: rintStack(Foam::Ostream&)Foam::error: rintStack(Foam::Ostream&)Foam::error: rintStack(Foam::Ostream&)[6] #0 Foam::error: rintStack(Foam::Ostream&)Foam::error: rintStack(Foam::Ostream&)Foam::error: rintStack(Foam::Ostream&)[0] #0 Foam::error: rintStack(Foam::Ostream&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [1] #1 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [2] #1 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #1 Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [4] #1 Foam::sigSegv::sigHandler(int) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linuGccDPOpt/lib/libOpenFOAM.so" [7] #1[5] #1 Foam::sigSegv::sigHandler(int) [3] #1 x64GccDPOpt/lib/libOpenFOAM.so" [6] #1 Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int) Foam::sigSegv::sigHandler(int) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [1] # in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [2] #2 2 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [4] #2 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #2 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/ in "/home/lhoang/OpenFOAM/OpenFOAM-2.2lib/libOpenFOAM.so" [5] #2 .2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" in "/h in "/home/lhoa [7] #2 ng/OpenFOAM/OpenFOAM-2ome/lhoang/OpenFOAM/OpenFOAM-2.2.2/.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.platforms/linux64GccDPOpt/lib/libOpenFOAM.so" so" [3] #2 [6] #2 in "/lib/x86_64-linux-gnu/libc.so.6" [1] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6" [2] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6" [4] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/lib/x86_64-linux-gn in "/lib/x86_64-linux-gnu/l in "/lib/x86_64-linux-gnu/libc.s in "/lib/x86_64-linux-gnu/libc.so.6" in "/lib/x86_64-linux-gnu/libc.so.6" [0] #3 u/libc.so.6" [6] #3 ibc.so.6" [7] #o.6" [5] #3 [3] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&)Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&)Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&)3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [1] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [2] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [5] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [3] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [4] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [0] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" in "/home/lhoa[7] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&)ng/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [6] #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [4] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [1] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [7] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so in "/home/lhoa" [0] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs()ng/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [3] #5 in "/hFoam::fixedShearStressFvPatchVectorField::updateCoeffs()ome/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [5] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenF in "/home/lhoang/OpeOAM-2.2.2/platforms/linux64GccDPOpt/libnFOAM/OpenFOAM-2.2.2/platforms/linu/libOpenFOAM.so" [2] #5 x64GccDPOpt/lib/libturbulenceDerivedFoam::fixedShearStressFvPatchVectorField::updateCoeffs()FvPatchFields.so" [4] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" [6] #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [7] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [1] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [3] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDer ivedFvPatchFields.so" [5] #6 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [0] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [2] #6 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" [6] #6 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs()Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs()Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs()Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [4] #7 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs()Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs()Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [7] #7 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [1] #7 Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [3] #7 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [5] #7 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [0] #7 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [2] #7 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [6] #7 Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&)Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [4] #8 Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&)Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&)Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&)Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&)Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [0] #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [7] #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [6] #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [1] #8 [4] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [4] #9 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [2] #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [5] #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [3] #8 [0] [4] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [4] #10 __libc_start_main[7] in "/home/lhoang/OpenFOAM in "/home/lhoang/OpenFOAM/OpenFOA/OpenFOAM-2.2.2/platforms/M-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [0] #9 linux64GccDPOpt/bin/simpleFoam" [7] #9 [5] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [5] #9 [6] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [6] #9 [1] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [1] #9 [2] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [2] #9 [3] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [3] #9 in "/lib/x86_64-linux-gnu/libc.so.6" [4] #11 [0] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [0] #10 __libc_start_main[7] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [7] #10 __libc_start_main[2] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [2] #10 __libc_start_main[6] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [6] #10 __libc_start_main[1] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [1] #[5] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/li10 __libc_start_mainnux64GccDPOpt/bin/simpleFoam" [5] #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" [0] #11 [3] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [3] #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" [7] #11 [4] in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" [SRV02:31622] *** Process received signal *** [SRV02:31622] Signal: Segmentation fault (11) [SRV02:31622] Signal code: (-6) [SRV02:31622] Failing at address: 0x3ec00007b86 [SRV02:31622] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x324f0) [0x7f7a51b3f4f0] [SRV02:31622] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f7a51b3f475] [SRV02:31622] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x324f0) [0x7f7a51b3f4f0] [SRV02:31622] [ 3] /home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam8multiplyERNS_5FieldIdEERKNS_5UListIdEES6_+0x78) [0x7f7a52d4e7d8] [SRV02:31622] [ 4] /home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4FoammlERKNS_5UListIdEES3_+0x71) [0x7f7a52d52d11] [SRV02:31622] [ 5] /home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so(_ZN4Foam34fixedShearStressFvPatchVectorField12updateCoeffsEv+0x2b2) [0x7f7a3ec22ab2] [SRV02:31622] [ 6] simpleFoam(_ZN4Foam14GeometricFieldINS_6VectorIdEENS_12fvPatchFieldENS_7volMeshEE22GeometricBoundaryField12updateCoeffsEv+0x3d) [0x4369dd] [SRV02:31622] [ 7] simpleFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEEC1ERKNS_14GeometricFieldIS2_NS_12fvPatchFieldENS_7volMeshEEERKNS_12dimensionSetE+0x383) [0x43f143] [SRV02:31622] [ 8] simpleFoam() [0x43f264] [SRV02:31622] [ 9] simpleFoam() [0x426ca7] [SRV02:31622] [10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x7f7a51b2bead] [SRV02:31622] [11] simpleFoam() [0x428d4d] [SRV02:31622] *** End of error message *** in "/lib/x86_64-linux-gnu/libc.so.6" [2] #11 in "/lib/x86_64-linux-gnu/libc.so.6" [6] #11 in "/lib/x86_64-linux-gnu/libc.so.6" [1] #11 in "/lib/x86_64-linux-gnu/libc.so.6" [5] #11 -------------------------------------------------------------------------- mpirun noticed that process rank 4 with PID 31622 on node SRV02 exited on signal 11 (Segmentation fault).
Shor-ty: Code-Tags hinzugefügt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 04. Mrz. 2016 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hi, Punkt a) wenn schon so ein Codewirrwar bzw. Fehlermeldung, dann bitte die Code Tags verwenden. Punkt b) Infos und was du versuch t hast. Punkt c) Fehler auch bei simpleFoam oder nur parallel? ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 04. Mrz. 2016 15:11 <-- editieren / zitieren --> Unities abgeben:
hey ach ja sorry Code Tag vergessen. Ja bei simpleFoam kommt der Fehler auch und ist etwas übersichtlicher. Wenn ich z.B. slip oder fixedValue verwende rechnet er ganz normal, Problem tritt nur bei fixedShearStress auf. Ansonsten weiß ich grad nicht was ich noch für Infos geben kann. Hatte bisl mit der Syntax rumgespielt, wie tau und tau0 probiert wobei tau0 stimmen muss weil OF sich sonst beschwert. der Fehler sagt mir leider so gut wie nichts sodass ich nicht wirklich weiß was ich noch testen kann und wo ich suchen soll. Code:
Create timeCreate mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon kEpsilonCoeffs { Cmu 0.09; C1 1.44; C2 1.92; sigmaEps 1.11; } No finite volume options present SIMPLE: convergence criteria field p tolerance 0.0001 field U tolerance 1e-05 field "(k|epsilon)" tolerance 1e-05
Starting time loop
Time = 1 #0 Foam::error: rintStack(Foam::Ostream&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigSegv::sigHandler(int) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" #6 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #7 Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #9 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" Speicherzugriffsfehler ]0;pwacker@SRV02: ~/OpenFOAM/pwacker-2.2.2/Testrechnungen/VergleichZ0Ks/z0MovingWallFSSpwacker@SRV02:~/OpenFOAM/pwacker-2.2.2/Testrechnungen/VergleichZ0Ks/z0MovingWallF FSS$
Und vllt noch 0/U
Code:
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { movingWall { type fixedShearStress; tau0 uniform 0.39; //value uniform (0 0 0); } bottom { type fixedValue; value uniform (0 0 0); } seiten { type empty; } inflow { type atmBoundaryLayerInletVelocity; Uref 16.91; Href 500; n (1 0 0); z (0 0 1); z0 uniform 0.01; value uniform (0 0 0); zGround uniform 0; } outflow { type zeroGradient; } }
und controlDict Code: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.2 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } libs ( "libturbulenceDerivedFvPatchFields.so"); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //application simpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 1E4; deltaT 1; writeControl timeStep; writeInterval 500; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 04. Mrz. 2016 19:03 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hi, Also es liegt nicht an deinen Einstellungen für FOAM sondern an deiner Lib. Ich denke das das ne externe ist oder? Aufjedenfall ist ein Speicherzugriffsfehler ein Programmierfehler. Du versuchst irgendwo zuzugreifen wo es nicht möglich ist. Heißt also für dich, lib debuggen. Du erwähntest, das du selber rumgewerkelt hast. Vllt kams davon. Hilfe kann dir diesbezüglich keiner geben, außer er würde dir die lib debuggen. Die Frage ist nun, wo der Fehler auftritt. Heißt, wie weit läuft dein simpleFoam überhaupt. Dann kannst in den Code rein und den Fehler finden. Viel Erfolg. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 04. Mrz. 2016 21:10 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank Tobias, rumgewerkelt hab ich nur in 0/U, also daran liegts nicht. Eine Frage hätt ich nur noch: Wie kann ich das debuggen? Ist das mit emacs bzw. dbg möglich? oder gibts noch andere alternativen? Gruß Christof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 05. Mrz. 2016 04:15 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Den Code auf Fehler prüfen kannst mit nem Editor deiner Wahl. Wenn du emacs möchtest, nimm ihn. Schau aber nochmal im Netz was ein Speicherzugriffsfehler genau darstellt. So wie sich's aber anhört, ist es deine zusätzliche Lib. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hilfestellung; dein Fehler sollte in dieser Funktion liegen: Code:
Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in
Du kannst gern mal den Quellcode posten. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 11:00 <-- editieren / zitieren --> Unities abgeben:
Hi Tobias, vielen Dank für deine Mühe! Hier mal der Code: Code: #include "fixedShearStressFvPatchVectorField.H" #include "addToRunTimeSelectionTable.H" #include "fvPatchFieldMapper.H" #include "volFields.H" #include "surfaceFields.H" #include "incompressible/turbulenceModel/turbulenceModel.H" #include "compressible/turbulenceModel/turbulenceModel.H"// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fvPatch& p, const DimensionedField<vector, volMesh>& iF ) : fixedValueFvPatchVectorField(p, iF), phiName_("phi"), rhoName_("rho"), tau0_(vector::zero) {} Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fvPatch& p, const DimensionedField<vector, volMesh>& iF, const dictionary& dict ) : fixedValueFvPatchVectorField(p, iF), phiName_(dict.lookupOrDefault<word>("phi", "phi")), rhoName_(dict.lookupOrDefault<word>("rho", "rho")), tau0_(dict.lookupOrDefault<vector>("tau", vector::zero)) { fvPatchField<vector>: perator=(patchInternalField()); }
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf, const fvPatch& p, const DimensionedField<vector, volMesh>& iF, const fvPatchFieldMapper& mapper ) : fixedValueFvPatchVectorField(ptf, p, iF, mapper), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) {}
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf ) : fixedValueFvPatchVectorField(ptf), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) {}
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf, const DimensionedField<vector, volMesh>& iF ) : fixedValueFvPatchVectorField(ptf, iF), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::fixedShearStressFvPatchVectorField::updateCoeffs() { if (updated()) { return; } const label patchI = patch().index(); const surfaceScalarField& phi = db().lookupObject<surfaceScalarField>(phiName_); scalarField nuEff; if (phi.dimensions() == dimVelocity*dimArea) { const incompressible::turbulenceModel& turbModel = db().lookupObject<incompressible::turbulenceModel> ( "turbulenceModel" ); nuEff = turbModel.nuEff()()[patchI]; } else if (phi.dimensions() == dimDensity*dimVelocity*dimArea) { const compressible::turbulenceModel& turbModel = db().lookupObject<compressible::turbulenceModel> ( "turbulenceModel" ); const fvPatchField<scalar>& rhop = patch().lookupPatchField<volScalarField, scalar>(rhoName_); nuEff = turbModel.muEff()()[patchI]/rhop; } else { FatalErrorIn("fixedShearStressFvPatchVectorField::updateCoeffs()") << "dimensions of phi are not correct" << "\n on patch " << this->patch().name() << " of field " << this->dimensionedInternalField().name() << " in file " << this->dimensionedInternalField().objectPath() << exit(FatalError); } const vectorField Uc(patchInternalField()); vector tauHat = tau0_/(mag(tau0_) + ROOTVSMALL); const scalarField& ry = patch().deltaCoeffs(); operator==(tauHat*(tauHat & (tau0_*(1.0/(ry*nuEff)) + Uc))); fixedValueFvPatchVectorField::updateCoeffs(); } void Foam::fixedShearStressFvPatchVectorField::write(Ostream& os) const { fixedValueFvPatchVectorField::write(os); writeEntryIfDifferent<word>(os, "phi", "phi", phiName_); writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_); os.writeKeyword("tau") << tau0_ << token::END_STATEMENT << nl; writeEntry("value", os); }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam { makePatchTypeField ( fvPatchVectorField, fixedShearStressFvPatchVectorField ); }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 12:16 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hey, die updateCoeffs() Funktion hätte gereicht. Bitte ersetzt die Funktion mal mit dieser hier:
Code:
void Foam::fixedShearStressFvPatchVectorField::updateCoeffs() { Info<< "In fixedShearStressFvPatchVectorField::updateCoeffs()" << endl; if (updated()) { return; } Info<< "Foobar 1" << endl; const label patchI = patch().index(); Info<< "Foobar 2" << endl; const surfaceScalarField& phi = db().lookupObject<surfaceScalarField>(phiName_); Info<< "Foobar 3" << endl; scalarField nuEff; if (phi.dimensions() == dimVelocity*dimArea) { Info<< "Foobar 4a" << endl; const incompressible::turbulenceModel& turbModel = db().lookupObject<incompressible::turbulenceModel> ( "turbulenceModel" ); nuEff = turbModel.nuEff()()[patchI]; } else if (phi.dimensions() == dimDensity*dimVelocity*dimArea) { Info<< "Foobar 4b" << endl; const compressible::turbulenceModel& turbModel = db().lookupObject<compressible::turbulenceModel> ( "turbulenceModel" ); const fvPatchField<scalar>& rhop = patch().lookupPatchField<volScalarField, scalar>(rhoName_); nuEff = turbModel.muEff()()[patchI]/rhop; } else { FatalErrorIn("fixedShearStressFvPatchVectorField::updateCoeffs()") << "dimensions of phi are not correct" << "\n on patch " << this->patch().name() << " of field " << this->dimensionedInternalField().name() << " in file " << this->dimensionedInternalField().objectPath() << exit(FatalError); } Info<< "Foobar 5" << endl; const vectorField Uc(patchInternalField()); Info<< "Foobar 6" << endl; vector tauHat = tau0_/(mag(tau0_) + ROOTVSMALL); Info<< "Foobar 7" << endl; const scalarField& ry = patch().deltaCoeffs(); Info<< "Foobar 8" << endl; operator==(tauHat*(tauHat & (tau0_*(1.0/(ry*nuEff)) + Uc))); Info<< "update()" << endl; fixedValueFvPatchVectorField::updateCoeffs(); Info<< "Function finished" << endl; }
Dann bitte die Ausgabe deines Terminals mal posten.
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 12:34 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 13:01 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Du kannst das auch noch einfügen/ersetzen: Code:
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fvPatch& p, const DimensionedField<vector, volMesh>& iF ) : fixedValueFvPatchVectorField(p, iF), phiName_("phi"), rhoName_("rho"), tau0_(vector::zero) { Info << "Constructor 1\n" << endl; } Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fvPatch& p, const DimensionedField<vector, volMesh>& iF, const dictionary& dict ) : fixedValueFvPatchVectorField(p, iF), phiName_(dict.lookupOrDefault<word>("phi", "phi")), rhoName_(dict.lookupOrDefault<word>("rho", "rho")), tau0_(dict.lookupOrDefault<vector>("tau", vector::zero)) { Info << "Constructor 2\n" << endl; fvPatchField<vector>: perator=(patchInternalField()); Info << "Constructor 2 end\n" << endl; }
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf, const fvPatch& p, const DimensionedField<vector, volMesh>& iF, const fvPatchFieldMapper& mapper ) : fixedValueFvPatchVectorField(ptf, p, iF, mapper), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) {Info << "Constructor 3\n" << endl;}
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf ) : fixedValueFvPatchVectorField(ptf), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) {Info << "Constructor 4\n" << endl;}
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fixedShearStressFvPatchVectorField& ptf, const DimensionedField<vector, volMesh>& iF ) : fixedValueFvPatchVectorField(ptf, iF), phiName_(ptf.phiName_), rhoName_(ptf.rhoName_), tau0_(ptf.tau0_) { Info << "Constructor 5\n" << endl; }
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 13:05 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Nein - du musst OF nicht neu kompilieren, nur die Lib. Das ist doch eine Libary die du extern hast oder ist die schon in OpenFOAM drin? Soweit ich das verstehe, ist das eine externe Bibliothek. Du gehst also in diesen Ordner und führst "wmake libso" aus. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 13:31 <-- editieren / zitieren --> Unities abgeben:
Jetzt kann die lib irgendwie nicht mehr geladen werden: Code: Create time--> FOAM Warning : From function dlOpen(const fileName&, const bool) in file POSIX.C at line 1179 dlopen error : /home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so: undefined symbol: _ZNK4Foam34fixedShearStressFvPatchVectorField5writeERNS_7OstreamE --> FOAM Warning : From function dlLibraryTable: pen(const fileName&, const bool) in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 99 could not load "libturbulenceDerivedFvPatchFields.so" Create mesh for time = 0 Reading field p Reading field U --> FOAM FATAL IO ERROR: Unknown patchField type fixedShearStress for patch type patch Valid patchField types are :
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 13:41 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hi, ich hab natürlich keine Ahnung was du machst und wie dein FOAM aufgesetzt ist. Aber einfach mal die Meldungen anschauen... steht ja dran was er braucht: Code:
could not load "libturbulenceDerivedFvPatchFields.so"
Die Lib sollte (sofern du nicht unter USER_LIB_BIN speicherst hier sein:
Code:
/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/
Ist die Lib da? Ansonsten einfach nochmals ./Allwmake im Ordner /home/lhoang/OpenFOAM/OpenFOAM-2.2.2 ausführen (er kompiliert nur die, die geändert wurden und/oder Abhängigkeiten zu geänderten Libs/Dateien vorliegen. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 13:47 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Hab den Fehler gefunden.... lag an deinem Copy-Paste und meinem, da is nämlich ein Smiley in dem Code von dir! Normalerweise sollte deine Lib gar nicht richtig kompiliert haben. Das bitte korrigieren:
Code:
Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField ( const fvPatch& p, const DimensionedField<vector, volMesh>& iF, const dictionary& dict ) : fixedValueFvPatchVectorField(p, iF), phiName_(dict.lookupOrDefault<word>("phi", "phi")), rhoName_(dict.lookupOrDefault<word>("rho", "rho")), tau0_(dict.lookupOrDefault<vector>("tau", vector::zero)) { Info << "Constructor 2\n" << endl; fvPatchField<vector>: perator=(patchInternalField()); Info << "Constructor 2 end\n" << endl; }
Das ist der Scope operator "::" und dann operator als Name. Der Doppelpunkt + o macht darauß diesen komischen Smiley ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 14:19 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Allwmake schon gemacht? Irgendwas passt dann beim Linken nicht oder eine Lib ist veraltet und referiert noch auf was anders (was den Symbol-Error erklären würde). Allwmake am Besten in eine Log setzen, auch die Errormessages: Code:
./Allwmake > log 2>&1
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 14:43 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Heißt, du hast immer noch den gleichen Fehler? Die Lib ist up-to-date: Code:
+ wmake libso derivedFvPatchFields '/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so' is up to date.
Wenn du immer noch den Fehler hast, dann bitte ich dich, in deiner shearRate lib (also die die die Probleme verursacht), einfach ein Leerzeichen reinzusetzen, neu zu speichern und Allwmake nochmals laufen zu lassen. Log file dann nochmals anhängen. Es sollte nämlich dann die
Code:
'/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so' is up to date.
neu kompiliert werden. Ansonsten ist da irgendwo der Wurm drin. Nur zur Info für uns/mich:
- Die Lib ist extern?
- Die Lib liegt in welchem Verzeichnis
- Du hast in einer Make/files Datei was hinzugefügt?
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 16:04 <-- editieren / zitieren --> Unities abgeben:
bei libturbulenceDerivedFvPatchFields steht zwar up to date da, aber kurz davor steht das hier (hat das was damit zu tun?): Zitat: make: *** Keine Regel vorhanden, um das Target »fixedShearStress/fixedShearStressFvPatchVectorField.C«, benötigt von »fixedShearStress/fixedShearStressFvPatchVectorField.dep«, zu erstellen. Schluss.
Ich kann leider nicht genau sagen, ob das eine externe lib ist. war schon vorhanden, als ich es benutzt habe. in dem ordner, in dem alle weiteren libs auch liegen. Code: /home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/
in Make/files habe ich nichts gemacht. Ich hatte nur deine änderungen vorgenommen und ./Allwmake ausgeführt. wenn ich die alte fixedShearStress (vor den Änderungen) wieder einfüge, kann die lib ebenfalls nicht mehr geladen werden (natürlich wieder nach ./Allwmake). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 17:57 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Es ist schwer wenn du meine Fragen nicht alle beantwortest. Also ich nehme jetzt mal nach deiner Aussage folgendes an:
- Die BC ist in den offiziellen OpenFOAM Sources
Du hast irgendwas mit dem Make gemacht. Irgendwo hast du was geändert, sodass make nicht weiß was dort zu tun ist. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 18:16 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 07. Mrz. 2016 18:47 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Ist natürlich schwer jetzt ne Diagnose zu stellen. Ist sicherlich nichts besonderes. Geh mal hier rein: Code:
src cd turbulenceModels/derivedFvPatchFields wmake libso
Und prüf die Ausgabe oder setze diese hier rein. Ansonsten das einfachste, falls du mit Kompilieren etc nicht bewandert bist,... FOAM neu Laden, Allwmake und dann die Änderungen wieder machen. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Mrz. 2016 18:54 <-- editieren / zitieren --> Unities abgeben:
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 07:45 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Code:
src cd turbulenceModels/derivedFvPatchFields wclean wmake libso
Damit sollte er die Lib's löschen und dann neu kompilieren. Was du noch kontrollieren kannst:
Code:
src cd turbulenceModels/derivedFvPatchFields/Make gedit files porousBafflePressure/porousBafflePressureFvPatchFields.C fixedShearStress/fixedShearStressFvPatchVectorField.C
LIB = $(FOAM_LIBBIN)/libturbulenceDerivedFvPatchFields
Die zweite Zeile sollte schon drin stehen. Ach ja, es gibt eine "$(FOAM_USER_LIBBIN)" in der man normalerweise von FOAM geänderte Libs reinläd. Somit hast du immer die Möglichkeit wieder zur alten Standardversion zurückzugreifen.
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 09:22 <-- editieren / zitieren --> Unities abgeben:
In turbulenceModels/derivedFvPatchFields/Make/files ist alles korrekt. Mit zunächst wclean und dann wmake funktioniert es, d.h. ich bekomme wieder den speicherzugriffsfehler, allerdings nur bei der ursprünglichen fixedShearStress Version. Bei der abgeänderten Version bleibt es bei diesem undefined symbol bzw dass die lib nicht geladen werden kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 09:43 <-- editieren / zitieren --> Unities abgeben:
Nein darf ich hier im Geschäft leider nicht. Das einzige was ich machen kann, ist hier einige files anzuhängen, wenn du mir sagst welche und die du dir dann mal anschauen könntest. Falls dir das überhaupt was bringt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 09:55 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Also du sagst, wenn du die originale Lib nimmst (ohne Änderungen), dann bekommst du diesen Speicherzugriffsfehler? Wenn du die Änderungen von mir mitrein nimmst (was nur Kommentare sind), bekommst du den Symbol-Link Error? Sehe ich das richtig? Kannst du deinen Case anhängen, oder ist der durch Geheimhaltungsklauseln nicht teilbar? ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 10:30 <-- editieren / zitieren --> Unities abgeben:
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 10:53 <-- editieren / zitieren --> Unities abgeben:
So ich habs jetzt mit dem geänderten hinbekommen, war ne kleinigkeit falsch. jetzt bekomm ich auch hier wieder den speicherzugriffsfehler aber deine änderungen tauchen jetzt in der ausgabe auf. Code: Create timeCreate mesh for time = 0 Reading field p Reading field U Constructor 2 Constructor 2 end Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon kEpsilonCoeffs { Cmu 0.09; C1 1.44; C2 1.92; sigmaEps 1.11; } No finite volume options present SIMPLE: convergence criteria field p tolerance 0.0001 field U tolerance 1e-05 field "(k|epsilon)" tolerance 1e-05
Starting time loop
Time = 1 In fixedShearStressFvPatchVectorField::updateCoeffs() Foobar 1 Foobar 2 Foobar 3 Foobar 4a Foobar 5 Foobar 6 Foobar 7 Foobar 8 #0 Foam::error: rintStack(Foam::Ostream&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigSegv::sigHandler(int) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam: perator*(Foam::UList<double> const&, Foam::UList<double> const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::fixedShearStressFvPatchVectorField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/lib/libturbulenceDerivedFvPatchFields.so" #6 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #7 Foam::fvMatrix<Foam::Vector<double> >::fvMatrix(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::DimensionSet const&) in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #8 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #9 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 in "/home/lhoang/OpenFOAM/OpenFOAM-2.2.2/platforms/linux64GccDPOpt/bin/simpleFoam" Speicherzugriffsfehler
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 11:04 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Na dann is es ja gut wenn du das jetzt hinbekommen hast. Durch die Ausgabe kannst du dir sicher sein das diese Zeile deinen Fehler verursacht: Code:
operator==(tauHat*(tauHat & (tau0_*(1.0/(ry*nuEff)) + Uc)));
------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 11:10 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Ich kann dich schon mal beruhigen, der Fehler tritt bei mir auch auf. "Segmentation Fault" -- Teilen durch Null. Scheint wohl ein Bug in FOAM zu sein. Schaus mir später genauer an. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
Ja das ist das Problem... kurzer Debug und: Code:
nuEff()0()
Heißt also das nuEff() keinen Eintrag hat. Also musst mal die Definition anschaun wie das gemacht wird. Zudem, movingWall ist vom type wall und nicht patch. Dann löscht du mal bitte nut. Dann analysierst du mal dieses hier:
Code:
const label patchI = patch().index(); const surfaceScalarField& phi = db().lookupObject<surfaceScalarField>(phiName_); scalarField nuEff; if (phi.dimensions() == dimVelocity*dimArea) { const incompressible::turbulenceModel& turbModel = db().lookupObject<incompressible::turbulenceModel> ( "turbulenceModel" ); nuEff = turbModel.nuEff()()[patchI]; }
Bzw. liefert dir dieser Ausdruck:
Code:
nuEff = turbModel.nuEff()()[patchI];
Die Null zurück. Der Zugriff auf den Patch ist hier irgendwie falsch, da die Ausgabe von turbModel.nuEff()()[patchI] dir ein scalar zurückgibt. Für mich definitiv ein Bug, den ich mal melden werde. In FOAM3.0.1 steht das so drin:
Code:
scalarField nuEff2(turbModel.nuEff()()[patch().index()]);
Das normalerweise das gleiche repräsentiert aber trotzdem ein anderes Ergebnis ausgibt (auch ein falsches). Soweit ich das verstehe, solltest du in nuEff, die Werte für jedes Face haben das auf dem patchI ist (movingWall). Wenn man turbModel.nuEff() ausgibt, dann erhalten wir das komplette Feld. Iwas läuft da ziemlich falsch. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 13:15 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 15:52 <-- editieren / zitieren --> Unities abgeben:
ja die ist wirklich 5km lang. Habe die Domain genau so aufgebaut wie im paper von Hargreaves und Wright. Hatte auch schon ein paper gesehen, in dem die Domain 10 km lang war. noch mal zu nuEff: beim debuggen war ja nuEff 0() und für turbmodel.nuEff()()[patchI] kommt in dem Fall 124.601 raus. ich habe schon vorher mal einen Fall nicht mit fixedShearStress, sondern mit einer fixen Geschwindigkeit an der oberen Wand durchgerechnet. Dabei kam für nut genau der gleiche Wert, also 124.601 raus. Heißt das jetzt das turbmodel.nuEff()()[patchI] nur nut beinhaltet? nuEff setzt sich doch eigentlich aus nut und glaub der laminaren Viskosität zusammen oder? Weiß nicht ob das jetzt was zu sagen hat und will auch keine weitere Verwirrung stiften.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
|
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 16:05 <-- editieren / zitieren --> Unities abgeben:
Ah ok also ersetze ich einfach Code: nuEff = turbModel.nuEff()()[patchI]
durch Code: scalarField nuEff(turbModel.nuEff(patch().index()));
? Der Link geht nicht oder dauert das noch ein wenig, bzw ist es dort dann noch mal erklärt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 08. Mrz. 2016 16:10 <-- editieren / zitieren --> Unities abgeben:
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 08. Mrz. 2016 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für cristopf
In Foam 2.2.x wird wahrscheinlich die Funktion von der Turbulenzklasse wohl nicht zur Verfügung stehen. Du müsstest bei dir Doxygen draufwerfen und dann im Source-Code schauen was du für nuEff() hast. ------------------ Viele Grüße, Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |