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
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 ?
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
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.
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?
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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-IPExwi2Ar-g.html
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
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).
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
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?
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!
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
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.
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.
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?
@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,
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!
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, 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.
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.
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
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?
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?
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?)
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
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 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
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 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