[CFD] The PISO Algorithm

  Рет қаралды 47,253

Fluid Mechanics 101

Fluid Mechanics 101

Күн бұрын

Пікірлер: 181
@chaoyan6097
@chaoyan6097 5 жыл бұрын
Thanks for the vedio, it is really nice explaination. But few things I think you didn't mentioned in the loop of SIMPLE and PISO. If following the step from (23) to (26), step (26) seems doing nothing, because in the right beginning of the next loop, you are using the new calculated pressure from last (25) to start your computation in new (23) to get a new predict velocity. I think you properly missed the explaination about the calculation between cell-wise data and the data on the cell surfaces, which will make this explaination perfect, in my opinion.
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Hi Chao, yes you are right. I didnt talk about the face interpolation here as the video is already quite long and I just wanted to capture the essence of the algorithm. Thanks for pointing this out though, i have pinned the comment so everyone can see 👍
@147258369ist
@147258369ist 4 жыл бұрын
That was exactly my question thanks for the comment, and nicely explained Aiden thanks a lot
@sangal666
@sangal666 3 жыл бұрын
So Eq 26 is supposed to be using face values. I am sorry I'm new to this.
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
Hi Aman, sorry for the late reply. I have sent you an email with some points which should help 🙂
@sangal666
@sangal666 3 жыл бұрын
@@fluidmechanics101 Thanks a lot Aidan for clearing that asap. Quote Aidan """ 1) The velocity in equation 26 is used to evaluate the mass flux across the faces of the cells (recall mass flux = density * velocity * area). Yes, this requires the velocity on the faces of the cells, rather than the velocity at the cell centroids, so some interpolation is required. If you are using a collocated grid, this is Rhie-Chow interpolation. If you are using a staggered grid, this is linear interpolation. 2) The mass flux across the faces is then used in the next iteration loop to evaluate the coefficients of the A matrix for the momentum equations. Recall for example that for upwind differencing, we need the mass flux across the faces of the cell. This mass flux comes from equation 26 in the previous iteration. In this way, you can think of the mass flux as 'staggered' from the previous iteration, which allows us to get around the non-linearity of the convection term in the momentum equations. """
@prabhakaranveeramani4505
@prabhakaranveeramani4505 4 жыл бұрын
AIDAN - A Savior for whoever studies CFD. Brilliant but SIMPLE explanations.
@Tyrim
@Tyrim 2 жыл бұрын
Hey man. I just wanted to write a big thank you for all your videos. I have learned more from your videos than all my Bachelors professors combined. Thank you for your work, and please keep up the good content.
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Thank you for your kind words. I'm glad my video have helped you out in your studies 😊
@sulimanabdelwahid8043
@sulimanabdelwahid8043 4 жыл бұрын
This guy deserves unlimited support! That's what I have been asked in my CFD exam to explain the PISO algorithm. Fortunately, it went well :) Thank you Aidan !
@parasghumare5502
@parasghumare5502 2 жыл бұрын
This video explains about the simple algorithm better than the lone video on simple algorithm itself.
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Well it has been a while since I made the original video, so it sounds like my explanation has improved! Fantastic ☺️
@parasghumare5502
@parasghumare5502 2 жыл бұрын
I felt the simple algorithm video missed on some intermediate steps. I am glad they were covered here in the first part. Your explanation has always been great. Never doubt that. 💯
@nikhilnick8886
@nikhilnick8886 5 жыл бұрын
After a long time, counting days to see your video. Great tutorial. Thanks, Dr.Aidan
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
I know its been a while! Hopefully it was worth the wait 😊
@mohamedelmalah6716
@mohamedelmalah6716 11 ай бұрын
Thanks a lot for these great videos. Keep on. I believe you helped and supported many by this channel.
@x.y.8707
@x.y.8707 2 ай бұрын
Amazing video. Well explained what's behind the simple in openfoam!
@pabloroderopostigo
@pabloroderopostigo 4 жыл бұрын
Best explanation EVER... I am learning about cfd on my own and your videos are being of great help. Thank you !!!!!!
@sandeepvishwakarma7784
@sandeepvishwakarma7784 3 жыл бұрын
That is a nice presentation. Please upload the video on the acoustical equations, their discretization and methods for their solution. I am consistently visiting on your channel for the update in this regard.
@ZioTribbu
@ZioTribbu 4 жыл бұрын
I found this video extremely useful. I'm prepairing an exam of CFD at Politecnico of Milan and this will definitely help with my notes. You are the best!
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Fantastic im so glad it is useful for you. Good luck in your exam!
@emanueleverri4561
@emanueleverri4561 Жыл бұрын
PISCAGLIA?
@РассадинАлександр-к6к
@РассадинАлександр-к6к 10 ай бұрын
Hello, Aidan. I am extremely grateful for your video lectures! They are very clear and informative. I think you have a good skill of teaching people. As a student, who makes many reports and so on, I can understand how much effort it takes to prepare such lectures. Again, I just want to say thank you for your KZbin channel! You are very cool :)
@fluidmechanics101
@fluidmechanics101 10 ай бұрын
Thank you 😊
@riddhideepbiswas1895
@riddhideepbiswas1895 4 жыл бұрын
This video is really awesome and I found it very useful, got to know a lot of things previously unknown. Please make videos on understanding OpenFOAM codes also. It will be very helpful
@m0nzderr1
@m0nzderr1 3 жыл бұрын
Superb! Very well done. Showing the OF code alongside equations is brilliant. Looking forward for similar approach for other algorithms.
@karanmudaliar4211
@karanmudaliar4211 2 жыл бұрын
Thanks for lecture, I will be comparing this in my thesis ,as I have used SIMPLE for my problem and the results were very similar to PISO. Now, it makes sense to me.
@TahsinEngin-Akademi
@TahsinEngin-Akademi 5 жыл бұрын
Great job again. Thank you. Pls change dynamic viscosity to kinematic viscosity in Eq. 3, since you have divided momentum eq. by the density.
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Ahhhh yes of course 🤦‍♂️
@buzzb7848
@buzzb7848 4 жыл бұрын
That was the best explaination about PISO that I have seen so far! Thank you very much. It would be very nice to see another video from you about the Rhie-Chow interpolation and how it is done in OpenFOAM.
@amansinghal4884
@amansinghal4884 5 жыл бұрын
Thanks for the video. It was very informative and helpful. I would request you to make a video on PIMPLE algorithm as well because in most of the OpenFoam solvers that is used and I am finding it difficult to understand.
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Yep! Coming soon 😊
@anikshah8796
@anikshah8796 3 жыл бұрын
These videos are really good resources to revisit the fundamentals! Thank you!
@rohitkeshri5427
@rohitkeshri5427 4 жыл бұрын
I was struggling to decode the piso algorithm in OpenFoam, it helped alot to understand the source code 👍👍. Thanks brother.....
@richard9906
@richard9906 4 жыл бұрын
Really fantastic. clear to me!!!!Thanks a lot. hope you make more and more videos.
@ashutoshsingh-et7vm
@ashutoshsingh-et7vm 4 жыл бұрын
Great nobody explain such crystal clear so in LES piso would be best
@jeifrymoisesmoyahernandez669
@jeifrymoisesmoyahernandez669 4 жыл бұрын
I m happy this guy exists
@jeremiebisson9024
@jeremiebisson9024 3 жыл бұрын
Really useful and really clear. Thank you for that video!
@AJ-et3vf
@AJ-et3vf 2 жыл бұрын
Great video! Thank you! So informative and enlightening as usual!
@yatinsuri185
@yatinsuri185 4 жыл бұрын
Thanks for the informative videos with such an easy explanation.
@athanasiosniotis9607
@athanasiosniotis9607 4 жыл бұрын
Well Done!! The video explains clearly what is going on!
@chinmayakumar5572
@chinmayakumar5572 7 ай бұрын
Excellent teaching
@ivanpg5091
@ivanpg5091 4 жыл бұрын
Thanks a lot for the video. These collection of videos are by far the best videos regarding CFD that I've ever seen. Really straightforward explanations while keeping it "simple" [ ;) ] and does connect all concepts very well. It would be amazing to give more code examples using OpenFOAM.
@nabekary
@nabekary 3 жыл бұрын
Always enjoyed your videos. Thanks
@kaushalsorte9870
@kaushalsorte9870 3 жыл бұрын
Thanks a lot. Pristine clarity.
@rohanverma4145
@rohanverma4145 4 жыл бұрын
Thanks for uploading this vedio lecture, it clearly explains the main difference between these two algorithms.
@JBHACKSAW
@JBHACKSAW 3 жыл бұрын
Thanks for your explanations. The videos are really great addition to reading the papers and books that are relevant to my PhD. This is with regards to what you said at 29:10 .Technically as the fields are coupled, isn't under relaxing the fields (for example pressure), indirectly affecting the matrices of source term in the discretized momentum equations. I think conceptually this is the reason for under-relaxation to begin with. The incorrect values can lead to incorrect coefficients and incorrect sources that could be additive and lead to divergence. To limit the fluctuations from one iteration to the next, we kind of weigh it down towards the previous value.
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
I'm pretty sure you are correct with this one. Thanks for the extra explanation! I hadn't thought about it that way. Yes as the equations are coupled, under relaxing the fields will indirectly affect the matrix coefficients, which can lead to incorrect values
@arsenalrony
@arsenalrony 4 жыл бұрын
Stupendous explanation !!!
@IbrahimAhmed-ci7zy
@IbrahimAhmed-ci7zy 3 жыл бұрын
preparing for GRE?
@harishsubramaniangopal6463
@harishsubramaniangopal6463 Жыл бұрын
Thanks for the awesome video !
@mohamedelmalah6716
@mohamedelmalah6716 Ай бұрын
Thanks a lot for the video and well explanation. I have a question please, when I am using frozen rotor transient simulation, I should use piso and not simplec ??
@ufuksenturk8196
@ufuksenturk8196 4 жыл бұрын
Wow! Thank you a lot. This was very helpful.
@abdel-gq9po
@abdel-gq9po 4 жыл бұрын
Great explanation. Thank you!
@soroushsepahyar
@soroushsepahyar 9 ай бұрын
excellent video like always! @fluid mechanics 101, have you published the handouts for this in any of the UDEMY courses or elsewhere? I could not find these lectures.
@fluidmechanics101
@fluidmechanics101 9 ай бұрын
They are on my website: fluidmechanics101.com
@ΌθωναςΒαλεράς
@ΌθωναςΒαλεράς Жыл бұрын
In the Simple algorithm, lets say at 20:53. We want to update U, in order to update H. We calculate U by solving (17) and we use that U to calculate H. Then we solve the momentum equation and update p. Why do we need to calculate a new U using (20)? After all we dont use that "value" of U anywhere. Can someone answer this question?
@sudhaupadhyay8080
@sudhaupadhyay8080 3 жыл бұрын
very informative video.thanks
@milansekularac6196
@milansekularac6196 4 жыл бұрын
Could you please comment on the following: using PISO or SIMPLE, as the Velocity field U is updated and proceeded to recompute H(U) or back to MU=-grad(p), does OpenFoam recompute or reassemble the matrix M, and thus A, or H, which is again just an AU-MU ? I believe it should, simply because we are solving a nonlinear problem here and the information in U is contained in the coeff.matrix M (though convective fluxes) and thus in H too. I understand it could be controlled by the user to save iterations where justified but my feeling is this is slipery ground. But this question remained unclear to me even after attending an OF training, or listening to your video. ☺️ So, are coeff.matrices M and A updated EACH time U is updated and proceeded to recompute H, or no? Thanks, great work.
@thortt515
@thortt515 5 жыл бұрын
Excellent presentation as always! Falling in love!
@zidane17063
@zidane17063 2 жыл бұрын
I have a question. In a simple method loop, we already get the corrected velocity by pressure field, then we go back to the momentum predictor again. Do we use this corrected velocity to bring in the momentum predictor? or just use the new pressure field to get a new velocity field in momentum predictor? thank you for your help!
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Yes, when we go back to the momentum predictor we use both the corrected velocity and pressure fields. The pressure field is used in the pressure gradient (as a source term) and the velocity is used in the advection term (it appears as a coefficient in the A matrix)
@zidane17063
@zidane17063 2 жыл бұрын
I am grateful to you for replying my question. A very clearly replying! Thank you a million
@SuperBehrang
@SuperBehrang 4 жыл бұрын
It was a very good video. thank you
@doctor99267
@doctor99267 Жыл бұрын
Hi, very nice video, but i am very confused on what it actually means to solve for pressure in that equation, do you have a video/will you make a video/ do you know of anywhere that actually goes into detail to solve the Div(A^-1 Grad(p)) = Div(A^-1 H). also, is grad(p) a vector? or a matrix.
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
Yes, this topic is quite confusing. I am working on some detailed content for the SIMPLE and PISO algorithms which will show you exactly what it means to solve for pressure, and to calculate these other terms. In short, this is a matrix equation AP = B. Div(A-1 H) becomes the right hand side (B vector) and the divergence of A-1 becomes the coefficients in the A matrix. Coming soon, so stay tuned to the channel!
@engyong1646
@engyong1646 4 жыл бұрын
It is really helpful. 1 thumb up is not enough to express my appreciation.
@arashgmn
@arashgmn 4 жыл бұрын
Thanks mate! How about another one for PIMPLE?
@tennisfreak312
@tennisfreak312 Жыл бұрын
Hi Adan. Is there a source to show how to decompose the initial momentum into matrix forms?
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
Yes! I have a full course on the SIMPLE algorithm, which goes through all of the detail. If you search my channel you should find some videos giving you the details and how to find it
@leaner33
@leaner33 4 жыл бұрын
Great video! Thank you! How does the rhoPimpleFoam solver (running with 1 corrector so running as PISO) differ from normal PISO please? As in, is the rhoPIMPLE solver pressure-based with the introduction of a density term or is it now density-based? Or to rephrase the question again, where in the process is the density equation added?
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Off the top of my head im not sure 🤔 you could always check the source code (rhoPimpleFoam.C) ...
@mohammadjadidi233
@mohammadjadidi233 3 жыл бұрын
fantastic!Thank you very much ;-)
@jimeshpitroda937
@jimeshpitroda937 2 жыл бұрын
can you please explain SIMPLEC and COUPLED scheme?
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Coming soon ....
@jimeshpitroda937
@jimeshpitroda937 2 жыл бұрын
Thank you @@fluidmechanics101
@locorocozhong3941
@locorocozhong3941 2 жыл бұрын
Thanks for your video. 32:47, when you are saying that we need Co
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Co limits really seem to depend on the type of flow you are solving. Multiphase and buoyancy driven flows seem to be a bit more sensitive and I try and keep the max below 1 (in some cases 0.5). Aerodynamic flows seem to be a bit more forgiving and can take higher Co
@stanleywong9004
@stanleywong9004 3 жыл бұрын
Hi awesome video, any chance you will also cover linear solvers and how to use them? Ansys fluent and OF has linear solvers options to select but I have no clue how to set them.
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
Hi Stanley, for ANSYS Fluent the defaults should be fine. I wouldn't change them. If you are using OF, probably best to look at the tutorial case which is closest to your case and then use the same solver
@GiacomoUmbertoCapoferri
@GiacomoUmbertoCapoferri Жыл бұрын
Hi Aidan, thank you for your massive effort; you are always clear and concise! I have two questions: 1) What kind of interpolation is used for (1/A) and (H/A) reconstruction at interfaces? Would linear interpolation be ok? 2) What value should i give to (1/A) and (H/A) at Wall boundary interfaces? Thank you very much in advance for your reply! Giacomo
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
Hi Giacomo, Linear interpolation is fine for 1/A and H/A. At the wall boundary we have to be quite careful. It would take me a long time to explain, so it is easier if you look up 'Greenshields and Weller, Notes on Computational Fluid Dynamics, Chapter 5'. There is an online version, so you should be able to find it and find the information you are looking for
@GiacomoUmbertoCapoferri
@GiacomoUmbertoCapoferri Жыл бұрын
thank you so much!
@ucanhvan4557
@ucanhvan4557 2 ай бұрын
Hi Dr, this is the great explaination again! Thank you so much for your contribution to the CFD community. However, I still confuse about decomposing matrix M from MU = -grad(p). You mentioned that MU = AU -H with A is diagonal matrix which is not generated from diagonal element of M. So how can we get A? In my opinion, if I have 3 element M U= [[ 1,2, 0], [2,3,4], [0,3,4] ] [u1, u2, u3]. Then MU = AU - H=[ [1, 0, 0] , [0,3,0], [0,0,4] ] U - [ [0, 2, 0] , [2,0,4], [0,3,0] ]* U_previous ? How do you think about this? I am not sure about this as well.
@nerosmart5926
@nerosmart5926 Жыл бұрын
do you know both compressible+unsteady openfoam file?
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
Compressible and unsteady flows will need a slightly modified algorithm to what I presented here. If I get time, this should be coming soon!
@zongshidong4287
@zongshidong4287 5 жыл бұрын
Hey man, Thank you very much for all of your videos, I really learned a lot from them. Starting from the differences between the PISO and SIMPLE Algorithm, can you also make a video explaining physically the main differences between steady-state and transient flow phenomenon? And of course better to relate the physics to the equations. I think that will be cool!
@maurotortora5317
@maurotortora5317 3 жыл бұрын
Hello doctor Aidan, thanks again for the great video lecture! Simple and clear to undestand. I have a doubt though: by looking at equation (9): M U = A U - H; H looks like a vector and not a matrix to me, because A U is a vector. Am I wrong? Thanks, Mauro
@TheBloerp
@TheBloerp 3 жыл бұрын
Yes that ist correct.
@jacks.554
@jacks.554 Жыл бұрын
Hi, I think that a clearer way would be to put MU = AU - H(U) since H is dependent on the velocity. Basically, A and H are both matrices, but H is calculated with the velocity from the previous iteration. It is just a decomposition of MU to AU and H(U) by substracting 2 matrices. Hope that helps!
@ursamajorable
@ursamajorable 3 жыл бұрын
Hi This is a great video. It would have been wonderful if you could present PIMPLE algorithm that is used in OpenFOAM. Thanks.
@shahakibsarwar8345
@shahakibsarwar8345 3 жыл бұрын
This is a fantastic video! Helped me a lot to understand the two algorithms. But I had a question regarding using the SIMPLE algorithm to solve for unsteady flows. Can we not specify a small number of outer-corrector loops instead of using a larger number of these loops to fully converge? In other words, why do we need to fully converge in case of the SIMPLE algorithm before moving on to the next time step, while we decide to only partially converge in case of the PISO loop?
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
Yep, you are right here! What we want to do with transients is to do 'less iterations within a timestep and not fully converge'. You could do this with SIMPLE or PISO. Most people tend to prefer PISO as the you can get tighter convergence within a few 'inner iterations'. So you can choose either (ANSYS Fluent lets you choose). Most people tend to go with PISO
@ShanZhou-e5m
@ShanZhou-e5m 8 ай бұрын
Thanks for the wonderful vedio, it is really helpful to me. And i wonder if you can add record some vedioes about the algorithm of two or multiple phase flows. Aush as the interFoam in Openfoam, the difference between isoAdvector and mules, and so on. Thank you very much.
@rasikabanait3166
@rasikabanait3166 4 жыл бұрын
How we are getting updated value just by repeating the pressure equation in non-orthogonal corrector. Does repeating mean, we are solving the loop 2 times more.?
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
We use the solution of the pressure equation to update the volume flux across the cell faces (so that the velocity field satisfies the continuity equation). But this flux is a source term in the pressure equation, so we can just continue to loop the pressure equation, updating the flux each time. Dont worry if you find this confusing, it is one of the hardest parts of CFD!
@rasikabanait3166
@rasikabanait3166 4 жыл бұрын
@@fluidmechanics101 Thank you very much sir 🙂
@IRC2005
@IRC2005 4 жыл бұрын
@@fluidmechanics101 No, that's not correct ... well, except for the last sentence is right - it IS hard to understand! The non-orthogonal correction is on the pressure Laplacian term, and is an explicit source term "correction" to the implicit orthogonal part. Being explicit, it is based on the previous iteration's value of pressure, and so each time around the non-orthogonal correction loop it gets updated (and hopefully improved) and tweaks the pressure slightly. The div(HbyA) term, i.e. the "volume fluxes" as you referred to them, are unchanged ... until you get to the final non-orthogonal correction, at which point the fluxes are finally corrected (your eqn 44), and the solution moves on.
@sambitkumarbiswal3976
@sambitkumarbiswal3976 3 жыл бұрын
Please upload a video on PIMPLE algorithm
@lovish5696
@lovish5696 4 жыл бұрын
Thanks a lot buddy . I was really fucked up doing 5k iterations for eact time step for unsteady cases. Seems PISO and PIMPLE would solve the case.
@hulala6097
@hulala6097 2 жыл бұрын
Hi Aidan. Sorry for a very dumb question. From 23:50 to 24:06, you mentioned that during transient flow, the right hand side of equation(31) Up/deltaT will be big if deltaT is very small. My confusion is the right hand side of equation(31) is (Upi+1) - (Upi). If deltaT gets smaller, the Up difference between time steps gets smaller, too, correct? if so, then why the terms with time derivative dominate the equations then?
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
You can see the effect when you arrange the equations into matrix form. I should be doing a video on this soon (pseudo transients) where you should be able to see this in more detail! It should be out in a few weeks
@Krafeli
@Krafeli Жыл бұрын
Nice and straightforward presentation of the algorithm. However, consider referring to H as a vector and not a matrix. In Eq. (9) A*U is a vector, so H is one. And since H = (M-A)U, H is indeed closely connected to the remaining matrix, call it R=M-A.
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
Yes, I agree. Well pointed out
@shubhamsangodkar6992
@shubhamsangodkar6992 4 жыл бұрын
Hey Aidan, Thank you for this video. A couple of questions from the slide at 21:18 and 36:33 where we have the SIMPLE algorithm equations 1) In eq 26 we have the corrected velocity --> U_correc which comes from pressure correction (P_correc). Once we go back to eq 23, MU = grad(p) , I assume we are finding a velocity field, therefore what value of pressure are we using here ? (the one obtained via pressure correction(P_correc) ? ) 2) Where are we using the U_correc values in the SIMPLE algorithm ? (in which step or which equation ?) 3) In going from eq 41 to 42 , how does the source term gets updated ? (i.e source term depends on H --> U_explicit, but we have not moved yet to the next iteration to get a new U_explicit , so what value of U_explicit is used?) P.S : I'm still trying to understand these equations.. sorry if my questions have obvious answers, but i', just trying to critically think.
@isaacenyogoi9004
@isaacenyogoi9004 4 жыл бұрын
Thanks for asking. Have the same question too. Just looked through the comments to find comment about it and found your question.
@shubhamsangodkar6992
@shubhamsangodkar6992 4 жыл бұрын
@@isaacenyogoi9004 isaac enyogoi yeah wait for the reply from Mr.Aidan..
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Sorry for the late reply guys! In answer to your questions: 1) Yes, the pressure we are using here is the pressure obtained from the presure correction. 2) The U_corr values are the ones that are reported to the user! This is the velocity field that we see in the solution, the post-processor and is reported to the user. The reason that we use U_corr, is that this velocity field satisfies the continuity equation, while the predictor U_predictor does not. However, U_corr is not used again in the SIMPLE loop. It is overwritten when we calculate MU = - nabla p (the information is looped back through the pressure field, so we can overwrite U_corr). 3) Ah yes, I see why this is confusing. This is a simplification of slide 18. Equations 28, 29 and 30 are used to update H (the source term). I hope this helps :)
@shubhamsangodkar6992
@shubhamsangodkar6992 4 жыл бұрын
@@fluidmechanics101 Thank you for those answers Aidan. Looking forward to new videos soon
@michaelli8523
@michaelli8523 4 жыл бұрын
@@fluidmechanics101 Hi Aidan, Nice video! Thanks for answering the questions. I am still confused with (3). I do not see the procedures (28,28,30) are repeated to update from the code. OpenFOAM only repeated solving pressure equation in the loop and only update phi at the final non-orthogonal iteration. So how does it make H and p different? // Non-orthogonal pressure corrector loop while (simple.correctNonOrthogonal()) { fvScalarMatrix pEqn ( fvm::laplacian(rAtU(), p) == fvc::div(phiHbyA) ); pEqn.setReference(pRefCell, pRefValue); pEqn.solve(); if (simple.finalNonOrthogonalIter()) { phi = phiHbyA - pEqn.flux(); } }
@nightwalker4397
@nightwalker4397 5 жыл бұрын
Great explanation , keep going
@moizar2667
@moizar2667 8 ай бұрын
I am a little confused at the H matrix. If H is the residual matrix of M after extracting diagonal elements, shouldn't it be H = MU - AU ?
@perzetterlund1805
@perzetterlund1805 Жыл бұрын
Thanks for a great video! How is PISO (and SIMPLE) related to the Projection Method ( en.wikipedia.org/wiki/Projection_method_(fluid_dynamics) ) ? Is SIMPLE/PISO variants of the Projection Method or something else? Is the Projection Method used for CFD nowadays?
@fluidmechanics101
@fluidmechanics101 Жыл бұрын
PISO and SIMPLE are arguably 'an example of a projection type method', because we calculate a velocity field and then 'project out' the divergence producing component of the field, with the mass flux correction. This is covered in Ferziger and Peric, 'Computational Methods for Fluid Dynamics', if you would like more detail 👍 but really this is just a semantic point
@margotsteely3585
@margotsteely3585 3 жыл бұрын
do you have a pressure based coupled algorithm video?
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
Not yet. I'm working on it 😃
@sivaaero92
@sivaaero92 5 жыл бұрын
Nice video once again.. keep it up. One small request. Can u put a video by taking an example to fill out semi discrediting form of momentum equation.
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Hi siva, i havent made a video about this yet but there is a full worked example in my online courses. You can get them from my website, udemy or skillshare 😊
@arshibanu1129
@arshibanu1129 4 жыл бұрын
Your web address please
@arshibanu1129
@arshibanu1129 4 жыл бұрын
Your class names in Skillshare or Udemy
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
They are in the video description 😊
@experimentalandnumericalfl7370
@experimentalandnumericalfl7370 5 жыл бұрын
Thank you very much. Could you please speak about pimple Algorithm in openfoam
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Maybe in the next video .... 👀
@jasonchu852
@jasonchu852 5 жыл бұрын
@@fluidmechanics101 looking forward to it !
@ben2415
@ben2415 5 жыл бұрын
@@fluidmechanics101 awesome. looking forward to it!
@trinerd
@trinerd 3 жыл бұрын
At around 9-10 minutes, I think it is a bit confusing. In OF notation: if MU=B, then AU = B - CU . With A being the diagonal members of the matrix, C the non-diagonal members then H = B-CU and not H = CU as it seems to be explained in the video.
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
Ah thanks for pointing this out. I think they may have updated their notation over the past few versions. The algorithm should still remain the same 👍
@trinerd
@trinerd 3 жыл бұрын
@@fluidmechanics101 agreed, thanks.
@dudiek12
@dudiek12 3 жыл бұрын
27:09 One thing I dont understand, why we add to the both sides this term with alpha, u_p etc when the U on the both sides are different, on one side its "new" U_p and on the Right hand side it's old U_p
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
I have to admit that I haven't explained this very well, so don't worry if you are confused. I will be doing a more complete explanation of relaxation and pseudo time stepping soon, which should clear up this confusion. Keep watching this space, hopefully I will have the video out soon!
@dudiek12
@dudiek12 3 жыл бұрын
@@fluidmechanics101 Great to hear that, I'm watiting for it then
@mateusalves9558
@mateusalves9558 4 жыл бұрын
Thanks for this video man, I was really waiting for that. I just didn't understand the difference of the SIMPLE and PISO according to thekind of loop, because don't make sense to me as we already have calculated the pressure in equation (25) and correct the velocity in equation (26), why do we have to do the momentum predictor again? I saw the Chao's question but did'nt get it too. Hope to see your reply!
@mateusalves9558
@mateusalves9558 4 жыл бұрын
Could tou help me understanding this Aiden? It would be great
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Hi Mateus, here is another way of thinking about it: when we solve the momentum predictor U satisfies the momentum euqation but does not satisfy the continuity equation. When you correct the velocity field it satisfies the continuity equation but does not satisfy the momentum equation. This is why you have to go back and solve the momentum equation again 😊 you have to keep solving them both until they are both satisfied. I hope this help!
@EjazAhmed-xe2bn
@EjazAhmed-xe2bn 3 жыл бұрын
I've a confusion about the decomposition of M matrix. Isn't that supposed to be MU=AU+H instead of MU=AU-H as A is the diagonal matrix & H comprises of off-diagonal components of M? I'll be really happy if someone clears my confusion.
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
You could have either +H or -H. (Just multiply the coefficients by -1). I usually try and follow the explanation and derivation given by the OpenFOAMers so that the video is consistent with other sources you might find if you do a google search
@costinioancosoiu
@costinioancosoiu 4 жыл бұрын
Hello, Aidan! Very good lecture! I have a question related to equation (32). U_N denotes velocity in the neighboring cells?
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Yes, its the velocity at the neighbouring cell centroid. If you think of a face in the mesh, each face has an owner and a neighbour cell that the face belongs to. UP is the velocity at the centroid of the owner and UN is the velocity at the centroid of the neighbour 👍
@costinioancosoiu
@costinioancosoiu 4 жыл бұрын
@@fluidmechanics101 Thank you!
@arijitsaha1472
@arijitsaha1472 3 жыл бұрын
Hi Aidan, I have a doubt in the decomposition of the M matrix. Isn't after decomposition it should A.U + H. U and not A. U + H?
@fluidmechanics101
@fluidmechanics101 3 жыл бұрын
I will have to check this, you might be right. If you have a look in Hrvoje Jasak's thesis, you should find the answer (just give a quick Google search and you should find it)
@Porter-Morgan
@Porter-Morgan 4 жыл бұрын
Does anyone know of any resources for understanding how the M matrix is actually computed? I just can't figure it out. Also wouldn't the matrix equations be of size 2n because you have to solve for the x and y components of velocity for each cell? (in 2d of course)
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Hi Porter, if you watch my video for ‘The Finite Volume Method’ that should give you a good introduction to how the M matrix is calculated. If you want to give it a go for yourself, you can check out my fundamentals course on my website which goes into more detail than i can cover in a youtube video (there is also a free trial version which you can check out). There is a separate M matrix for each velocity component. Each M matrix is n x n in size. Sorry, i realise this probably wasn’t clear in the video
@Porter-Morgan
@Porter-Morgan 4 жыл бұрын
@@fluidmechanics101 Aiden, I went through your Udemy course and it was very helpful I now have a very good understanding of how the M matrix is generated. In the course you used the scalar temperature field as an example, and I assume you apply pretty much the same concepts to other things like x and y velocity. One more question though, do you typically generate separate matrices for x and y velocity components and solve for each velocity component separately then? As in, solve two separate matrix equations for the x and y velocity. Or could you generate one huge matrix equation of size (2n)^2 to solve for both velocity components simultaneously? Although, the latter solution will probably have greater memory requirements... (even if storing data in CSR format it would still take double the memory)
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Yes! Everything you said above is correct. I used Temperature in the Udemy course, as Temperature is an easy variable that we all understand, so it is easier to follow along with the process. The process of assembling the M matrix (by discretisation) is the same for all the other flow variables. This is often why CFD Solvers offer a ‘generic scalar transport equation’ option, so it doesnt even matter what the transported variable is! The process is the same. Yes, in most solvers (OpenFOAM and fluent) we assemble and solve matrices for the x and y components of velocity separately. This is called a ‘segregated solver’ and was developed because old computers had poor memory! In modern solvers you can solve a big matrix for all the velocity components (and pressure) together. This is called a ‘coupled solver’. The coupled solver is used as a default in ANSYS CFX and can be enabled in ANSYS Fluent through the ‘coupled solver’ option in the pressure-velocity coupling schemes. I hope this helps 😊
@Porter-Morgan
@Porter-Morgan 4 жыл бұрын
@@fluidmechanics101 Wow that is incredible I had no idea you could solve for almost all of the flow data in one matrix equation! I know what I'm gonna be messing around with for the next month. Thanks so much for the super helpful videos and responses!
@qutadahrababah6644
@qutadahrababah6644 3 жыл бұрын
I dont understand why would we need ~5000 iterations of the simple algorithm for each timestep for unsteady state if the the only difference between simple and piso is skipping the momentum predictor loop? Thanks.
@arts5852
@arts5852 2 жыл бұрын
Your explanation is really good 👍. Can you also explain how to construct the [M] matrix ?
@fluidmechanics101
@fluidmechanics101 2 жыл бұрын
Yes! If you check out my video 'The Finite Volume Method' that should help you get most of the way there
@arts5852
@arts5852 2 жыл бұрын
@@fluidmechanics101 Thanks
@leonardohenao7646
@leonardohenao7646 5 жыл бұрын
Excellent video and excellent Channel. I don't believe that find a better explanation in other web site. An question, do you have made any video about Coupled Algorithm? I understand that for the latest versions of Ansys fluent (R2, R3), it is the default algorithm
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Hi Leonardo, i havent done the coupled algorithm yet. But definitely will do soon! Thanks for the support 😊
@leonardohenao7646
@leonardohenao7646 3 жыл бұрын
@@fluidmechanics101 Aidan, would like be great if you explain The Pressure-based Coupled solver+Pseudotransient model and its application with VOF model. Thank you!
@stanleywong9004
@stanleywong9004 3 жыл бұрын
Awesome Video, any chance you will be covering PIMPLE algorithm from OF and if ANSYS fluent can replicate this in anyway?
@kaushalsorte9870
@kaushalsorte9870 3 жыл бұрын
Could you make videos on multiphase flows?
@jasonchu852
@jasonchu852 5 жыл бұрын
great tutorial (Y)
@AeroDZ
@AeroDZ 5 жыл бұрын
Great video if you please add two more videos about the simplec and coupled and maybe even pimple Algorithms That would be super Great (y)
@fluidmechanics101
@fluidmechanics101 5 жыл бұрын
Yes! Pimple is coming next (to complete the set) and then i will do coupled algorithm after that 😊 i am so glad to finally get this one (PISO) out, as it was confusing me for a long time!
@yasiruranaweera3888
@yasiruranaweera3888 5 жыл бұрын
Wow. Thank you ❤️ 🎉🎉🎉👏 ( 13:30 )
@danielbotezelli
@danielbotezelli 11 ай бұрын
Do the Pressure Equation solves for p' ou p?
@fluidmechanics101
@fluidmechanics101 11 ай бұрын
It depends. OpenFOAM solves for p. I can't be sure for other proprietary codes like Fluent (because you can't see the source code). It tends to be older codes that solve for p'
@danielbotezelli
@danielbotezelli 11 ай бұрын
@@fluidmechanics101 hmmmmm, So, it must have a reference p value (Corner cell in liddriven)? Thanks very much for your attention!
@fluidmechanics101
@fluidmechanics101 11 ай бұрын
Yes exactly. Closed domains always have to have a reference pressure somewhere (regardless of whether you solve for p or p')
@danielbotezelli
@danielbotezelli 11 ай бұрын
@@fluidmechanics101 So, solving for p, there is no need for p += p' ? This seems faster, but more unstable. The boundary conditions for p changes? I was following Moukalled book. Cant find a book that address this direct p. Your videos are great tho!
@fluidmechanics101
@fluidmechanics101 11 ай бұрын
If you check out 'Notes on Computational Fluid Dynamics: General Principles' you should be able to find the algorithm for p
@yongqiangchen7593
@yongqiangchen7593 2 жыл бұрын
i love this accent
@pattimichellesheaffer103
@pattimichellesheaffer103 4 жыл бұрын
COOL video! It would be really nice to see how compressibility affects the iterations (and the equations). I believe some solvers in OF use both PISO and SIMPLE in its iterations. (PISO for p and U and SIMPLE/SIMPLEC for species?) Also, two different fonts for *H* which seem to be just slide-errors? How are (42) and (43) different from (41)? (I assume the H's are different? "updated source term")
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Yes the H terms are just typo differences. Getting the fancy looking H is quite tricky in latex 😂
@fluidmechanics101
@fluidmechanics101 4 жыл бұрын
Also yes, the source terms are updated in 42 and 43
@doctor99267
@doctor99267 Жыл бұрын
@@fluidmechanics101 how are the source terms updated without calculating new velocity
@manjunathbm6991
@manjunathbm6991 2 жыл бұрын
Can u make a video on piso application in your daily life
@manjunathbm6991
@manjunathbm6991 2 жыл бұрын
Sir I want it tomorrow piso it wark in the computer or wifi
@zeinabnoorpoor6489
@zeinabnoorpoor6489 2 жыл бұрын
Hi dear, Would you please send me the video file mentioning the source, ie your channel address?
@rohanverma4145
@rohanverma4145 5 жыл бұрын
Superlike....
@Pengochan
@Pengochan 4 жыл бұрын
H (i.e. in eq 9) is a vector, not a matrix.
@ridhimabhardwaj7862
@ridhimabhardwaj7862 2 жыл бұрын
CFD with OpenFOAM workshop PAANDUV
[CFD] Rhie & Chow Interpolation (Part 1): Chequerboard Oscillations
45:54
Fluid Mechanics 101
Рет қаралды 18 М.
[CFD] The k - epsilon Turbulence Model
25:49
Fluid Mechanics 101
Рет қаралды 155 М.
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 24 МЛН
СКОЛЬКО ПАЛЬЦЕВ ТУТ?
00:16
Masomka
Рет қаралды 1,7 МЛН
[CFD] Pressure-based Coupled Solver  (Part 1)
35:10
Fluid Mechanics 101
Рет қаралды 13 М.
[CFD] How Fine should my CFD mesh be?
20:57
Fluid Mechanics 101
Рет қаралды 95 М.
[CFD]  The SIMPLE Algorithm (to solve incompressible Navier-Stokes)
14:22
Fluid Mechanics 101
Рет қаралды 130 М.
Pressure-Based and Density-Based Solvers in CFD
26:17
Applied Computational Fluid Dynamics
Рет қаралды 10 М.
[CFD] Eddy Viscosity Models for RANS and LES
41:44
Fluid Mechanics 101
Рет қаралды 89 М.
[CFD] Large Eddy Simulation (LES): An Introduction
27:23
Fluid Mechanics 101
Рет қаралды 85 М.
SIMPLE Algorithm in Staggered and Collocated Grid Arrangements
21:07
Applied Computational Fluid Dynamics
Рет қаралды 7 М.