|
[Sponsors] |
[ImmersedBoundary] Immersed Boundary Method in OpenFOAM-3.1-ext |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 3, 2014, 13:17 |
Immersed Boundary Method in OpenFOAM-3.1-ext
|
#1 |
New Member
miladrakhsha
Join Date: Aug 2012
Posts: 29
Rep Power: 14 |
I am experiencing with the implementation of IBM in OpenFOAM. I am working with simpleIbFoam. It would be great if this method could be implemented in the future version of OpenFOAM ext by default as it is a very powerful method. However, I did not find the currrent implementation robust enough yet. My case terminates after a couple of iterations without any warning or any error message so I dont rally know where the problem is!!! My only gauss is that it has something to do with the "k" equation!
this is a small part of my log file: Code:
Time = 6 DILUPBiCG: Solving for Ux, Initial residual = 7.0369e-05, Final residual = 6.80687e-11, No Iterations 5 DILUPBiCG: Solving for Uy, Initial residual = 0.000326453, Final residual = 2.10094e-10, No Iterations 5 DILUPBiCG: Solving for Uz, Initial residual = 7.49995e-06, Final residual = 1.87974e-11, No Iterations 5 GAMG: Solving for p, Initial residual = 0.0588972, Final residual = 0.00623836, No Iterations 1000 time step continuity errors : sum local = 1.84801e-06, global = -2.04249e-09, cumulative = -4.51088e-09 DILUPBiCG: Solving for omega, Initial residual = 0.0135086, Final residual = 3.48746e-05, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 0.0159819, Final residual = 5.767e-05, No Iterations 1 bounding k, min: -0.940922 max: 1.77288 average: 0.00776461 ExecutionTime = 198.19 s ClockTime = 198 s forces output: forces(pressure, viscous)((0.000193756 -2.15261e-05 0.000364652) (4.89027e-10 7.44523e-11 6.68369e-13)) moment(pressure, viscous)((2.45693e-05 -3.77346e-05 -1.48994e-05) (-1.28583e-12 5.10029e-12 -2.34689e-11)) Field p min = -19.5442 max = 3.89681 Field U magnitude min = 0 max = 6.16393 forceCoeffs output: Cd = -0.013689 Cl = 0.581642 Cm = 0.059539 Time = 7 DILUPBiCG: Solving for Ux, Initial residual = 6.97614e-05, Final residual = 9.57514e-11, No Iterations 5 DILUPBiCG: Solving for Uy, Initial residual = 0.000280219, Final residual = 1.82e-10, No Iterations 5 DILUPBiCG: Solving for Uz, Initial residual = 6.51344e-06, Final residual = 2.49325e-11, No Iterations 5 GAMG: Solving for p, Initial residual = 0.0732228, Final residual = 0.00731821, No Iterations 871 time step continuity errors : sum local = 1.70086e-06, global = -2.23902e-09, cumulative = -6.7499e-09 DILUPBiCG: Solving for omega, Initial residual = 0.00702349, Final residual = 3.47449e-05, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 0.00908902, Final residual = 4.9913e-05, No Iterations 1 bounding k, min: -1.34002 max: 3.64086 average: 0.00851153 I tried to use bounded schemes for k and omega in fvSchemes but it seems that it does not recognize bounded scheme ! I would really appreciate if somebody can help. Thank you ---------------- Moderator note: This specific topic was later discussed here in more detail: http://www.cfd-online.com/Forums/ope...m-1-6-ext.html The remaining thread is on the topic of porting to foam-extend 3.1 Last edited by wyldckat; September 14, 2014 at 06:35. Reason: See "Moderator note" and added [CODE][/CODE] |
|
September 4, 2014, 22:54 |
Immersed Boundary Method in OpenFOAM-3.1-ext
|
#2 |
New Member
miladrakhsha
Join Date: Aug 2012
Posts: 29
Rep Power: 14 |
Has anyone ported the Immersed Boundary Method developed by ZeljkoTukovic and Professor Jasak in OpenFOAM-1.6-ext to foam-extend-3.1 yet?
I tried to compile the source codes but it gives me an error in the middle of the process. Is it possible at all to port that source code to the new Extend project? This is the message I received: Code:
./Allwmake + wmake surfaceNormal Making dependency list for source file surfaceNormal.C SOURCE=surfaceNormal.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/surfaceNormal.o g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPOpt/surfaceNormal.o -L/home/milad/foam/foam-extend-3.1/lib/linux64GccDPOpt \ -ltriSurface -lmeshTools -lfoam -liberty -ldl -lrt -lm -o /home/milad/foam/milad-3.1/applications/bin/linux64GccDPOpt/surfaceNormal + wmake surfaceInvertNormal Making dependency list for source file surfaceInvertNormal.C SOURCE=surfaceInvertNormal.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/surfaceInvertNormal.o g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPOpt/surfaceInvertNormal.o -L/home/milad/foam/foam-extend-3.1/lib/linux64GccDPOpt \ -ltriSurface -lmeshTools -lfoam -liberty -ldl -lrt -lm -o /home/milad/foam/milad-3.1/applications/bin/linux64GccDPOpt/surfaceInvertNormal + wmake libso immersedBoundary Making dependency list for source file immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C Making dependency list for source file immersedBoundaryPointPatch/immersedBoundaryPointPatch.C Making dependency list for source file immersedBoundaryFvPatch/immersedBoundaryFvPatch.C Making dependency list for source file immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C Making dependency list for source file immersedBoundaryFvPatch/immersedBoundaryFvPatchTriAddressing.C Making dependency list for source file immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C Making dependency list for source file immersedBoundaryFvsPatchField/immersedBoundaryFvsPatchFields.C Making dependency list for source file immersedBoundaryAdjustPhi/immersedBoundaryAdjustPhi.C Making dependency list for source file refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C SOURCE=immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryPolyPatch.o SOURCE=immersedBoundaryPointPatch/immersedBoundaryPointPatch.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryPointPatch.o SOURCE=immersedBoundaryFvPatch/immersedBoundaryFvPatch.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryFvPatch.o SOURCE=immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryFvPatchLeastSquaresFit.o SOURCE=immersedBoundaryFvPatch/immersedBoundaryFvPatchTriAddressing.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryFvPatchTriAddressing.o SOURCE=immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryFvPatchFields.o SOURCE=immersedBoundaryFvsPatchField/immersedBoundaryFvsPatchFields.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryFvsPatchFields.o SOURCE=immersedBoundaryAdjustPhi/immersedBoundaryAdjustPhi.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryAdjustPhi.o SOURCE=refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I/home/milad/foam/foam-extend-3.1/src/dynamicMesh/dynamicMesh/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/refineImmersedBoundaryMesh.o '/home/milad/foam/milad-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so' is up to date. + wmake libso immersedBoundaryForce Making dependency list for source file immersedBoundaryForces.C Making dependency list for source file immersedBoundaryForcesFunctionObject.C SOURCE=immersedBoundaryForces.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/postProcessing/functionObjects/forces/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I../immersedBoundary/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryForces.o SOURCE=immersedBoundaryForcesFunctionObject.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/home/milad/foam/foam-extend-3.1/src/postProcessing/functionObjects/forces/lnInclude -I/home/milad/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/home/milad/foam/foam-extend-3.1/src/triSurface/lnInclude -I/home/milad/foam/foam-extend-3.1/src/meshTools/lnInclude -I/home/milad/foam/foam-extend-3.1/src/sampling/lnInclude -I../immersedBoundary/lnInclude -IlnInclude -I. -I/home/milad/foam/foam-extend-3.1/src/foam/lnInclude -I/home/milad/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryForcesFunctionObject.o In file included from /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrices.H:40:0, from /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchFields.H:33, from /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/volFields.H:41, from /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrix.H:40, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.C:29, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:367, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchFields.H:30, from immersedBoundaryForces.C:29: /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:56:1: error: invalid use of incomplete type ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:59:9: error: incomplete type ‘Foam::fvMatrix<double>’ used in nested name specifier /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:59:9: error: incomplete type ‘Foam::fvMatrix<double>’ used in nested name specifier /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:59:35: error: template argument 1 is invalid /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:62:2: error: invalid type in declaration before ‘;’ token /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:62:2: error: invalid use of incomplete type ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:65:1: error: ‘solverPerformance’ in ‘struct Foam::lduMatrix’ does not name a type /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:71:1: error: ‘solverPerformance’ in ‘struct Foam::lduMatrix’ does not name a type /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:77:47: error: invalid use of incomplete type ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:80:43: error: invalid use of incomplete type ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:83:44: error: invalid use of incomplete type ‘struct Foam::fvMatrix<double>’ /home/milad/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘struct Foam::fvMatrix<double>’ make: *** [Make/linux64GccDPOpt/immersedBoundaryForces.o] Error 1 |
|
September 6, 2014, 14:58 |
|
#3 | |
Senior Member
|
Quote:
You have got to be more specific. These are not enough information to help . What problem are you solving right now? Are all implemented tutorials running fine? Are you using OF1.6-ext? I just started working with this method, and tutorials are running just fine, not facing any problems yet. Best.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
||
September 6, 2014, 15:25 |
|
#4 |
New Member
miladrakhsha
Join Date: Aug 2012
Posts: 29
Rep Power: 14 |
Dear Mojtaba,
Yes all the tutorials that were provided are running smoothly. That was all the information I had! Well but to explain it more, I am trying to see if this method can be used to simulate the flow over complex geometry such as Vortex Generators. Therefore, I used simpleIbFoam to solve my problem. In addition I used upwind schemes for k and omega to ensure boundedness of the solution. After working a couple of days with the ext-1.6 version I would say that this problem has something to do with the desensitization schemes in ext-1.6. I found that convective schemes cannot be discretized in this version like openFoam 2.2.0 or later versions. More pacifically, "Bounded" schemes were not developed as they are today in that version. BTW, I manage to remove the bounding "k" and "omega" message by using "bounded" scheme for surface normal gradient. Now I am trying to to see if this method can be used in parallel. According to this presentation seems like parallelization has not been implemented in this method yet. (why exactly?) Also it would be great if anybody who has successfully ported those source file to new versions of OpenFOAM could share his/her experience here. |
|
September 11, 2014, 22:51 |
IBM implementation in foam-extend
|
#5 |
New Member
Krishna
Join Date: Aug 2014
Posts: 5
Rep Power: 12 |
I also get similar messages during compilation of libraries, e.g.
Code:
SOURCE=immersedBoundaryForces.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-200 -I/opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude -I/opt/foam/foam-extend-3.1/src/postProcessing/functionObjects/forces/lnInclude -I/opt/foam/foam-extend-3.1/src/surfMesh/lnInclude -I/opt/foam/foam-extend-3.1/src/triSurface/lnInclude -I/opt/foam/foam-extend-3.1/src/meshTools/lnInclude -I/opt/foam/foam-extend-3.1/src/sampling/lnInclude -I../immersedBoundary/lnInclude -IlnInclude -I. -I/opt/foam/foam-extend-3.1/src/foam/lnInclude -I/opt/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryForces.o In file included from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrices.H:40:0, from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchFields.H:33, from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/volFields.H:41, from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrix.H:40, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.C:29, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:367, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchFields.H:30, from immersedBoundaryForces.C:29: /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:56:1: error: invalid use of incomplete type ‘class Foam::fvMatrix<double>’ ); ^ In file included from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:42:0, from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchFields.H:30, from immersedBoundaryForces.C:29: /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘class Foam::fvMatrix<double>’ class fvMatrix; ^ Last edited by wyldckat; September 14, 2014 at 06:36. Reason: Added [CODE][/CODE] |
|
September 13, 2014, 18:24 |
|
#6 |
Senior Member
|
Dear Milad,
Compiling OpenFOAM 1.6-extended source code in foam-extended 3.1 is possible but it would need too much effort to do this. Why don't you use OF 1.6? Best.
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
|
September 14, 2014, 07:42 |
|
#7 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
I've created a new branch "fe31" for building ImmersedBoundary with foam-extend 3.1. For more instructions: http://openfoamwiki.net/index.php/Ex...oam-extend_3.1 I only did some quick testing and file adjustments in the tutorials. Please let me know if is there a tutorial which is not working properly. Best regards, Bruno
__________________
|
|
September 17, 2014, 01:14 |
Immersed boundary in foam-extend 3.1
|
#8 |
New Member
Krishna
Join Date: Aug 2014
Posts: 5
Rep Power: 12 |
Thanks a lot for fe31 fork of IB toolkit. I have a small query based on icoIbFoam in fe31 and master forks. The following statements are missing from fe31 fork:
UEqn.boundaryManipulate(U.boundaryField());I am not sure how it will affect the velocity and pressure field solutions. Deletion of these lines is likely to affect IB modifications in the system matrix, and hence, the overall solution process. Last edited by singhfme; September 17, 2014 at 03:59. Reason: Addition |
|
September 20, 2014, 10:09 |
|
#9 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi singhfme,
I only removed those lines because I found the following commit in foam-extend 3.1's git history: http://sourceforge.net/p/openfoam-ex...2e8036b5248244 More specifically:
In addition, you can see online all of the changes I made in the branch "fe31": https://github.com/wyldckat/Immersed...y/commits/fe31 - there you'll see one comment referring to the commit I've mentioned above. But as I mentioned in the previous post, I only did the port and some basic testing, I did not go through all of the necessary validation steps. Best regards, Bruno
__________________
|
|
September 21, 2014, 04:15 |
|
#10 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
For the record: we will release the latest version of immersed boundary in foam-extend-3.2
Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
September 21, 2014, 23:15 |
|
#11 | |
New Member
Krishna
Join Date: Aug 2014
Posts: 5
Rep Power: 12 |
Quote:
Thanks a lot for your kind clarification. I would try some validation runs with foam-extend-3.1. Best regards, Krishna |
||
September 21, 2014, 23:19 |
|
#12 |
New Member
Krishna
Join Date: Aug 2014
Posts: 5
Rep Power: 12 |
||
September 28, 2014, 10:00 |
|
#13 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
|
||
October 14, 2014, 14:17 |
|
#14 |
Senior Member
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 155
Rep Power: 17 |
I have a problem with the current implementation into 1.6-ext ( i suppose the same problem will be in 3.1-ext).
It seems like when the stl has several surfaces ( maybe perpendicular between them), sometimes IB does not know how to deal with it. http://www.cfd-online.com/Forums/ope...tml#post514322 Mi first approach, that does not work yet, is only a stl were I have the tower and the nacelle of a wind turbine. The solver does not run: Can`t find nearest triSurface point for cell 3644, (x y z) My second step will be to see if vortex generators can be modeled in this way ( counterrotating maybe), so please miladrakhsha keep us informed. Last edited by be_inspired; October 15, 2014 at 05:55. |
|
November 18, 2014, 01:40 |
|
#15 |
Member
Hua
Join Date: May 2012
Posts: 31
Rep Power: 14 |
Dear Bruno,
I also did some quick testing in the tutorials_HJ/sphereInChannel with OF3.1. Everything worked well but failed in parallel. Here is my log for decomposePar command. Code:
Build : 3.1 Exec : decomposePar Date : Nov 18 2014 Time : 12:43:45 Host : r710.mfm.com PID : 373 CtrlDict : /home/jhpan/foam/foam-extend-3.1/etc/controlDict Case : /home/jhpan/foam/foam-extend-3.1/extend-bazaar/ImmersedBoundary/tutorials_HJ/sphereInChannel nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Time = 0 Create mesh for region region0 Calculating distribution of cells Selecting decompositionMethod simple Finished decomposition in 0.48 s Calculating original mesh data Distributing cells to processors Distributing faces to processors Calculating processor boundary addressing Distributing points to processors Constructing processor meshes --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 0 Number of cells = 52394 Number of faces shared with processor 1 = 933 Number of faces shared with processor 2 = 4066 Number of processor patches = 2 Number of processor faces = 4999 Number of boundary faces = 1747 --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 1 Number of cells = 52470 Number of faces shared with processor 0 = 933 Number of faces shared with processor 3 = 4118 Number of processor patches = 2 Number of processor faces = 5051 Number of boundary faces = 1397 --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 2 Number of cells = 52470 Number of faces shared with processor 0 = 4066 Number of faces shared with processor 3 = 910 Number of processor patches = 2 Number of processor faces = 4976 Number of boundary faces = 1770 --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 3 Number of cells = 52394 Number of faces shared with processor 1 = 4118 Number of faces shared with processor 2 = 910 Number of processor patches = 2 Number of processor faces = 5028 Number of boundary faces = 1374 Number of processor faces = 10027 Max number of processor patches = 2 Max number of faces between processors = 5051 Processor 0: field transfer --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 1: field transfer --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 2: field transfer --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE Processor 3: field transfer --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/dlLibraryTable.C at line 85 could not load /home/jhpan/foam/jhpan-3.1/lib/linux64GccDPOpt/libimmersedBoundary.so: undefined symbol: _ZTIN4Foam11fileFormats18surfaceFormatsCoreE End. Code:
Build : 3.1 Exec : icoIbFoam -parallel Date : Nov 18 2014 Time : 12:50:13 Host : compute-3-16.local PID : 34815 CtrlDict : /home/jhpan/foam/foam-extend-3.1/etc/controlDict Case : /home/jhpan/foam/foam-extend-3.1/extend-bazaar/ImmersedBoundary/tutorials_HJ/sphereInChannel nProcs : 4 Slaves : 3 ( compute-3-16.local.34816 compute-3-16.local.34817 compute-3-16.local.34818 ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : blocking SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading transportProperties Reading field p Reading field U Reading/calculating face flux field phi Create immersed boundary cell mask Create immersed boundary face mask Found immersed boundary patch 0 named ibSphere [1] Number of IB cells: 0 [3] Number of IB cells: 0 External flow [0] Number of IB cells: 100 Starting time loop [2] Number of IB cells: 100 Time = 0.05 Courant Number mean: 0 max: 0.8 velocity magnitude: 1 [compute-3-16.local:34815] *** An error occurred in MPI_Recv [compute-3-16.local:34815] *** on communicator MPI_COMM_WORLD [compute-3-16.local:34815] *** MPI_ERR_TRUNCATE: message truncated [compute-3-16.local:34815] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort -------------------------------------------------------------------------- mpirun has exited due to process rank 3 with PID 34818 on node compute-3-16.local exiting improperly. There are two reasons this could occur: 1. this process did not call "init" before exiting, but others in the job did. This can cause a job to hang indefinitely while it waits for all processes to call "init". By rule, if one process calls "init", then ALL processes must call "init" prior to termination. 2. this process called "init", but exited without calling "finalize". By rule, all processes that call "init" MUST call "finalize" prior to exiting or it will be considered an "abnormal termination" This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [compute-3-16.local:34814] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal [compute-3-16.local:34814] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of output ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Program ended at: Tue Nov 18 12:50:16 CST 2014 - Time consumed: 0:0:5 - Mails delivered to: jhpan@r710.mfm.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sorry for a long text. Have you any idea about these problems? Thank you. Last edited by wyldckat; November 23, 2014 at 08:49. Reason: Added [CODE][/CODE] |
|
November 18, 2014, 05:32 |
|
#16 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,907
Rep Power: 33 |
The parallel implementation of the Immersed Boundary Method with FOAM-Extend-3.1 runs fine and we have tutorials to prove it.
My guess is that you are looking at user error. Are you sure you are doing everything right? If not, all I can offer you would be under a support contract. Alternatively, since you have access to the full source code so please have a look where you got out-of-order parallel comms. This would happen eg. if you have removed the ibm patch from one of the processors or generally messed with the decomposition. Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
November 18, 2014, 10:34 |
|
#17 |
Member
Hua
Join Date: May 2012
Posts: 31
Rep Power: 14 |
Dear Professor Jasak,
Thank you for your quick reply. I got the codes from https://github.com/wyldckat/ImmersedBoundary and compiled in my Ubuntu 14.04 FOAM-extend 3.1.Everything worked well but failed in parallel. So I think I am doing everything right. I do some test to find where the problem is. I use 2 processors to output messages about immersedBoundaryFvPatchField member function and (*this) field name. Below is the log file. Crash at the first time step. Is it possible to send me a copy tutorial that you have run it fine in parallel? Maybe the cases downloaded from https://github.com/wyldckat/ImmersedBoundary have some problem. Here is my email: panjunhua13@mails.ucas.ac.cn here is the icoIbFoam.log for tutorials_HJ/sphereInChannel case. Code:
Build : 3.1-f77b4801a214 Exec : icoIbFoam -parallel Date : Nov 18 2014 Time : 21:28:49 Host : pjh-Veriton-D832 PID : 8320 CtrlDict : /home/pjh/foam/foam-extend-3.1/etc/controlDict Case : /home/pjh/foam/ImmersedBoundary/tutorials_HJ/sphereInChannel nProcs : 2 Slaves : 1 ( pjh-Veriton-D832.8321 ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : blocking SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading transportProperties Reading field p Reading field U Reading/calculating face flux field phi Create immersed boundary cell mask Create immersed boundary face mask Found immersed boundary patch 0 named ibSphere [1] Number of IB cells: 0 External flow [0] Number of IB cells: 200 Starting time loop Time = 0.05 Courant Number mean: 0 max: 0.8 velocity magnitude: 1 [0] updateCoeffs() imposeDirichletCondition()U [0] imposeDirichletCondition()U [1] updateCoeffs() imposeDirichletCondition()U [1] imposeDirichletCondition()U [1] imposeDeadCondition()U [0] imposeDeadCondition()U [0] evaluate()grad(interpolate(U.component(0))) [0] updateCoeffs() imposeNeumannCondition()grad(interpolate(U.component(0))) [0] imposeNeumannCondition()grad(interpolate(U.component(0))) [1] evaluate()grad(interpolate(U.component(0))) [1] updateCoeffs() imposeNeumannCondition()grad(interpolate(U.component(0))) [1] imposeNeumannCondition()grad(interpolate(U.component(0))) [pjh-Veriton-D832:8321] *** An error occurred in MPI_Recv [pjh-Veriton-D832:8321] *** on communicator MPI_COMM_WORLD [pjh-Veriton-D832:8321] *** MPI_ERR_TRUNCATE: message truncated [pjh-Veriton-D832:8321] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort -------------------------------------------------------------------------- mpirun has exited due to process rank 1 with PID 8321 on node pjh-Veriton-D832 exiting improperly. There are two reasons this could occur: 1. this process did not call "init" before exiting, but others in the job did. This can cause a job to hang indefinitely while it waits for all processes to call "init". By rule, if one process calls "init", then ALL processes must call "init" prior to termination. 2. this process called "init", but exited without calling "finalize". By rule, all processes that call "init" MUST call "finalize" prior to exiting or it will be considered an "abnormal termination" This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [pjh-Veriton-D832:08319] 1 more process has sent help message help-mpi-errors.txt / mpi_errors_are_fatal [pjh-Veriton-D832:08319] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages Last edited by wyldckat; November 23, 2014 at 08:50. Reason: Added [CODE][/CODE] |
|
November 18, 2014, 11:19 |
|
#18 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
Hi Hua,
this error rings a bell to me: Code:
[pjh-Veriton-D832:8321] *** An error occurred in MPI_Recv [pjh-Veriton-D832:8321] *** on communicator MPI_COMM_WORLD [pjh-Veriton-D832:8321] *** MPI_ERR_TRUNCATE: message truncated [pjh-Veriton-D832:8321] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort Edit $WM_PROJECT_DIR/etc/controlDict and change commsType to nonBlocking . You should try and see if this helps with your problem. Best, Pablo |
|
November 20, 2014, 03:49 |
|
#19 |
Member
Hua
Join Date: May 2012
Posts: 31
Rep Power: 14 |
Dear Higuera,
Thank you for your help. Your method is work for me!!! But I still have some questions. 1. There 3 types about commsType : blocking; scheduled ; nonBlocking. What is the difference between them? 2. some codes like below are included in my codes // Parallel data exchange { IPstream fromProc ( Pstream::blocking, procI, sizeof(label) ); fromProc >> sizes[procI]; } we can see " Pstream::blocking". Is it conflicting when change commsType to nonBlocking? BTW, similar problem can be solved by changing commsType to nonBlocking(or blocking) for other parallel problems. (I did some search on cfdonline) |
|
January 26, 2015, 01:37 |
foam-extend-3.2
|
#20 | |
New Member
Krishna
Join Date: Aug 2014
Posts: 5
Rep Power: 12 |
Quote:
|
||
Tags |
immersed boundary method, openfoam-1.6-ext, openfoam-3.1-ext |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
sliding mesh problem in CFX | Saima | CFX | 46 | September 11, 2021 08:38 |
Radiation in semi-transparent media with surface-to-surface model? | mpeppels | CFX | 11 | August 22, 2019 08:30 |
implementation of the Immersed Boundary Method | mi_cfd | Main CFD Forum | 19 | April 24, 2019 02:24 |
Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
[ImmersedBoundary] who has the paper about immersed boundary method in openfoam | blueshit | OpenFOAM Community Contributions | 1 | November 18, 2013 08:16 |