Thank you, Jozsef, for taking the time to create this tutorial. I have also been able to implement the decomposePar and reconstructPar from the multiphase/dambreak example and, for those who are interested, my HP DL380 G6 (6x 4GB 1333ram, 2x X5650, 4x SAS146GB) completes the solution in 1639s on single core and 440s on 10x cores (with decomposition set as simple). This machine cost me £200 from eBay inc VAT and delivery.
Thank you for great tutorial series Mr. Nagy. For anyone which uses new version of OpenFoam (v. 7), sonicFoam is moved into different folder. Here, OpenFoam message is: "The sonicFoam functionality has been merged into the transonic option of the latest rhoPimpleFoam solver and the sonicFoam tutorials moved into the rhoPimpleFoam tutorials directory."
so if I find a potato that is fairly symmetric and a bit on the longer side, cored it, and added a small engine and some fins could I make it reach about 1000 feet?
hi, Thanks for these very useful series of tutorials. I would have a question. In gedit what kind of colour scheme do you use? Because I downloaded gedit on windows but I can't find the same scheme you are using, with blue colour after // or purple colour inside brachets. Thank you very much
hai, i am started to learn the openFOAM, I am following your videos and getting error while giving blockMesh command (Symbol Lockup error : libdecompositionmethods.so : undefined symbol :ZNK4Foam11regI0ObjectENS_.......like this). please solve my problem
Excellent Tutorial! I tried to understand the this part on OpenFoam documentation, but it was impossible! Here it is much better explained! I have only one issue with this tutorial and is not on mesh part. When I typed the sonicFoam command, the openFoam returned that sonicFoam was not found. Them, Ubuntu sugested to install OpenFoam by sudo apt install openfoam. I tried that and it didn't solve my issue. I also searched on google for this issue and didn't find any solution. By the way, I am using: - Ubuntu18.04; - OpenFoam8
@@ramgupta7697 I sent a question to CFD-online and they answered, but I didn't managed to make it work yet www.cfd-online.com/Forums/openfoam-solving/230329-sonicfoam-not-found.html#post783158
Hi József, I use OpenFoam2216; I tried to follow your instructions, obviously, there can be some modification in the process, so I cannot get the result files after running BlockMesh. The conclusion message after declaring the blocks are that there are no merge patch pairs, so no boundary or other files were created. Anyway, the OpenFoam close its run with the next message: --> FOAM FATAL ERROR: (openfoam-2206) The parent directory does not allow write permission to the process, or one of the directories in "/usr/lib/openfoam/openfoam2206/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh" did not allow search (execute) permission. What can I do? Have you any idea?
Really nice videos. The 1st Part 1 video was available in higher quality. The rest are too low quality and is difficult to see. Not sure if its just on my side... This is just if you thought of creating videos in future or so, then please upload the nice quality ones :) Thanks again!
Great video! BTW what software did you use to record the video and draw the geometry at the same time (when you are explaining how to define the blockMeshDict in details)? It is really cool.
Hi József, Another question: Lets assume I am trying to solve something similar to the current tutorial. The velocity at the inlet is uniform at a specified value as you have already, but the velocity at the outlet is to be calculated rather than specified. As for the pressure, it should be calculated at the inlet and specified at the outlet. Do you know the appropriate BC I need to specify for such a case? It seems like pressureInletVelocity is what I want but does this also apply to the outlet? Again thanks!
Oscar Wilsby pressureInletVelocity is the BC if you want to specify the pressure in both the inlet and the outlet and calculate the velocity. Well in this tutorial I use zeroGradient for the velocity on the outlet, which just maps more or less the velocity in the last cell centers onto the patch. You can try it like that or maybe inletOutlet to avoid a backflow. Is this the kind of 'calculate', you are looking for?
Hello Jozsef, I have to simulate a pipe full of Marbles in it. I created the geometry in Freecad and exported as STL file. I have to run a laminar 2D compressible interFoam. When I create my blocks, what would be the surface of the marbles? Can they be specified as wall? Moreover, what tutorial do you recommend for a 2D laminar compressible interfoam? Thank you in advance!
Hi jozsef, Thanks a lot for uploading these amazing videos...I am trying to study flow past a cylinder kept between two infinitely large plates. I did the meshing part using blockMesh. But i can't proceed further. Can you suggest the steps to proceed further and to create a proper case file?
Great tutorial, but I got an issue: after following the tutorial, I was playing around for a bit, as I usually do to try stuff myself and see if I understood everything. Whenever I tried to start the simulation using sonicFoam on a non-uniform mesh, it chrashed after a few iterations. Why is that? Does this specific solver only work on a uniform mesh?
I got some idea as to how we define the direction of the patch numbering based on the orientation of the surface normal vector. But let's consider the outlet patch with orientation 4 7 15 12. Is it acceptable to consider starting from other numbers (while maintaining direction) say 7 15 12 4 ?
Hi József, thanks a lot for the video. I have one question, why do you take now the units for the pressure like pascals, but in the previous tutorial (icoFoam) you had the units of pressure divided by density?, is this because we are dealing with compressible flow, right?
+alesabden Exactly. In compressible solvers you have the pressure in Pa, in incompressible solvers you divide by the density and use the kinematic pressure = pressure/density.
+József Nagy Thank you very much. I would like to ask you another question, József. I am trying to simulate a inviscid flow through a convergent-divergent nozzle, and I think that this solver (sonicFoam) is a good option for the case. So, I've just created the mesh, and I am putting the boundary conditions but I don't understand very well how the "waveTransmissive" boundary condition works here. Could you please explain me about that?, I will appreciate it so much, thank you again
Hi everyone, I can not run blockMesh command. it said cnf blockMesh. Also, I have no polymesh folder in constant. Is it my problem about cnf error? Plz help me
I am just making sure. I am somehow getting the mesh file interpreted to 1- blockMeshDict [constant folder] 2- run blockMesh command 3- boundary is created and other files [constant folder] 4- Paraview reads controlDict [system folder] Q. confused here. Paraview works with controlDict [system folder]? or blockMeshDict [constant folder]? or even with the empty file I created blabblab.foam? 5- I run with sonicFoam 6- reread the Paraview file again
The tutorial is a bit old. Check e.g. my multiphase simulation project it is more recent and uses a more recent approach. Or even my newest overset mesh tutorial.
Tank you Jozsef for this amazing video series, i have a question for you and for all the Community; What are the diferences between types of boudarys?, like what is the differents between patch, wall, and symmetryPlane? and the second question is how y relate the the type of boudray to a specifique geometry; for exemple, why we are giving inlet a patch type and wall for obstacls ? i hope that i clarified my question, and thank you again for all your efforts its really means alot for us.
I would adivse you to read up on CFD as these are general questions. wall is if you want to use wall functions, patches are in and outlets. symmetryPlane is if you want to use a symmetry condition.
@@OpenFOAMJozsefNagy Jozef, thank you for the tutorial. I have a question, we used symmetry plane condition but at the end on Paraview the simulation was carried out without "doubling" in simmetric way the doman. So why did we put Symmetry Plane and not just Wall conditions on those boundaries?
Hello, thank you for your tutorials. I have a question. I begin with OpenFOAM and I work with OpenFOAM-v1912 and for this exemple of forwardStep, in polyMesh, I didn't have blockMeshDict, even after the mesh generation with blockMesh. How can I continue ? Thank you in advance for your answer.
hi, thanks for your videos. I tried running this tutorial on openFoam v7. Can you please share the command to be typed to solve the tutorial. In the latest openfoam, forward step tutorial has been moved to a rhoPimpleFoam solver. So i m having trouble running it.
Here the most important thing is the mesh part with blockMesh. The simulation is of lower priority. v7 is unfortunately not compatible. In v1912 from openfoam.com the solver is still available. You can try that version of OpenFOAM.
at 14:30 we say : ... outlet ( type patch faces ( (4 7 15 12) )... what if happens we put (12 4 7 15) ? because I always mix up with the starting point. for exaple i made same path but my starting point was like this (12 4 7 15).
while giving command for run simulation as sonicFoam i am gettting this type of error sonicFoam: symbol lookup error: /lib/libsolidSpecie.so: undefined symbol: _ZN4Foam8fileName20allowSpaceInFileNameE
Hi jozsef, I wanted to display this mesh output in scilab. Do you have nay idea how I can convert these mesh files so that they can be rendered in scilab simulation? Thanks
Hello Jozsef, first of all, thanks a ton for such elaborate & simply amazing tutorials! I had a doubt. At 28:22, I'm applying grading only to the first block- applying 0.5 in X direction only in 1st line. It gives me "FORM FATAL error. This maybe due to inconsistent grading). I don't understand this why is it not considering only 1 body?
@@OpenFOAMJozsefNagy Hello, thanks for the reply. But the right side of block 0 & right side of block 1 are already different faces/edges if I am not wrong?
hello sir , when i run simulation by typinG sonicfoam it displays error displayinG fatal error:keyword nMoles is undefined and thus paraview doesn't display solution
@Jozsef Nagy I have a question related to how to mesh a 3D cylinder(straight vertical pipe mad by a cad e.g Salome and exported as a triangulated surface stl file ) which is contain inlet and outlet and the wall of the cylinder with blockMesh . I have really searched to find a tutorial to explain this but i did not find it, I hope you can introduce me to such a technique . thank you very much for such great tutorial, Regards,
Hello Jozsef, many thabks for your time, for these tutorials, I have a question, in the termianl I have these error Maximun number of iterations exceeded, what can I do_
+juan carlos bernal lamo Well it's difficult to guess, but I think that your simulation crashes for whatever reason. Did you use the same settings, I did?
block 1- grid size in x-direction is matched with the (block 2-grid size in x-direction) , b'coz block 1 and 2 are connected.....similalry block-2 -grid size in y-direction is matched with the(block-3 grid size in y-direction), b'coz block 2 and 3 are connected......like 25,25 and 40,40...... can we run on different grid size in same direction for connected blocks???
Hello Mr. Joseph, thank you very much for your well explained videos, I am new in OpenFoam, I am trying to simulate a porous disc (that represents tidal stream turbine) in a block channel (that represents the sea), can you give me your suggestions about which solver i should use and which mesher (blockmesh or snappyHexMesh?)
Also got follow error for refined mesh PIMPLE: Iteration 1 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for Ux, Initial residual = 0.117084, Final residual = 3.8236e-06, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.0724861, Final residual = 4.11106e-13, No Iterations 2 smoothSolver: Solving for e, Initial residual = 0.207454, Final residual = 5.60509e-07, No Iterations 2 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field&, Foam::lduMatrix const&, Foam::Field const&, Foam::FieldField const&, Foam::UPtrList const&, unsigned char, int) at ??:? #4 Foam::symGaussSeidelSmoother::smooth(Foam::Field&, Foam::Field const&, unsigned char, int) const at ??:? #5 Foam::smoothSolver::solve(Foam::Field&, Foam::Field const&, unsigned char) const at ??:? #6 Foam::fvMatrix::solveSegregated(Foam::dictionary const&) at ??:? #7 Foam::fvMatrix::solve(Foam::dictionary const&) at ??:? #8 Foam::fvMatrix::solve() at ??:? #9 ? at ??:? #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 ? at ??:? Floating point exception (core dumped) What to do
Thank you sir for your valuable noble work and it was a great help for me. Sir, could you also upload the link for the ppt you use to teach the tutorial? It will be helpful while practicing from the printout of the ppt rather than navigating again and again through the video?
hi, thank you for the amazing video. if we find the correct orientation is the order of points important? I can find out the orientation with the right-hand rule but I can figure out which point is the starting point of this block. can you please help me with that?
I doing this tutorial When sonicFoam command is given, i get following message The sonicFoam functionality has been merged into the transonic option of the latest rhoPimpleFoam solver and the sonicFoam tutorials moved into the rhoPimpleFoam tutorials directory. To run rhoPimpleFoam in transonic mode set the transonic option in the PIMPLE sub-dictionary of fvSolution: PIMPLE { . . . transonic yes; } kindly guide me in this
Hello József, thank you for the videos, they are very helpful. I encountered a problem that I was hoping maybe you could help me with. I installed the new version of OpenFOAM and I downloaded the tutorial files missing in the new version but still I get the error that polyMesh can not be written. I installed OpenFOAM6 in the root folder on Ubuntu 18.04. Could you tell me where I am wrong? thanks in advance! :) Not deleting polyMesh directory "/opt/openfoam6/tutorials/compressible/sonicFoam/laminar/forwardStep_1/constant/polyMesh" because it contains blockMeshDict Creating block mesh from "/opt/openfoam6/tutorials/compressible/sonicFoam/laminar/forwardStep_1/constant/polyMesh/blockMeshDict" Creating block edges No non-planar block faces defined Creating topology blocks Creating topology patches Creating block mesh topology --> FOAM Warning : From function Foam::polyMesh::polyMesh(const Foam::IOobject&, const Foam::Xfer<Foam::Field<Foam::Vector<double> > >&, const cellShapeList&, const faceListList&, const wordList&, const Foam::PtrList<Foam::dictionary>&, const Foam::word&, const Foam::word&, bool) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 871 Found 6 undefined faces in mesh; adding to default patch. Check topology Basic statistics Number of internal faces : 2 Number of boundary faces : 14 Number of defined boundary faces : 14 Number of undefined boundary faces : 0 Checking patch -> block consistency Creating block offsets Creating merge list . Creating polyMesh from blockMesh Creating patches Creating cells Creating points with scale 1 Block 0 cell size : i : 0.024 .. 0.024 j : 0.02 .. 0.02 k : 0.1 .. 0.1 Block 1 cell size : i : 0.024 .. 0.024 j : 0.02 .. 0.02 k : 0.1 .. 0.1 Block 2 cell size : i : 0.024 .. 0.024 j : 0.02 .. 0.02 k : 0.1 .. 0.1 Writing polyMesh --> FOAM FATAL ERROR: Failed writing polyMesh. From function int main(int, char**) in file blockMesh.C at line 408.
Yes, this is, why I don'T like to install OpenFOAM into /opt. There you don't have write privileges, so you have to copy the tutorials into your home and run them there. Copy the individual directories or the entire tutorials directory.
@@OpenFOAMJozsefNagy after typing sonicFoam and entering The simulation runs fine for few steps then stops shows Fatal error negative initial temperature = -0.809...
Hi, I am a beginner in cfd, I would really like to learn it. I did mechanical engineering, and I don't know anything about coding...I have no clue where should I start...could anyone please point out the right direction to learn openfoam..thanks
Hello, I'm Aldi, I'm very gratefull with your Tutorial. I'm newbie in OpenFoam, I concern to simulate the Flow Analysis around the Propeller. and I need some tutorial or steps how to create the boundary condition for Propeller Case. May you can help me or give some Tutorial? Thanks so much for your time.
+József Nagy Thanks for the answer, Finally I got the meshing, but i'm still confuse, in my case, propeller is rotating, and how to input the speed, for example my propeller rpm is 300rpm, and i want to know the maximum of Thrust for the propeller and how to solve that problem? Thanks so much for your help.
In constant/dynamicMeshDict you can set omega in rad/s. Just convert rpm for your case in rad/s. You can use function objects to calculate the forces and momenta onto certain faces.
+József Nagy yes,. i have tried, but still problems here is the comment: aldias@aldias-desktop:~/1/propeller$ paraFoam Created temporary 'propeller.OpenFOAM' --> FOAM FATAL IO ERROR: Cannot find patchField entry for walls file: /home/aldias/1/propeller/0/U.boundaryField from line 11 to line 49. From function GeometricField::GeometricBoundaryField::readField(const DimensionedField&, const dictionary&) in file /home/openfoam/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 209. FOAM exiting and i don't know the exactly error... Nedd your help,. Thanks so much.
polyRemoveCell is not an executable utility, it is a header file, where a couple of functions are defined for dynamic meshing. OpenFOAM does this automatically in the solvers, where dynamic remeshing is included.
Sir I am modellinG ice subjected to heat flux and I want to remove those on surface cells whose temp falls below 0 degGree and shift the boundary so that shape of surface contour can be seen Please Guide me some way to remove those cell accordinG to my condition
That is some heavy duty programming, what you need, so start familiarizing yourself with C++ and the OpenFOAm Source Code. There are some programming tutorials on wiki.openfoam.com/Tutorials those might help you getting into the source code, but I do not know any material, which focuses on this.
Dear all OpenFoam community, I do not know why in my constant folder, there is no polymesh folder. If you have experience for it, please let me know. Thank you a lot
******@*******:~$ simpleFoam -help --> FOAM FATAL ERROR : Could not find mandatory etc entry (mode=ugo) 'controlDict' this is what I get when I type simpleFoam -help also, I have installed openfoam from ubuntu repositories & not from openfoam repositories please help
@@OpenFOAMJozsefNagy ur one of the video helped all set now thank u:) which one should we use for post-processing blender or paraview? or r they for specific purposes
Thank you so much for the tutorials, they are great! I am using OpenFoam10 and when I try to run forwardStep from rhoPimpleFoam/laminar with rhoPimpleFoam it gives: Courant Number mean: 0.251275 max: 1.17915 Time = 0.016s PIMPLE: Iteration 1 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for Ux, Initial residual = 0.0764808, Final residual = 1.29e-06, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.064002, Final residual = 7.94223e-06, No Iterations 1 smoothSolver: Solving for e, Initial residual = 0.26368, Final residual = 4.9006e-06, No Iterations 3 smoothSolver: Solving for p, Initial residual = 0.0715941, Final residual = 6.77228e-08, No Iterations 2 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.94255e-09, global = 1.06042e-09, cumulative = 6.6211e-09 PIMPLE: Iteration 2 smoothSolver: Solving for Ux, Initial residual = 0.00795199, Final residual = 9.99449e-11, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.021992, Final residual = 1.56364e-09, No Iterations 1 smoothSolver: Solving for e, Initial residual = 0.285134, Final residual = 2.3536e-08, No Iterations 2 --> FOAM FATAL ERROR: Negative initial temperature T0: -3.09503 I found the same problem here www.cfd-online.com/Forums/openfoam-solving/242656-forwardstep-tutorial-case-failure-openfoam-dev-using-rhopimplefoam.html unfortunately it is still unanswered
Thank you for the quick reply. The oscillations appear very quickly in front of the obstacle when rhoPimpleFoam is run even with a smaller deltaT. But it turned out that roCentralFoam (with appropriate fvSchemes and fvSolution) handles well both cases from rhoCentralFoam/forwardStep and rhoPimpleFoam/laminar/forwardStep tutorials.
Thank you, Jozsef, for taking the time to create this tutorial. I have also been able to implement the decomposePar and reconstructPar from the multiphase/dambreak example and, for those who are interested, my HP DL380 G6 (6x 4GB 1333ram, 2x X5650, 4x SAS146GB) completes the solution in 1639s on single core and 440s on 10x cores (with decomposition set as simple). This machine cost me £200 from eBay inc VAT and delivery.
Thank you for your input!
Thank you for great tutorial series Mr. Nagy. For anyone which uses new version of OpenFoam (v. 7), sonicFoam is moved into different folder. Here, OpenFoam message is: "The sonicFoam functionality has been merged into the transonic option of the latest rhoPimpleFoam solver and the sonicFoam tutorials moved into the rhoPimpleFoam tutorials directory."
Thank you for the input!
forwardStep tutorial is in rhoCentralFoam though
There is another forwardStep tutorial under rhoPimpleFoam/laminar. That one more closely matches this video
Best of youtube, i'm so grateful. THANK YOU!!!
I am glad!
Thanks a lot! I am studying all your tutorials! They are so useful!
you the man
Thank you very much! Especially for the possibility to download the files for OpenFOAM v7. Is is still a very nice Tutorial.
Thank you so much for your efforts!!
Loved it!
That is a wonderful tutorial. Thank you Jozsef Nagy!
The best material friend.
My friend you are amazing, keep up the good work!
Excellent tutorial.I think you have the best video series on openfoam. Please make videos on snappyhexmesh
I am glad.
Thanks from Brazil! Very helpful videos
Stefano, I use the standard color scheme. I think you can set it manually to c++ in the highlight mode option.
You're the best!
Thank you
Thanks a lot! very useful!
Amazing tutorial. Thank you teacher!
Thanks a lot for sharing this :)
Any chance for a future video on Adaptive Mesh Refinement? Just so we can get the most out of our computers at places where it matters ...
Thanks!
Might be an idea.
Many thanks! These tutorials are really helpful!
Supertop your tutorials! Thank you very much!
so if I find a potato that is fairly symmetric and a bit on the longer side, cored it, and added a small engine and some fins could I make it reach about 1000 feet?
Great job! Thanks a lot for sharing!!!
hi, Dr. Jozsef, how to solve the negative initial temperature error after refining the grid? thanks.
hello Josef, there is no sonicFoam folder in compressible folder. can u clear this issue?
Don't use the openfoam.org version, the syntax changes are too large. Use openfoam.com.
hi, Thanks for these very useful series of tutorials. I would have a question. In gedit what kind of colour scheme do you use? Because I downloaded gedit on windows but I can't find the same scheme you are using, with blue colour after // or purple colour inside brachets.
Thank you very much
hai,
i am started to learn the openFOAM, I am following your videos and getting error while giving blockMesh command (Symbol Lockup error : libdecompositionmethods.so : undefined symbol :ZNK4Foam11regI0ObjectENS_.......like this). please solve my problem
You are the boss sir.
Sonicfoam folder is not available in Openvfoam9
Hai, how to create coordinate like angle geometry like trapezoid with mesh method in openfoam
Hi, I have a problem. I dont have a blockMeshDict file inside my tutorials. Where can I find this?
Maybe in system folder
These are very good vedios
Excellent Tutorial! I tried to understand the this part on OpenFoam documentation, but it was impossible! Here it is much better explained! I have only one issue with this tutorial and is not on mesh part.
When I typed the sonicFoam command, the openFoam returned that sonicFoam was not found.
Them, Ubuntu sugested to install OpenFoam by sudo apt install openfoam. I
tried that and it didn't solve my issue. I also searched on google for this issue and didn't find any solution.
By the way, I am using:
- Ubuntu18.04;
- OpenFoam8
Same problem, have you found the solution?
@@ramgupta7697 I sent a question to CFD-online and they answered, but I didn't managed to make it work yet
www.cfd-online.com/Forums/openfoam-solving/230329-sonicfoam-not-found.html#post783158
If you manage to make it works, publish it here.
@@alcarnielo sure, I will and Thanks for the reply
@@ramgupta7697 The .org version dicontinued this solver. Try v2006
Hi József, I use OpenFoam2216; I tried to follow your instructions, obviously, there can be some modification in the process, so I cannot get the result files after running BlockMesh. The conclusion message after declaring the blocks are that there are no merge patch pairs, so no boundary or other files were created. Anyway, the OpenFoam close its run with the next message:
--> FOAM FATAL ERROR: (openfoam-2206)
The parent directory does not allow write permission to the process,
or one of the directories in "/usr/lib/openfoam/openfoam2206/tutorials/compressible/sonicFoam/laminar/forwardStep/constant/polyMesh" did not allow search (execute) permission.
What can I do? Have you any idea?
Really nice videos. The 1st Part 1 video was available in higher quality. The rest are too low quality and is difficult to see. Not sure if its just on my side... This is just if you thought of creating videos in future or so, then please upload the nice quality ones :) Thanks again!
Thank you! All my videos are available in 1080p, the problem should be on your end.
Great, you helped me to fix a problem with my browser. It is working now! Much nicer to watch. Thanks again for sharing your knowledge!
Great! I am glad I could help.
Thank you for this video.
I run the paraview then the terminal write:
Mesa warning: Window 20971624 has no colormap!
what do i do?
Great video! BTW what software did you use to record the video and draw the geometry at the same time (when you are explaining how to define the blockMeshDict in details)? It is really cool.
If I remember correctly it was ipe.
Thanks
There are some Primitives in here that are clapping for you! Hope you can hear! Foam bless you! Thanks!
Hi József,
Another question: Lets assume I am trying to solve something similar to the current tutorial. The velocity at the inlet is uniform at a specified value as you have already, but the velocity at the outlet is to be calculated rather than specified. As for the pressure, it should be calculated at the inlet and specified at the outlet. Do you know the appropriate BC I need to specify for such a case? It seems like pressureInletVelocity is what I want but does this also apply to the outlet?
Again thanks!
Oscar Wilsby pressureInletVelocity is the BC if you want to specify the pressure in both the inlet and the outlet and calculate the velocity. Well in this tutorial I use zeroGradient for the velocity on the outlet, which just maps more or less the velocity in the last cell centers onto the patch. You can try it like that or maybe inletOutlet to avoid a backflow. Is this the kind of 'calculate', you are looking for?
Hello Jozsef, I have to simulate a pipe full of Marbles in it. I created the geometry in Freecad and exported as STL file. I have to run a laminar 2D compressible interFoam. When I create my blocks, what would be the surface of the marbles? Can they be specified as wall? Moreover, what tutorial do you recommend for a 2D laminar compressible interfoam?
Thank you in advance!
Do it with snappy, not with blockMesh.
Dear Jozsef,
Thank you for your video about openfoam.
now i can running dambreak case with various settings, in file: blockMeshDict.
I am glad.
Hi jozsef,
Thanks a lot for uploading these amazing videos...I am trying to study flow past a cylinder kept between two infinitely large plates. I did the meshing part using blockMesh. But i can't proceed further. Can you suggest the steps to proceed further and to create a proper case file?
Well, check out my videos on turbulence modeling, there I explain this in detail. Start here: ruclips.net/video/IPExwi2Ar-g/видео.html
Great tutorial, but I got an issue: after following the tutorial, I was playing around for a bit, as I usually do to try stuff myself and see if I understood everything. Whenever I tried to start the simulation using sonicFoam on a non-uniform mesh, it chrashed after a few iterations. Why is that? Does this specific solver only work on a uniform mesh?
sonicFoam is a compressible solver, it is very sensitive for changes. Test pisoFoam or pimpleFoam, they are more stable.
I got some idea as to how we define the direction of the patch numbering based on the orientation of the surface normal vector. But let's consider the outlet patch with orientation 4 7 15 12. Is it acceptable to consider starting from other numbers (while maintaining direction) say 7 15 12 4 ?
Yes this should work also.
Hi József, thanks a lot for the video. I have one question, why do you take now the units for the pressure like pascals, but in the previous tutorial (icoFoam) you had the units of pressure divided by density?, is this because we are dealing with compressible flow, right?
+alesabden Exactly. In compressible solvers you have the pressure in Pa, in incompressible solvers you divide by the density and use the kinematic pressure = pressure/density.
+József Nagy Thank you very much.
I would like to ask you another question, József. I am trying to simulate a inviscid flow through a convergent-divergent nozzle, and I think that this solver (sonicFoam) is a good option for the case. So, I've just created the mesh, and I am putting the boundary conditions but I don't understand very well how the "waveTransmissive" boundary condition works here. Could you please explain me about that?, I will appreciate it so much, thank you again
I am not familiar with this boundary condition in detail, my suggestion is to check out the source code itself.
Ok, I am going to check it out. Thank you anyway
Hi everyone, I can not run blockMesh command. it said cnf blockMesh. Also, I have no polymesh folder in constant. Is it my problem about cnf error? Plz help me
I am just making sure.
I am somehow getting the mesh file interpreted to
1- blockMeshDict [constant folder]
2- run blockMesh command
3- boundary is created and other files [constant folder]
4- Paraview reads controlDict [system folder]
Q. confused here. Paraview works with controlDict [system folder]? or blockMeshDict [constant folder]? or even with the empty file I created blabblab.foam?
5- I run with sonicFoam
6- reread the Paraview file again
The tutorial is a bit old. Check e.g. my multiphase simulation project it is more recent and uses a more recent approach. Or even my newest overset mesh tutorial.
Tank you Jozsef for this amazing video series, i have a question for you and for all the Community; What are the diferences between types of boudarys?, like what is the differents between patch, wall, and symmetryPlane? and the second question is how y relate the the type of boudray to a specifique geometry; for exemple, why we are giving inlet a patch type and wall for obstacls ?
i hope that i clarified my question, and thank you again for all your efforts its really means alot for us.
I would adivse you to read up on CFD as these are general questions. wall is if you want to use wall functions, patches are in and outlets. symmetryPlane is if you want to use a symmetry condition.
@@OpenFOAMJozsefNagy Thank you so much Jozsef
@@OpenFOAMJozsefNagy Jozef, thank you for the tutorial. I have a question, we used symmetry plane condition but at the end on Paraview the simulation was carried out without "doubling" in simmetric way the doman. So why did we put Symmetry Plane and not just Wall conditions on those boundaries?
@@mattiagalanti1555 You can of course use the reflect filter to do so.
Hello, thank you for your tutorials. I have a question. I begin with OpenFOAM and I work with OpenFOAM-v1912 and for this exemple of forwardStep, in polyMesh, I didn't have blockMeshDict, even after the mesh generation with blockMesh. How can I continue ? Thank you in advance for your answer.
I have just had the same problem. There is on blockMesh dictionnary in the folder system
@@rafaelcarretero5104 than you very much
It was moved to system in later versions.
hi, thanks for your videos. I tried running this tutorial on openFoam v7. Can you please share the command to be typed to solve the tutorial. In the latest openfoam, forward step tutorial has been moved to a rhoPimpleFoam solver. So i m having trouble running it.
Here the most important thing is the mesh part with blockMesh. The simulation is of lower priority. v7 is unfortunately not compatible. In v1912 from openfoam.com the solver is still available. You can try that version of OpenFOAM.
@@OpenFOAMJozsefNagy Thanks alot for your immediate respose :)
at 14:30 we say :
...
outlet (
type patch
faces
(
(4 7 15 12)
)...
what if happens we put (12 4 7 15) ? because I always mix up with the starting point. for exaple i made same path but my starting point was like this (12 4 7 15).
I think the starting number should be not important so it should work.
Awesome..Thanks alot
You should try speaking a little bit faster, I found it better to watch your videos on 1.5x speed. But anyway, great video and thanks a lot!
As a foreigner, I think the speed is just OK.Maybe I should practice my English,hhhh.
while giving command for run simulation as sonicFoam i am gettting this type of error sonicFoam: symbol lookup error: /lib/libsolidSpecie.so: undefined symbol: _ZN4Foam8fileName20allowSpaceInFileNameE
Which OpenFOAM version is this. Do you have your own code involved?
Hello, I cannot find the sonicFoam folder. What should I do?
If you are using the .org version, it was cancelled. In the .com version it is still there.
Hi jozsef,
I wanted to display this mesh output in scilab. Do you have nay idea how I can convert these mesh files so that they can be rendered in scilab simulation? Thanks
No idea. Sorry.
Superb video!! I’d like to know how the mesh was chosen ? Why 25, 10 and 40?
Random choice of gut feeling.
@@OpenFOAMJozsefNagy Thank you for your quick answer!! I wanted to know if you had done a video about k-epsilon model for openfoam?
@@vprozze_9910 Check my advanced playlist.
Hello Jozsef, first of all, thanks a ton for such elaborate & simply amazing tutorials!
I had a doubt. At 28:22, I'm applying grading only to the first block- applying 0.5 in X direction only in 1st line. It gives me "FORM FATAL error. This maybe due to inconsistent grading).
I don't understand this why is it not considering only 1 body?
It has to match all neighboring blocks.
@@OpenFOAMJozsefNagy Hello, thanks for the reply. But the right side of block 0 & right side of block 1 are already different faces/edges if I am not wrong?
hello sir ,
when i run simulation by typinG sonicfoam it displays error displayinG fatal error:keyword nMoles is undefined
and thus paraview doesn't display solution
Yes, you forgot the entry nMoles in your thermophysicalProperties. Check out the syntax in the tutorials.
thnx sir
I am always glad to help.
hey, did you solved that problem? which is the tutorial that sir mentioned?
Sir,
how do we specify boundary condition for inlet of constant heat flux
?
I don't know it by heart, I would go through the BC-s in src/finiteVolume/fvPatchFields/derived.
Does anything changes from version to verion about blockMeshDict (espesially about the vertices) ?
Not to my knowledge. At least not in the last couple of versions.
Thanks a lot!
@Jozsef Nagy I have a question related to how to mesh a 3D cylinder(straight vertical pipe mad by a cad e.g Salome and exported as a triangulated surface stl file ) which is contain inlet and outlet and the wall of the cylinder with blockMesh . I have really searched to find a tutorial to explain this but i did not find it, I hope you can introduce me to such a technique .
thank you very much for such great tutorial,
Regards,
Did you see my tutorial on the multiphase simulation project?
Hello Jozsef, many thabks for your time, for these tutorials,
I have a question, in the termianl I have these error
Maximun number of iterations exceeded, what can I do_
+juan carlos bernal lamo Well it's difficult to guess, but I think that your simulation crashes for whatever reason. Did you use the same settings, I did?
block 1- grid size in x-direction is matched with the (block 2-grid size in x-direction) , b'coz block 1 and 2 are connected.....similalry block-2 -grid size in y-direction is matched with the(block-3 grid size in y-direction), b'coz block 2 and 3 are connected......like 25,25 and 40,40...... can we run on different grid size in same direction for connected blocks???
The numbers have to match. For complex geometries use snappyHexMesh or cfMEsh though.
Sir,
How to create cylindrical mesh usinG blockMesh
Hello Mr. Joseph, thank you very much for your well explained videos, I am new in OpenFoam, I am trying to simulate a porous disc (that represents tidal stream turbine) in a block channel (that represents the sea), can you give me your suggestions about which solver i should use and which mesher (blockmesh or snappyHexMesh?)
I will post a video on more tutorials (also on updates of my tutorials) in the next couple of weeks, please stay tuned!
Also got follow error for refined mesh
PIMPLE: Iteration 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.117084, Final residual = 3.8236e-06, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.0724861, Final residual = 4.11106e-13, No Iterations 2
smoothSolver: Solving for e, Initial residual = 0.207454, Final residual = 5.60509e-07, No Iterations 2
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field&, Foam::lduMatrix const&, Foam::Field const&, Foam::FieldField const&, Foam::UPtrList const&, unsigned char, int) at ??:?
#4 Foam::symGaussSeidelSmoother::smooth(Foam::Field&, Foam::Field const&, unsigned char, int) const at ??:?
#5 Foam::smoothSolver::solve(Foam::Field&, Foam::Field const&, unsigned char) const at ??:?
#6 Foam::fvMatrix::solveSegregated(Foam::dictionary const&) at ??:?
#7 Foam::fvMatrix::solve(Foam::dictionary const&) at ??:?
#8 Foam::fvMatrix::solve() at ??:?
#9 ? at ??:?
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11 ? at ??:?
Floating point exception (core dumped)
What to do
Sir,
Can u please help me with this error:
Inconsistent number of faces between block pair 0 and 4
Which solver do you use and what do you want to simulate?
laplacianFoam
Do you use blockMesh for your case? There might be an error in your blockMeshDict.
Yes sir it Got sorted out .
Thank You for your reply
I am glad.
Thank you sir for your valuable noble work and it was a great help for me. Sir, could you also upload the link for the ppt you use to teach the tutorial? It will be helpful while practicing from the printout of the ppt rather than navigating again and again through the video?
I might upload it in the future. Currently I do not host it.
Thank you sir...Perfectly fine...:)
It is very helpful for me. I wonder that is it possible to create C-grid meshing by using blockmesh. Thank you in advance.
You have to test it yourself.
hi, thank you for the amazing video. if we find the correct orientation is the order of points important? I can find out the orientation with the right-hand rule but I can figure out which point is the starting point of this block. can you please help me with that?
The starting point doesn't matter. The order following it does.
@@OpenFOAMJozsefNagy thank you for your response.
I doing this tutorial When sonicFoam command is given, i get following message
The sonicFoam functionality has been merged into the transonic option of the
latest rhoPimpleFoam solver and the sonicFoam tutorials moved into the
rhoPimpleFoam tutorials directory.
To run rhoPimpleFoam in transonic mode set the transonic option in the
PIMPLE sub-dictionary of fvSolution:
PIMPLE
{
.
.
.
transonic yes;
} kindly guide me in this
Yes, v7 doesn't support this solver anymore. You can use an older version or switch to v1912.
Could you introduce how to use blockMesh to generate the mesh for 3D cylinder case? Thanks a lot!
+Junyi Feng I would suggest to use snappyHexMesh or cfMesh for curved 3D geometries.
hello professor, the zeroGradient boundary condition, you called it phonaimen?
phonaimen?
yes at 21:49 , I don't know that word, "on the obstacle the pressure has a ' ' boundary condition", I can look into that if I know how to spell
I see, I mean "von Neumann" boundary condition.
thank you ~
Can I ask what's the difference between patch and wall? By the way, your videos are helpful for us!
For simple solvers there is no difference. Certain models make a difference. E.g. turbulent wall functions can only be applied to walls.
@@OpenFOAMJozsefNagy Thanks! Your reply is so quick!
@@chensongtao9244 Unfortunately not always, but I give my best. I am glad to help.
y do we need symmetryplane condition ?
For the tutorial's sake. You can use something else of course.
Hello József, thank you for the videos, they are very helpful. I encountered a problem that I was hoping maybe you could help me with. I installed the new version of OpenFOAM and I downloaded the tutorial files missing in the new version but still I get the error that polyMesh can not be written. I installed OpenFOAM6 in the root folder on Ubuntu 18.04. Could you tell me where I am wrong? thanks in advance! :)
Not deleting polyMesh directory
"/opt/openfoam6/tutorials/compressible/sonicFoam/laminar/forwardStep_1/constant/polyMesh"
because it contains blockMeshDict
Creating block mesh from
"/opt/openfoam6/tutorials/compressible/sonicFoam/laminar/forwardStep_1/constant/polyMesh/blockMeshDict"
Creating block edges
No non-planar block faces defined
Creating topology blocks
Creating topology patches
Creating block mesh topology
--> FOAM Warning :
From function Foam::polyMesh::polyMesh(const Foam::IOobject&, const Foam::Xfer<Foam::Field<Foam::Vector<double> > >&, const cellShapeList&, const faceListList&, const wordList&, const Foam::PtrList<Foam::dictionary>&, const Foam::word&, const Foam::word&, bool)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 871
Found 6 undefined faces in mesh; adding to default patch.
Check topology
Basic statistics
Number of internal faces : 2
Number of boundary faces : 14
Number of defined boundary faces : 14
Number of undefined boundary faces : 0
Checking patch -> block consistency
Creating block offsets
Creating merge list .
Creating polyMesh from blockMesh
Creating patches
Creating cells
Creating points with scale 1
Block 0 cell size :
i : 0.024 .. 0.024
j : 0.02 .. 0.02
k : 0.1 .. 0.1
Block 1 cell size :
i : 0.024 .. 0.024
j : 0.02 .. 0.02
k : 0.1 .. 0.1
Block 2 cell size :
i : 0.024 .. 0.024
j : 0.02 .. 0.02
k : 0.1 .. 0.1
Writing polyMesh
--> FOAM FATAL ERROR:
Failed writing polyMesh.
From function int main(int, char**)
in file blockMesh.C at line 408.
Yes, this is, why I don'T like to install OpenFOAM into /opt. There you don't have write privileges, so you have to copy the tutorials into your home and run them there. Copy the individual directories or the entire tutorials directory.
Hello sir
When I tried to solve I got a error showing negative initial temperature.
Don't know what to do
What is the exact error?
@@OpenFOAMJozsefNagy after typing sonicFoam and entering
The simulation runs fine for few steps then stops shows
Fatal error negative initial temperature = -0.809...
But when I tried to copy the folder and started as new then it didn't happen and simulation went smoothly.
@@bharathkumargaddameedi3312 Ok, interesting. I am glad it works.
My constant folder does not have the polyMesh folder, what should i do then ?
thanks ....:)
Do you get an error message, while executing blockMesh? Maybe you do not have writing privileges in the folder, where you work.
exactly, the error says " wrong number of arguments". I am working in windows 7 usign a virtual machine to run OpenFoam
What are the exact commands, you are executing? You seem to type something else behind blockMesh.
I have the same issue. Instead, my blockMeshDict is in the system folder. Does have any problem in this?
In recent versions they moved the default location of blockMeshDict from constant to system. What are the command you are executing?
Hi, I am a beginner in cfd, I would really like to learn it. I did mechanical engineering, and I don't know anything about coding...I have no clue where should I start...could anyone please point out the right direction to learn openfoam..thanks
Hi, just start here. Go through the videos on my channel. After you can go for the tutorial collection on wiki.openfoam.com/Tutorials
Thank you very much, I am going to invest my time on these videos. Good work Jozsef
Hello, I'm Aldi,
I'm very gratefull with your Tutorial.
I'm newbie in OpenFoam, I concern to simulate the Flow Analysis around the Propeller. and I need some tutorial or steps how to create the boundary condition for Propeller Case. May you can help me or give some Tutorial? Thanks so much for your time.
+바하뜨마까알디아스 Start with the case in tutorials/incompressible/pimpleDyMFoam/propeller .
+József Nagy Thanks for the answer,
Finally I got the meshing,
but i'm still confuse, in my case, propeller is rotating, and how to input the speed, for example my propeller rpm is 300rpm, and i want to know the maximum of Thrust for the propeller and how to solve that problem?
Thanks so much for your help.
In constant/dynamicMeshDict you can set omega in rad/s. Just convert rpm for your case in rad/s. You can use function objects to calculate the forces and momenta onto certain faces.
+József Nagy yes,. i have tried, but still problems
here is the comment:
aldias@aldias-desktop:~/1/propeller$ paraFoam
Created temporary 'propeller.OpenFOAM'
--> FOAM FATAL IO ERROR:
Cannot find patchField entry for walls
file: /home/aldias/1/propeller/0/U.boundaryField from line 11 to line 49.
From function GeometricField::GeometricBoundaryField::readField(const DimensionedField&, const dictionary&)
in file /home/openfoam/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 209.
FOAM exiting
and i don't know the exactly error...
Nedd your help,.
Thanks so much.
As far as I can tell your boundary in the mesh is not called 'walls', but something else. just rename it.
Sir,
how do we create 3d mesh using blockMesh
I think this simulation project will help you: ruclips.net/video/gZ_TqsPwiXY/видео.html
sir,
can Guide on how to dynamically remove cells.
I heard of polyRemovecell but have no idea on how to use it.
polyRemoveCell is not an executable utility, it is a header file, where a couple of functions are defined for dynamic meshing. OpenFOAM does this automatically in the solvers, where dynamic remeshing is included.
Sir I am modellinG ice subjected to heat flux and I want to remove those on surface cells whose temp falls below 0 degGree and shift the boundary so that shape of surface contour can be seen
Please Guide me some way to remove those cell accordinG to my condition
That is some heavy duty programming, what you need, so start familiarizing yourself with C++ and the OpenFOAm Source Code. There are some programming tutorials on wiki.openfoam.com/Tutorials those might help you getting into the source code, but I do not know any material, which focuses on this.
Sir,
What arGuments do i have to send for removeCells function to tell OpenFoam which cells do I want to remove?
I do not know it. I'd have to dive deep into the source code myself.
Does anyone know how to create T-mixer geometry ?
Maybe the tutorials on the multiphase simulation project and the cfMesh tutorial will help you create the mesh correctly.
Dear all OpenFoam community, I do not know why in my constant folder, there is no polymesh folder. If you have experience for it, please let me know. Thank you a lot
Did you execute blockMesh. What do you see in the terminal?
******@*******:~$ simpleFoam -help
--> FOAM FATAL ERROR :
Could not find mandatory etc entry (mode=ugo)
'controlDict'
this is what I get when I type simpleFoam -help
also, I have installed openfoam from ubuntu repositories & not from openfoam repositories
please help
You have to start the command in the folder of your OpenFOAM case (i.e. where you have the 0, constant and system folder).
@@OpenFOAMJozsefNagy
it still says no etc entry for controlDict
@@kothekarswaraj What do you get when you type: ls $WM_PROJECT_DIR/etc/controlDict
@@OpenFOAMJozsefNagy
ur one of the video helped
all set now thank u:)
which one should we use for post-processing blender or paraview?
or r they for specific purposes
@@kothekarswaraj Blender is more for preprocessing. post is also possible, but a lot of work. so use paraview for post.
Thank you so much for the tutorials, they are great!
I am using OpenFoam10 and when I try to run forwardStep from rhoPimpleFoam/laminar with rhoPimpleFoam it gives:
Courant Number mean: 0.251275 max: 1.17915
Time = 0.016s
PIMPLE: Iteration 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for Ux, Initial residual = 0.0764808, Final residual = 1.29e-06, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.064002, Final residual = 7.94223e-06, No Iterations 1
smoothSolver: Solving for e, Initial residual = 0.26368, Final residual = 4.9006e-06, No Iterations 3
smoothSolver: Solving for p, Initial residual = 0.0715941, Final residual = 6.77228e-08, No Iterations 2
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.94255e-09, global = 1.06042e-09, cumulative = 6.6211e-09
PIMPLE: Iteration 2
smoothSolver: Solving for Ux, Initial residual = 0.00795199, Final residual = 9.99449e-11, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 0.021992, Final residual = 1.56364e-09, No Iterations 1
smoothSolver: Solving for e, Initial residual = 0.285134, Final residual = 2.3536e-08, No Iterations 2
--> FOAM FATAL ERROR:
Negative initial temperature T0: -3.09503
I found the same problem here www.cfd-online.com/Forums/openfoam-solving/242656-forwardstep-tutorial-case-failure-openfoam-dev-using-rhopimplefoam.html
unfortunately it is still unanswered
Try a lower time step size. Interesting that newer versions are less stable.
Thank you for the quick reply.
The oscillations appear very quickly in front of the obstacle when rhoPimpleFoam is run even with a smaller deltaT.
But it turned out that roCentralFoam (with appropriate fvSchemes and fvSolution) handles well both cases from rhoCentralFoam/forwardStep and rhoPimpleFoam/laminar/forwardStep tutorials.
@@tatianaguseva2243 Great
I met the same problem, could you tell me how you solve it?@@tatianaguseva2243
Sir,
How to create cylindrical mesh usinG blockMesh
Sir,
How to create cylindrical mesh usinG blockMesh
Do you mean axial symmetric geometries?
Yes
I think, that there is a utility called makeAxialMesh. Try and google it.