thank guys for these tutorials, there isn't much information about OpenFOAM and videos like these are very important. I hope you continue doing these kind of videos.
Hi, thank you for the tutorials! When simulating this case that I downloaded from the Comflics repository I came across a small error when running the pisoFoam command. I found that the error came down to the the ddtSchemes in the fvSchemes file on line 21 where "CrankNicolson" was perhaps incorrectly given as "CrankNicholson". Changing this made it work :) Thanks once again. I have just started using OF and these tutorials have been a great help!
Interesting observartion Mitchell. CrankNicolson is the right way to spell it. But looks like in older versions of OF (1.7.x - 2.1.x) they made a typo and only CrankNicholson will work. The documentation still has the wrong spelling, www.openfoam.org/docs/user/fvSchemes.php. Thanks, I added a comment in fvSchemes for latest version users.
Hello, thanks for the tutorial ;) very nice Shouldnt the boundary conditions on top and botton surfaces be set to farField? or Freestream in OpenFOAM, for this type of simulation i mean.
Hi. When I run pisoFoam with OpenFoam 3.0.1, It reminds me "keyword div((nuEff*dev2(T(grad(U))))) is undefined in dictionary". How can I do to resolve this problem?
Hi, I saw the same problem too. What I did: I accessed the file in the system folder named fvSchemes On the "divSchemes" section, I added on the following line after the others: div((nuEff*dev2(T(grad(U))))) Gauss linear; And it stopped complaining and ran. I guess that the openFoam v 3.0 is different somehow from the files on the blog.
Many thanks for this wonderful tutorial. It truly made me discover meshing in OpenFOAM by rebuilding a similar case. Just curious, when you mention Re=100, I suppose the medium is water. (not sure yet where I would change the viscosity to turn it into air). I run OpenFOAM 2.1.1 on a virtual box on my Fedora Linux computer. It runs just great and I look forward to your future tutorials.
I think the 1st 3 videos were more instructive, not saying that this video was not useful, no it is very useful, but I think specially the mesh part needs more explanation Thank you very much!
The case gives many errors for OpenFOAM version 4, fist issue was for the fvSchemes , For divSchemes I had to modify to div((nuEff*dev2(T(grad(U))))) Gauss linear; (The 2 in dev2 was not there)
After this great example I modified the cylinder into a cube, found badly more drag and needed a smaller integration step, but it worked fine eventually. I suppose that's how you get to know it better. Getting a little more adventurous, I also tried to add a SECOND cylinder in the wake of the first one, but in spite of careful righthand rule checking wether all faces were pointing in the right direction, all my attempts failed miserably until now (FACE 1 of PATCH 5 has no neighbour or something like that, whenever I introduce a second cylinder in the mesh). So now I'm REALLY curious how you add a second object in the same domain without all the blockMesh FATAL ERROR's. Maybe SnappyHexMesh is easier to handle ? Any recommendations ? Best Regards, Tom.
We are thinking about some introduction to turbulence models in OF and perhaps a tutorial on FSI. We will work on this only during the Christmas break.
When I run this set up in 2D for Re = 100 (L = 0.07 (therefore A =0.07*1), U = 0.021 and nu = 1.48e-05) - the drag coefficient seems to converge in the region of 6e-03. Can anyone suggest where I might be going wrong? My understanding is that since the variables are set up for the Reynolds number to ultimately = 100, the drag coefficient should still be around 1.3? Cheers
Hello Sir, Thank you for this wonderful tutorial. I have used a few software packages and none gives the correct value of St Number. Then I came across your tutorial on openFoam and this gives correct value of St Number. I copied your code and tried compiling it on my machine but it gives error "cannot find patchField entry for outlet" after pisoFoam command is given. I have openFOAM 2.3.0 installed. Could you please tell if this is a compatibility issue? Thanks a lot! I am looking forward to your reply.
Hi Atif, there's nothing in the case files that need to be compiled. Do the 'blockMesh' before 'pisoFoam' command. We have tested this in OF 2.x, which version of OF do you have?
comflics Hi, thanks for your reply. By compiling I meant giving the commands blockMesh>checkMesh>pisoFoam. After checkMesh I get "Mesh OK". But when I give pisoFoam command I get the error "cannot find patchField entry for outlet". I have openFOAM 2.3.0 installed on my machine. Could you please guide me on how to install openFOAM 2.x ?
atif4461 Hi again, this error occurs only when a boundary patch defined in blockMeshDict does not match the boundaryField in the 0/ directory for U,p etc. I double checked it now, and I don't see any problem. Could you generate & send me a log file, by typing 'pisoFoam > log.pisoFoam'. You can use pastebin(dot)com. Did you clone from gitHub? By OF 2.x, I meant 'version two point something'. I have tested it with OF 2.1.0 and Foam-extend-3.1. -S.H.
hello ..great tutorial! Subscribed! ..but when i try to run this code at higher reynolds number of 70,000 it blows up and crashes..due to courant number issues..how do i resolve this..please reply..I would greatly benefit from your inputs..
In this case, laminar flow persists only upto about Re 150. If you want to simulate turbulent flow around a cylinder then you should adapt the grid to suit your turbulence model and pick smaller dt and choose appropriate numerical schemes
It is not as simple as changing the solver. Our set-up is for laminar flow. If you wan to simulate transient turbulent flow, you should configure turbulence model (RANS). There are several easy to read articles on this topic. Understand the physics of the flow before trying to simulate it.
This is odd but How did you guys manage to have Re = 100 with U = 1, L = 1 , nu = 2e-02 and rho = 1.225 I thought that gave Re = 50. Perhaps I am making a sill mistake but please let me know.
+Douwe Pollmann Okay if that's the case that makes sense. When I downloaded the files it shows L = 1 in ControlDict. That's why the confusion. Thanks for the comment
Hi, i know it's an old video but i'm trying to run the code. When using pisoFoam (OF 2.3.1) it gives me error: keyword div((nuEff*dev2(T(grad(U))))) is undefined in dictionary "/home/fabio/OpenFOAM/fabio-2.3.1/run/laminarVortexShedding/system/fvSchemes.divSchemes" Can someone help me?
Hi, I would expect that error only in OF-3.0 or later. It should work in OF-2.3.1 without any trouble. Are you sure that you are using OF-2.3.1? Can you check with this command in the terminal: which pisoFoam Cheers, Sadiq
I'm glad you solved it and that is the correct fix. Nevertheless, I'm pretty sure this error won't appear in OF-2.3.1 :) The dev2 is needed only since OF-3.0 github.com/OpenFOAM/OpenFOAM-2.3.x/blob/master/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes github.com/OpenFOAM/OpenFOAM-3.0.x/blob/master/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
I'm sorry but i have to ask you another hint. I'm analizyng with Fuorier the lift coefficent, do you rember which time window you used to analyze? I've done the Fourier from time 200 to time 350 resulting in 3 different peaks
decomposePar is set for 8 threads but simple method multiplies to 20. numberOfSubdomains 8; method simple; simpleCoeffs { n (5 4 1 ); // 5x4= 20??? delta 0.001; }
thank guys for these tutorials, there isn't much information about OpenFOAM and videos like these are very important. I hope you continue doing these kind of videos.
Hi, thank you for the tutorials! When simulating this case that I downloaded from the Comflics repository I came across a small error when running the pisoFoam command. I found that the error came down to the the ddtSchemes in the fvSchemes file on line 21 where "CrankNicolson" was perhaps incorrectly given as "CrankNicholson". Changing this made it work :) Thanks once again. I have just started using OF and these tutorials have been a great help!
Interesting observartion Mitchell. CrankNicolson is the right way to spell it. But looks like in older versions of OF (1.7.x - 2.1.x) they made a typo and only CrankNicholson will work. The documentation still has the wrong spelling, www.openfoam.org/docs/user/fvSchemes.php. Thanks, I added a comment in fvSchemes for latest version users.
Very nice video! Thank you all! Waiting for #5!
Still waiting, huh?
Hi, can you share your Literature reference, for the drag coefficient and the Strouhal number?. thanks great video, y reproduce it with another mesh
Hello,
Why lRef=1 while cylinder diameter is D=2? Is lRef = diameter of the cylinder?
Hello, thanks for the tutorial ;) very nice
Shouldnt the boundary conditions on top and botton surfaces be set to farField? or Freestream in OpenFOAM, for this type of simulation i mean.
Hi. When I run pisoFoam with OpenFoam 3.0.1, It reminds me "keyword div((nuEff*dev2(T(grad(U))))) is undefined in dictionary". How can I do to resolve this problem?
Hi, I saw the same problem too.
What I did: I accessed the file in the system folder named fvSchemes
On the "divSchemes" section, I added on the following line after the others:
div((nuEff*dev2(T(grad(U))))) Gauss linear;
And it stopped complaining and ran.
I guess that the openFoam v 3.0 is different somehow from the files on the blog.
Many thanks for this wonderful tutorial. It truly made me discover meshing in OpenFOAM by rebuilding a similar case. Just curious, when you mention Re=100, I suppose the medium is water. (not sure yet where I would change the viscosity to turn it into air). I run OpenFOAM 2.1.1 on a virtual box on my Fedora Linux computer. It runs just great and I look forward to your future tutorials.
Thanks for this tutorial, it really improved my openfoam experience as a newbie. Do you think about posting more videos?
Thanks guys!
thank you for this tutorial
I think the 1st 3 videos were more instructive, not saying that this video was not useful, no it is very useful, but I think specially the mesh part needs more explanation
Thank you very much!
Lots of thanks for that wonderful tutorial.
could you please upload files for plotting graphs
here we go: github.com/Comflics/Exploring-OpenFOAM/blob/master/laminarVortexShedding/strouhal.py
The case gives many errors for OpenFOAM version 4, fist issue was for the fvSchemes , For divSchemes I had to modify to div((nuEff*dev2(T(grad(U))))) Gauss linear; (The 2 in dev2 was not there)
Lots of thanks for that wonderful tutorial. I'm very curious to watch #5. Could you provide me the link of the case please.
Unfortunately there is no #5 yet. We will make more tutorials only in late 2017.
The case link please.
Please follow the blog link in the description.
github.com/Comflics/Exploring-OpenFOAM/tree/master/laminarVortexShedding
Hi, can I noe how do you get the amplitude result from openfoam. Thank you very much!!
After this great example I modified the cylinder into a cube, found badly more drag and needed a smaller integration step, but it worked fine eventually. I suppose that's how you get to know it better. Getting a little more adventurous, I also tried to add a SECOND cylinder in the wake of the first one, but in spite of careful righthand rule checking wether all faces were pointing in the right direction, all my attempts failed miserably until now (FACE 1 of PATCH 5 has no neighbour or something like that, whenever I introduce a second cylinder in the mesh). So now I'm REALLY curious how you add a second object in the same domain without all the blockMesh FATAL ERROR's. Maybe SnappyHexMesh is easier to handle ?
Any recommendations ?
Best Regards,
Tom.
Can you guys provide a link to the data/research paper to know the literature values of clrms, cd and strouhal's number, for various Reynolds numbers?
Which is the relation between Strouhal number and the timestep incorporated into the Courant number?
Why do you use pisoFoam rather than icoFoam? Do you have to put in an initial fluctuation to excite the instability?
Can you guys make a video on how to plot the above case. Thank you!
I am also interested in the procedure. Did you get it?
hi sir i would ask you if i can change this cercle into wing profile in blocmeshdict
pleesae reply sir
How do you calculate the dominant frequency if the Cl signal is available with variable time-steps? Would prefer a Python implementation.
thank you for this tutorial
what is the next tutorial ?
We are thinking about some introduction to turbulence models in OF and perhaps a tutorial on FSI. We will work on this only during the Christmas break.
When I run this set up in 2D for Re = 100 (L = 0.07 (therefore A =0.07*1), U = 0.021 and nu = 1.48e-05) - the drag coefficient seems to converge in the region of 6e-03. Can anyone suggest where I might be going wrong? My understanding is that since the variables are set up for the Reynolds number to ultimately = 100, the drag coefficient should still be around 1.3?
Cheers
Thanks for this tutorial. can anyone tell me if I can use icoFoam or pimpleFoam (turbulence off) instead of pisoFoam to run this case(Re=100)?
Hello, what's the name of the text editor you use to edit the respective files? Great tutorial!
That's Kate, it's part of KDE
Thanks for the tutorial! The link to comflics.de isn't working. Can you please give a current link to your site?
sir, can we do the same for square cylinder?
I have downloaded the same file from github and when I am running it forcecoeffs are different from what are given in file please help.
thank you so much!
Hello Sir,
Thank you for this wonderful tutorial. I have used a few software packages and none gives the correct value of St Number. Then I came across your tutorial on openFoam and this gives correct value of St Number. I copied your code and tried compiling it on my machine but it gives error "cannot find patchField entry for outlet" after pisoFoam command is given. I have openFOAM 2.3.0 installed. Could you please tell if this is a compatibility issue?
Thanks a lot! I am looking forward to your reply.
Hi Atif, there's nothing in the case files that need to be compiled. Do the 'blockMesh' before 'pisoFoam' command. We have tested this in OF 2.x, which version of OF do you have?
comflics Hi, thanks for your reply. By compiling I meant giving the commands blockMesh>checkMesh>pisoFoam. After checkMesh I get "Mesh OK". But when I give pisoFoam command I get the error "cannot find patchField entry for outlet". I have openFOAM 2.3.0 installed on my machine. Could you please guide me on how to install openFOAM 2.x ?
atif4461 Hi again, this error occurs only when a boundary patch defined in blockMeshDict does not match the boundaryField in the 0/ directory for U,p etc. I double checked it now, and I don't see any problem. Could you generate & send me a log file, by typing 'pisoFoam > log.pisoFoam'. You can use pastebin(dot)com. Did you clone from gitHub?
By OF 2.x, I meant 'version two point something'. I have tested it with OF 2.1.0 and Foam-extend-3.1.
-S.H.
comflics Hi, the issue has been resolved. The same code ran successfully on a different machine. Thanks a lot for the tutorial and your replies.
Good to know it works for you now. Could you tell me which version of OF is installed in the machine you are using now?
Hi! How can I run the script in OpenFoam?
Thank for your such educative and fruitful videos. Looking forward to hearing for your contact info to get in touch with you.
Can you give one tutorial video how can we plot above cases?
If you follow the github link in the description, you can find the python script to make the plots
what is the diameter of the cylinder that you have taken?
hello ..great tutorial! Subscribed! ..but when i try to run this code at higher reynolds number of 70,000 it blows up and crashes..due to courant number issues..how do i resolve this..please reply..I would greatly benefit from your inputs..
In this case, laminar flow persists only upto about Re 150. If you want to simulate turbulent flow around a cylinder then you should adapt the grid to suit your turbulence model and pick smaller dt and choose appropriate numerical schemes
so if i want to simulate at 20 m/s what should I do...pimpleFoam? because if i try it with this code CFL becomes unstable
It is not as simple as changing the solver. Our set-up is for laminar flow. If you wan to simulate transient turbulent flow, you should configure turbulence model (RANS). There are several easy to read articles on this topic. Understand the physics of the flow before trying to simulate it.
can u help us how to plot the graph?
This is odd but How did you guys manage to have Re = 100 with U = 1, L = 1 , nu = 2e-02 and rho = 1.225 I thought that gave Re = 50. Perhaps I am making a sill mistake but please let me know.
+Lionel Riz L = 2, because the radius is 1. That makes the Reynolds number two times bigger than in your calculation, so you will get Re = 100
+Douwe Pollmann Okay if that's the case that makes sense. When I downloaded the files it shows L = 1 in ControlDict. That's why the confusion. Thanks for the comment
Me too. lRef = 1 in controldict.. i guess this value is related to the moment, as the extrusion is 1 meter lRef is one.. right?
Hi, i know it's an old video but i'm trying to run the code. When using pisoFoam (OF 2.3.1) it gives me error:
keyword div((nuEff*dev2(T(grad(U))))) is undefined in dictionary "/home/fabio/OpenFOAM/fabio-2.3.1/run/laminarVortexShedding/system/fvSchemes.divSchemes"
Can someone help me?
Hi, I would expect that error only in OF-3.0 or later. It should work in OF-2.3.1 without any trouble. Are you sure that you are using OF-2.3.1? Can you check with this command in the terminal:
which pisoFoam
Cheers, Sadiq
yes i'm shure. i solved adding 2 after "dev" as pisoFoam expected
I'm glad you solved it and that is the correct fix.
Nevertheless, I'm pretty sure this error won't appear in OF-2.3.1 :)
The dev2 is needed only since OF-3.0
github.com/OpenFOAM/OpenFOAM-2.3.x/blob/master/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
github.com/OpenFOAM/OpenFOAM-3.0.x/blob/master/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
Thank you!
I'm sorry but i have to ask you another hint. I'm analizyng with Fuorier the lift coefficent, do you rember which time window you used to analyze? I've done the Fourier from time 200 to time 350 resulting in 3 different peaks
I still have the issue of "Could not find rho" Although I tried to look it up, but still there is no solution.
Ok problem is solved, I just needed to change the variable UName,PName, rhoName to U,P,rho for OpenFOAM 4.0
please share link to your blog
Manitosh singh the link is available in the description.
decomposePar is set for 8 threads but simple method multiplies to 20.
numberOfSubdomains 8;
method simple;
simpleCoeffs
{
n (5 4 1 ); // 5x4= 20???
delta 0.001;
}
You are right, will fix it.