|
[Sponsors] |
February 17, 2012, 09:47 |
|
#41 |
New Member
Andreas
Join Date: Apr 2011
Posts: 2
Rep Power: 0 |
Hi everyone,
I'm also trying to implement the V2F model in OF 2.0. I've 'copied' and compiled a turbulence model and I've tried the same procedure on the code from this forum. I figure it doesn't work because of the different versions - I get errors like: candidate expects 3 arguments, 4 provided, candidate expects 1 argument, 4 provided k0_, epsilon0_ and ‘epsilonSmall_’ was not declared in this scope I'm new to OF and I don't know C++ (but I do understand the structure a bit) and I'm not sure where to look first. Any hint on how I can get this to work would be appreciated! Or also any reason to stop trying as well. Thank you! Andi By the way - a good guide on how to implement your own turbulence model can be found here (PDF): http://www.google.com/url?sa=t&rct=j&q=%20turbulence%20model%20openfoam& source=web&cd=5&ved=0CEMQFjAE&url=http%3A%2F%2Fwww .tfd.chalmers.se%2F~hani%2Fkurser%2FOS_CFD%2Fimple mentTurbulenceModel.pdf&ei=iUw-T7-JJ8Wv8gO_x-CLCA&usg=AFQjCNEXLAXtns-0PXC-fHdNx8y5eiAA8g&cad=rja And an explanation of how to get the V2F model working on older OF versions in Chinese (with google translate): http://translate.google.com/translat...26prmd%3Dimvns Alhasan - I think you're missing a \ in your option file on line 10 (just read through the links - I'm afraid you wont get much further than I did though) |
|
February 17, 2012, 12:01 |
|
#42 |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Hi guys, I advice you use google a little bit more.
For example, when you google those keywords that are missing in version 2.0 you will find that they are from former versions, and then you will find they just moved them to a new class, and what you need to do is simply do the corresponding modifications. Cheers,
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
|
February 17, 2012, 21:06 |
|
#43 |
Senior Member
Sandy Lee
Join Date: Mar 2009
Posts: 213
Rep Power: 18 |
I belive in you, lakeat ...
|
|
February 18, 2012, 06:07 |
|
#44 |
New Member
Andreas
Join Date: Apr 2011
Posts: 2
Rep Power: 0 |
Thanks for the hint lakeat! I understand it a bit better now.
|
|
March 11, 2012, 07:17 |
|
#45 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
A student in our group (Yangxiang Shi) ported the v2f model to OpenFOAM 2.1.x. You can download it from here: https://bitbucket.org/albertop/durbi...zindavidsonv2f
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. Last edited by alberto; March 14, 2012 at 18:40. Reason: Removed link to github repository. |
|
March 11, 2012, 21:41 |
|
#46 |
Senior Member
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 15 |
thanks for sharing
|
|
March 14, 2012, 17:57 |
|
#47 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
Hi to everyone,
Before I start I have to thank both Alberto and his student for releasing the v2f turbulence model for OpenFOAM. Now, I have tried, mainly because of curiosity, to compile it and use it, in the test case Alberto provided in the github : https://github.com/AlbertoPa/OpenFOA...zinDavidsonV2f. I chose to use the integrated version, so I changed the file file in the directory .../incompressible/RAS/Make, by adding : DurbinLienKalitzinDavidsonV2f/DurbinLienKalitzinDavidsonV2f.C As far as I have seen no change is required for the options file. The DurbinLienKalitzinDavidsonV2f folder is located in the RAS folder and contains: DurbinLienKalitzinDavidsonV2f.C DurbinLienKalitzinDavidsonV2f.H DurbinLienKalitzinDavidsonV2fSetWallDissipation.H I am able to compile it, but when I try to run the test case I get a fatal error saying the LHS and RHS of + have different dimensions. The complete error is: fivos@fivos-desktop:~/OpenFOAM/fivos-2.1.x/run/diffuser$ simpleFoam /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.1.x-72f00f722216 Exec : simpleFoam Date : Mar 14 2012 Time : 23:43:26 Host : "fivos-desktop" PID : 7228 Case : /home/fivos/OpenFOAM/fivos-2.1.x/run/diffuser nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create 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 DurbinLienKalitzinDavidsonV2f --> FOAM FATAL ERROR: LHS and RHS of + have different dimensions dimensions : [0 2 -2 0 0 0 0] + [0 2 -3 0 0 0 0] From function operator+(const dimensionSet&, const dimensionSet&) in file dimensionSet/dimensionSet.C at line 514. FOAM aborting #0 Foam::error:rintStack(Foam::Ostream&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #1 Foam::error::abort() in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #2 Foam:perator+(Foam::dimensionSet const&, Foam::dimensionSet const&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #3 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:perator+<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensioned<double> const&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libincompressibleRASModels.so" #4 Foam::incompressible::RASModels:urbinLienKalitzi nDavidsonV2f::T() const in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libincompressibleRASModels.so" #5 Foam::incompressible::RASModels:urbinLienKalitzi nDavidsonV2f:urbinLienKalitzinDavidsonV2f(Foam:: GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&, Foam::word const&, Foam::word const&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libincompressibleRASModels.so" #6 Foam::incompressible::RASModel::adddictionaryConst ructorToTable<Foam::incompressible::RASModels:ur binLienKalitzinDavidsonV2f>::New(Foam::GeometricFi eld<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&, Foam::word const&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libincompressibleRASModels.so" #7 Foam::incompressible::RASModel::New(Foam::Geometri cField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&, Foam::word const&) in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/lib/libincompressibleRASModels.so" #8 main in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/bin/simpleFoam" #9 __libc_start_main in "/lib/libc.so.6" #10 _start in "/home/fivos/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc45DPOpt/bin/simpleFoam" Aborted Anyone else got that? Any ideas? Thanks in advance. |
|
March 14, 2012, 18:39 |
|
#48 | |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Quote:
https://bitbucket.org/albertop/durbi...zindavidsonv2f To avoid any further confusion, I remove the link to github. It is there only to submit code to OpenCFD, and it does not make sense for regular users to rely on a forked version.
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||
March 15, 2012, 12:34 |
|
#49 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
Dear Alberto,
Thank you for your answer. I don' t have much experience in modifying OpenFoam (I have used the standard solvers in several cases though), so it is practicaly my first time trying to add something out of the box in the standard OpenFoam installation, thus I would like you to bear with me, If possible. I have tried downloading from bitbucket.org, but I don't exactly understand how the v2f model should be installed: - First of all the DurbinLienKalitzinDavidsonV2f folder, containing the Make folder and the ***.C and the two ***.H files, has to be placed inside the .../src/turbulenceModels/incompressible/RAS folder right? - Is any other modification required to the Make folder located in the .../RAS folder ? How OpenFoam is supposed to enter the DurbinLienKalitzinDavidsonV2f folder if no other modification is made? I am asking these because I have downloaded the DurbinLienKalitzinDavidsonV2f folder (from bitbucket) and placed it into the RAS directory, without changing anything else. However after compilation no new library is generated in the $FOAM_USER_LIBBIN directory. Since I don' t have the libDurbinLienKalitzinDavidsonV2f.so it is pointless to run the test case as it wont work. Alberto are you sure that the problem with the LHS and RHS dimensions is because I have downloaded the github version? Because I dont think there was any significant difference between the source files. Have you made any other modifications to your OpenFoam 2.1.x or are you using the standard version? Thanks in advance and sorry for any incnvenience. |
|
March 15, 2012, 12:52 |
|
#50 | |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Quote:
Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||
March 15, 2012, 12:58 |
|
#51 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
Yup, it worked! Thank you for sharing, your support and quick responses Alberto.
|
|
March 15, 2012, 13:00 |
|
#52 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
You're welcome.
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
March 26, 2012, 06:05 |
|
#53 |
New Member
Roman
Join Date: Mar 2009
Location: Belarus
Posts: 6
Rep Power: 17 |
Hello Foamers
Maybe it will be interesting for somebody these models: V2F model with realizable conditions V2F.tar.gz (it's practically the same as above with only modified conditions for T and L), original V2F V2F_original.tar.gz and zetaF with Davidson correction zeta_F.tar.gz. All models implemented in OF 1.6. Good Luck |
|
March 26, 2012, 09:59 |
|
#54 | |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Quote:
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
||
September 11, 2012, 17:21 |
|
#55 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
Hi all,
I am resurrecting this old thread because today I have found that the new version of OpenFoam 2.1.x is incompatible with the v2f code (or at least is in my case). I have downloaded today the updated openFoam through git hub, compiled it and afterwards tried to build the libDurbinLienKalitzinDavidsonV2f.so, necessary for running the tutorial case (or any other case with the v2f model). Unfortunately, building the library results to the following errors: Code:
In file included from DurbinLienKalitzinDavidsonV2f.H:28:0, from DurbinLienKalitzinDavidsonV2f.C:52: /home/fivos/OpenFOAM/OpenFOAM-2.1.x/src/turbulenceModels/incompressible/RAS/lnInclude/RASModel.H: In static member function 'static Foam::autoPtr<Foam::incompressible::RASModel> Foam::incompressible::RASModel::adddictionaryConstructorToTable<RASModelType>::New(const Foam::volVectorField&, const Foam::surfaceScalarField&, Foam::transportModel&, const Foam::word&) [with RASModelType = Foam::incompressible::RASModels::DurbinLienKalitzinDavidsonV2f, Foam::volVectorField = Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>, Foam::surfaceScalarField = Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>]': /home/fivos/OpenFOAM/OpenFOAM-2.1.x/src/turbulenceModels/incompressible/RAS/lnInclude/RASModel.H:134:1: instantiated from 'Foam::incompressible::RASModel::adddictionaryConstructorToTable<RASModelType>::adddictionaryConstructorToTable(const Foam::word&) [with RASModelType = Foam::incompressible::RASModels::DurbinLienKalitzinDavidsonV2f]' DurbinLienKalitzinDavidsonV2f.C:70:1: instantiated from here /home/fivos/OpenFOAM/OpenFOAM-2.1.x/src/turbulenceModels/incompressible/RAS/lnInclude/RASModel.H:122:9: error: cannot allocate an object of abstract type 'Foam::incompressible::RASModels::DurbinLienKalitzinDavidsonV2f' DurbinLienKalitzinDavidsonV2f.H:47:1: note: because the following virtual functions are pure within 'Foam::incompressible::RASModels::DurbinLienKalitzinDavidsonV2f': /home/fivos/OpenFOAM/OpenFOAM-2.1.x/src/turbulenceModels/incompressible/turbulenceModel/turbulenceModel.H:208:37: note: virtual Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > > Foam::incompressible::turbulenceModel::divDevRhoReff(const Foam::volScalarField&, Foam::volVectorField&) const /home/fivos/OpenFOAM/OpenFOAM-2.1.x/src/turbulenceModels/incompressible/RAS/lnInclude/RASModel.H:122:9: warning: control reaches end of non-void function make: *** [Make/linux64Gcc45DPOpt/DurbinLienKalitzinDavidsonV2f.o] Error 1 A way to circumvent the building error is to add the following lines: Code:
virtual tmp<fvVectorMatrix> divDevRhoReff ( const volScalarField& rho, volVectorField& U ) const; //- Return the source term for the momentum equation virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const; It needs to be declared there even if it is not used (or at least I understand something like that from my limited C++ on pure virtual functions). After doing so the library is build. The problem now is that when solving a v2f case (with the lib ("libDurbinLienKalitzinDavidsonV2f.so"); in the controlDict) I get the following warnings: Code:
--> FOAM Warning : From function dlOpen(const fileName&, const bool) in file POSIX.C at line 1175 dlopen error : /home/fivos/OpenFOAM/fivos-2.1.x/platforms/linux64Gcc45DPOpt/lib/libDurbinLienKalitzinDavidsonV2f.so: undefined symbol: _ZNK4Foam14incompressible9RASModels29DurbinLienKalitzinDavidsonV2f13divDevRhoReffERKNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEEERNS3_INS_6VectorIdEES4_S5_EE --> FOAM Warning : From function dlLibraryTable::open(const fileName&, const bool) in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96 could not load "libDurbinLienKalitzinDavidsonV2f.so" --> FOAM FATAL ERROR: Unknown RASModel type DurbinLienKalitzinDavidsonV2f To sum up it tells me that it does not find any DurbinLienKalitzinDavidsonV2f model. So I have to ask two things: 1) Has anyone else this issue, or is it just mine? 2) Has anyone any idea for how to fix this? This is not imperative; as far as I seen here (http://www.openfoam.org/mantisbt/view.php?id=468) the v2f model might come up with the new OpenFoam version. Any ideas/comments are appreciated. Thanks in advance (and again thanks Alberto and his team for his contribution). |
|
September 11, 2012, 17:26 |
|
#56 |
Member
dw
Join Date: Jul 2012
Posts: 32
Rep Power: 14 |
The code has no problem to compile.
I think you need to do a search and "replace all" concerning DurbinLienKalitzinDavidsonV2f. Make sure all the file names consistent in all files including Make/files and all other .H files. v2f is a decent model and there is lots room for improvement. Edit ---------- Why not try to put the code in src/turb folder Last edited by 1/153; September 11, 2012 at 18:50. |
|
September 11, 2012, 18:32 |
|
#57 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi fivos,
unfortunately, the code *has* problems to compile with OpenFOAM 2.1.x I assume because of recent changes in the code. I will fix it and commit the corrected code as soon as possible. Updates will be committed here: https://bitbucket.org/albertop/durbi...zindavidsonv2f Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
September 12, 2012, 04:41 |
|
#58 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
@ 1/153:
I had no problem compiling/running the v2f model with the older version of OpenFoam 2.1.x. It seems that after the new modifications of the OpenFoam structure the problem started. The v2f source is located of course at : .../OpenFOAM-2.1.x/src/turbulenceModels/incompressible/RAS/DurbinLienKalitzinDavidsonV2f @ alberto: Thank you for your prompt answer. It' s good to know that its not an issue of my OpenFoam compilation that v2f does not work. I am looking forward for the new code whenever it is ready. Thanks again Alberto. |
|
October 5, 2012, 18:26 |
|
#59 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
I updated the code on Bitbucket (Elbert Jeyapaul submitted the patch :-)).
Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
October 6, 2012, 10:12 |
|
#60 |
Senior Member
Phoevos
Join Date: Mar 2009
Posts: 104
Rep Power: 17 |
I confirm that the new implementation of v2f model works with the most recent (as of today) OpenFOAM 2.1.x build.
Thank you Alberto, keep it up. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
changing model constants in k-e turbulence model | Sunil | CFX | 3 | October 3, 2006 13:12 |
turbulence model | greg | FLUENT | 3 | August 26, 2006 12:07 |
v2-f model of turbulence | abdellah | FLUENT | 2 | February 27, 2005 01:49 |
HELP! TURBULENCE k-e OR k-omega TURBULENCE MODEL? | Mirek Kabacinski | FLUENT | 5 | August 24, 2003 23:31 |
k-w turbulence model | allan | Main CFD Forum | 4 | February 20, 2002 14:05 |