17 - How to write an Eulerian fluid simulator with 200 lines of code.

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

Комментарии • 334

  • @Pjx1989
    @Pjx1989 Год назад +452

    As a fluid dynamic engineer, I’m very aware of the complexity of CFD. It’s absolutely stunning not just that you wrote a basic cfd code in 200 lines, but that it even runs on a browser and, most of all, that you could explain it in 10 minutes. Astonishing

    • @nathan87
      @nathan87 Год назад +15

      It's a nice piece of code, but it's literally CFD 101. Everybody's first fluid sim looks like this.

    • @mastrake
      @mastrake Год назад +34

      @@nathan87 Perhaps intended for people like me who are new to the topic?

    • @ProjectPhysX
      @ProjectPhysX Год назад +17

      Lattice Boltzmann is even simpler, a basic C implementation is 100 lines. Yet it's a lot faster and much more accurate :)

    • @mastrake
      @mastrake Год назад +5

      @@ProjectPhysX This is super cool stuff for someone just learning about it.

    • @abebuckingham8198
      @abebuckingham8198 Год назад +2

      As a functional programmer I see a great deal of redundancy and excess in this code so it could be shortened too. It's rather impressive that they kept it so small.

  • @notapplicable7292
    @notapplicable7292 2 года назад +54

    These videos are such a nice breath of fresh air after reading simulation papers

  • @TenMinutePhysics
    @TenMinutePhysics  Год назад +133

    Hi all, thanks so much for all your positive feedback! A great motivation to do more videos!

    • @nolram
      @nolram Год назад +4

      Glad to see this channel finally get the attention it deserves :)
      PS: Matthias, consider putting the Discord server in the description of these, since we have a bunch of people there willing to help out others and discuss these videos.

    • @DogeMultiverse
      @DogeMultiverse Год назад

      These r awesome! Physicist content creator

    • @momoaraki7934
      @momoaraki7934 Год назад

      Incredible!!!

    • @LJ_Dev
      @LJ_Dev Год назад

      yes please

    • @King-mj2bn
      @King-mj2bn Год назад

      It would be great if you could use variables names that were slightly more self-describing. Readability is far more important than brevity.

  • @CosineKitty
    @CosineKitty Год назад +95

    This is exactly what I have wanted to understand for years now. I have long thought it would be so cool to simulate a lava lamp, or the waves on the surface of a swimming pool. Every time I try to read about fluid mechanics, it's page after page of differential equations. You have made this so clear and intuitive. Thank you so much!

  • @kathmanducity
    @kathmanducity Год назад +5

    I have been looking for this eloquent lecture for the last 15 years.

  • @akinaguda
    @akinaguda 11 дней назад

    I was learning about this years ago and came across some papers you wrote/where involved with. So happy you are making videos on this too

  • @AlienXtream1
    @AlienXtream1 7 месяцев назад

    THANKYOU! SO many talks about fluid simulations (and fluid/water in general) mistakingly claim (orimply) that water *is* incompressable. this is the first time i've seen someone correctly assert its "functionally incompressable" XD

  • @joepeters8746
    @joepeters8746 2 года назад +112

    I know that you have little views, but the content you makes me delightet! It is very hard to find University level tutorials or explanations for fluids and softbodies, so your well made videos are a treasure!
    Especially for me as a Games Engineer it is very funny to know the math and algorythms.

    • @voxelltech
      @voxelltech 2 года назад +4

      absolutely

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад +12

      I am glad you like it. The numbers will go up with more videos. 3K subs for only 17 videos is actually quite good :-)

    • @adrianalanbennett
      @adrianalanbennett Год назад +1

      This is the shortest, clearest explanation I have ever heard of method like this. Do you have any sources I could look into to learn more? Thanks.

  • @snsacharya1737
    @snsacharya1737 Год назад +9

    A great video for aspiring numerical analysts. Amazing to see how you covered incompressibility to the Gauss-Seidel method within 10 minutes and a code that demonstrates all that 👏

  • @joxterjones2563
    @joxterjones2563 Год назад +3

    Great video, thanks for posting this. I first wrote a MAC-type simulation for incompressible viscous flow back in the early 1980's. Seeing what you have done in 200 lines of code is amazing - we have come a long way! Your explanations are excellent and are a first rate introduction to a complex topic.

  • @abonham82
    @abonham82 Год назад +1

    Quite appreciate the way you articulate variables. “Boldface V”, “italic u and v”. Great work

  • @harrymattah418
    @harrymattah418 Год назад

    I just can't decide what impresses me most. The conciseness of the code, or that of your explanations.

  • @georgen9755
    @georgen9755 4 месяца назад

    Fluid pressure in a tank demo
    Advection
    Pressure distribution
    Guass seidel method
    Water tunnel
    Wind tunnel
    Divergence = 0
    Pixels
    Pixels of television
    Depends on the resolution of the television
    Great sir thank you

  • @tantumDicoQuodCogito
    @tantumDicoQuodCogito Год назад

    Description of physical behavior of particle is perfect for free interpretation on code by programmers, for me is most important than explaining mathematical. Good video.

  • @halihammer
    @halihammer Год назад +7

    Thank you so much for this information! This is such valuable content for people who are interested but don't have the opportunity or time to acquire this knowledge at a university or by reading specialist literature!

  • @humblerambler
    @humblerambler Год назад +1

    So effective! 15 years ago I was doing these simulations with industrial level CFD software and I was writing much more code just to analyze results. [feels nostalgic]

  • @GeoffryGifari
    @GeoffryGifari Год назад +1

    really appreciate that you go all the way with the instructions, AND put the whole source code out for the public

  • @pixel_physics
    @pixel_physics Год назад +31

    Ohh my, i never thought i will see a tutorial from THE Matthias Müller. Im such a huuuuuuuuuge fan of your works and papers! You are probably the most cited person in my bachelor and masters thesis - both about fluids. And damn i like your research. So awesome!
    Keep up your work! Youre freakn awesome in what youre doing!

  • @thomasspader6950
    @thomasspader6950 Месяц назад

    Please keep making videos and resources like you have been! You are an absolute gold mine.

  • @j1d7s
    @j1d7s Год назад +4

    I just stumbled on your channel. It is great how much good explanations you pack into a dozen minutes. I will recap all the videos in your series and try out the code.

  • @jabaadams4734
    @jabaadams4734 Год назад +1

    I've read Bridson's book on Fluid Simulation for Computer Graphics, but you give an excellent and brief, yet detailed explanation. It cleared some things up for me. Thank you! Subscribed.

  • @irtizahussain5001
    @irtizahussain5001 Год назад +1

    Its so beautiful. I am just going to cry with joy.

  • @rstknives2423
    @rstknives2423 Год назад +663

    Everything is easy when you are both a programmer and a physicist

    • @Premrajcfd7
      @Premrajcfd7 Год назад +33

      Me too..I am a mechanical engineer with a ardent interest and hands-on working knowledge of python,C,C++ to simulate physics

    • @wallbrick2170
      @wallbrick2170 Год назад +19

      you forgot mathematicians ;-;

    • @this_is_mayhem
      @this_is_mayhem Год назад +12

      @@wallbrick2170 yeah, mostly methematician, because if you know math then you are able understand physics as well

    • @krishnakarthik4752
      @krishnakarthik4752 Год назад +28

      @@this_is_mayhem Well, not really

    • @multiarray2320
      @multiarray2320 Год назад +9

      @@this_is_mayhem meth?

  • @deathTurgenev
    @deathTurgenev Год назад +2

    So glad I got this channel recommended to me. The videos along with the PDF overviews are amazing. I'm looking to try them in another language and will be happy to share

  • @noertri618
    @noertri618 Год назад

    Man, thinking about ball hanging motion make my head hurt, but you make simulation of fluid, that is amazing

  • @alansmithee419
    @alansmithee419 Год назад +10

    Something I've noticed in my physics course is that simulations of complex systems can be incredibly simple.
    The difficult bit is determining what is the best way to program something, so that it is both accurate and has reasonable computation costs. The programming itself will almost invariably result in a very short program.
    From what I can tell the huge thousands-of-lines projects that people spend years developing are tools which have many different methods of doing many different things for many different purposes. Each thing is short, the collation of them all into one widely useable toolkit so that no one ever has to code any of it again is not.

  • @stefdevs
    @stefdevs Год назад +2

    You're doing god's work here. Thank you! Your XPBD research and educational media is enabling me to make a game that I would otherwise not be able to.

  • @skippythemagnificent8103
    @skippythemagnificent8103 Год назад +1

    This is exceptionally well and clearly explained, many thanks, now to work out how to make the force flow around a 2D planet .....

  • @rodrigocarvalho51542
    @rodrigocarvalho51542 Год назад

    As a physicist who moved to CS this is a delight!

  • @erang42
    @erang42 2 года назад +13

    Love your videos, Matthias! Such a great initiative to create this video series, and to use web-based tech so that it's easy to play around with your interactive demos. Keep up the great work. ~ Eran.

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад +1

      Thanks! I am happy to hear that people like it and will definitely make more videos

  • @j.j.maverick9252
    @j.j.maverick9252 Год назад

    finally youtube recommended something good! Thanks for a clear and still concise explanation, the staggered grid approach is new to me also

  • @veitheld167
    @veitheld167 Год назад +4

    Awesome! That is the little programm that I always wanted to write myself to simulate the flow around airfoils or sails, but I never managed to get this done. I got a s far as translating the equations to discrete cells, but then I always ended up with very large scarce equation systems, which needed an engine like Matlab to solve. Your choice of the staggered grid and all the other tricks are so elegant and make the solution so lean and efficient. Too bad that you did not post this video years ago, it would have saved me a lot of time. Great job!! Now I am looking forward to your solution of the full Navier-Stokes equations. OK, I'll give you a budget of 300 lines of code for that...😀

    • @miguelguerrero3394
      @miguelguerrero3394 Год назад +1

      You cant find analytic solutions to fluid dynamics unless in some very simple cases like laminar flow through a pipe, which your case definitely isn't. The only solution is discrete CFD simulation and then verify it is close enough to reality

    • @veitheld167
      @veitheld167 Год назад +2

      ​@@miguelguerrero3394 Yes, I know that. Thats why solving the Navier-Stokes equations is on the list of the Millennium Problems, for which the Clay Mathematics Institute offered a US $7 million prize fund ($1 million per problem). CFD is the only option to approach these problems for now...

    • @miguelguerrero3394
      @miguelguerrero3394 Год назад

      @@veitheld167 oh ok, nevermind then.

  • @sietsebuijsman8523
    @sietsebuijsman8523 Год назад +2

    That was very interesting! I’ve been wanting to work towards a fluid simulation for a while, and your explanation really helped!

  • @maverick.laurel
    @maverick.laurel 8 месяцев назад

    Thank you so much for the great contents and I have been rewatching the videos many times! ❤ Definitely looking forward to the upcoming tutorials for viscous liquids and other fluid simulation methods.

  • @Trust_me_I_am_an_Engineer
    @Trust_me_I_am_an_Engineer 9 месяцев назад

    Thank you so much for this explanation, Matthias! I just found this video : it's fascinating. I've subscribed (of course) and now I'll get a (large) mug of coffee and watch your other videos. Actually, you only need 1000 kgf /cm² to compress water more than 3% , but only an engineer who works in high pressure hydraulics would notice that. Don't worry. 😁

  • @lamienkassienou4177
    @lamienkassienou4177 3 месяца назад

    I didn't ask for more. What can I say except a very big thank you. Tank you really.

  • @hoytvolker3
    @hoytvolker3 2 года назад +1

    Elegant as always, thanks for taking the time to share such informative videos.

  • @7177YT
    @7177YT Год назад

    Brilliant, I could follow along pretty easily. The simple simulation strategy and clear visualisations helped. please prepare more projects simulating closed little systems like this!
    Thank you!

  •  Год назад

    Thank you very much. Greetings from Popayan, Colombia.

  • @supersaiyan9616
    @supersaiyan9616 2 года назад +2

    Hello Matthias, Thank you so much for your video series

  • @lobo151075
    @lobo151075 4 месяца назад

    Congratulation!!! Greetings from Bolivia.

  • @ArnoldStefanek
    @ArnoldStefanek 4 месяца назад

    Wow, it's really good. It's very attractive and the AD is very interesting

  • @lucas-coutinho
    @lucas-coutinho Год назад

    Wow that's amazing! I'm really excited about your channel! Thanks for sharing your knowledge

  • @SmartAndSecureWay
    @SmartAndSecureWay Год назад

    Excellente vidéo et démo ! 👋 Un plaisir de découvrir votre vidéo et maintenant de vous suivre.

  • @ianglenn2821
    @ianglenn2821 Год назад +1

    3:11 The staggered grid is sometimes called the Arakawa grid, after Akio Arakawa, the scientist who popularized it during the nascent years of fluid simulations.

  • @skhelladi
    @skhelladi Год назад +1

    Nice job Matthias! I developed the same code in c++ based in part on yours, I put a demo on youtube.

  • @kiaranritchie3021
    @kiaranritchie3021 Год назад +1

    Another excellent tutorial. Thank you very much for this!

  • @kqiesaw.9385
    @kqiesaw.9385 Год назад +2

    This is amazing. I'm going to see if I can reimplement this in unity with as much optimization I can shove into it and see what is the largest resolution I can simulate in real time.

  • @CharlesVanNoland
    @CharlesVanNoland Год назад

    Ah, a staggered grid. I never heard of that little trick! Thanks! :D

  • @Elta305
    @Elta305 Год назад +2

    Very good vidéo ! Just a little remark, Lagrange was born in Italy but worked in France with "L'Académie des Sciences", lived through the French Revolution and his body is actually in the Pantheon so it should probably be Franco-Italian. (the concept of nationality came with the Revolution so it's a bit fuzzy)

  • @sciencefordreamers2115
    @sciencefordreamers2115 10 месяцев назад

    Thank you so very much man, absolutely valuable content, thank you for generously sharing the code too!

  • @blinded6502
    @blinded6502 2 года назад +1

    I've read paper named "Real-time fluid dynamics for games" before, which follows similar idea
    This explanation is a lot more insightful though

  • @youtubeicin2836
    @youtubeicin2836 Год назад

    Just discovered your channel and tried out the simulator, so fun! Keep up the good work :)☺

  • @samanthaqiu3416
    @samanthaqiu3416 Год назад

    looking forward for upcoming tutorials!

  • @manuelnovella39
    @manuelnovella39 Год назад

    Ok, you definitely earned yourself a new subscriber. Keep it up, man, and congrats for your work 👌🏽

  • @Havealot
    @Havealot Год назад +1

    @Matthias: Talking about divergence, in theory your video should be five times more informative than the ones on "Two Minute Papers". However, I find this so much more interesting and useful. So, thanks for the additional information inflow. Keep up the great work!

  • @blacklistnr1
    @blacklistnr1 Год назад +4

    I don't understand why the pressure can be calculated like that. What am I missing?
    If it's incompressible d will be 0 "after projection"(@7:03), and if you mean the d before the projection then the liquid is no longer incompressible(it compresses/expands momentarily before propagating the corrected values).

  • @Croesquared
    @Croesquared Год назад +3

    Cool stuff, just finished my aerospace engineering masters. My favorite course was a class in CFD theory. Maybe you could make some videos on the finite volume method as well, or finite elements.

    • @mghemke
      @mghemke Год назад +1

      This **was** finite volume (the volume we are talking about is one Cell) - for each volume (cell) you are enforcing applying body forces, the divergence is zero (incompressible fluid and no sources or sinks) and the advection of velocities.

  • @adidanusaputra4761
    @adidanusaputra4761 7 месяцев назад

    Very impressive make me build an interest in programming

  • @segunda_parte
    @segunda_parte 5 месяцев назад

    Awesome, very very awesome. Thank you so much.

  • @nolram
    @nolram Год назад +2

    I would still love to see a video about rigidbodies, since they tend to be the most common type of simulation in games and film :) Maybe a more detailed tutorial (especially in regards to angular velocity) based on your XPBD bodies paper could be possible ?

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад

      Sure, eventually I will cover everything I have been doing. However, since people seem to like fluid sim a lot the next one will be about FLIP 🙂

  • @joshuabeattie6246
    @joshuabeattie6246 Год назад

    Thanks for the great information. Hope you're doing well.

  • @ricard458
    @ricard458 Год назад

    Amazing! Please teach us how to do other types of simulations. I will try all for sure. Thanks for your time.

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад +1

      Many videos will follow. I am currently working on one about flip water simulation.

  • @linjianru
    @linjianru Год назад

    What an amazing channel! I'm very interested in physics simulation, and your channel is awesome! Thank you so much.

  • @kingofmaglos3
    @kingofmaglos3 Год назад

    Excellent video and a really interesting channel. Defo going to check out more of your videos!

  • @MissPiggyM976
    @MissPiggyM976 6 месяцев назад

    Very well done, many thanks!

  • @andrewsheehy2441
    @andrewsheehy2441 Год назад +1

    This is really great! Thank you and well done!

  • @AsmageddonPrince
    @AsmageddonPrince Год назад +1

    Omg, are you the same Matthias who used to present awesome physics simulation stuff as an Nvidia researcher years and years ago? If yes, I can't believe I found another of your channels after so many years haha :-)

  • @muggzzzzz
    @muggzzzzz Год назад

    Karman vortex street is one of the possible explanations of the wave-particle duality of light.
    These vortices act as particles and waves at the same time.
    Imagine that photons are just ether vortices appearing when the ether flows through atoms.

  • @cobaltxii
    @cobaltxii Год назад +1

    Beautiful video, subscribed

  • @olbtube
    @olbtube Год назад

    Great video, good explanations and the result is beautiful! Subscribed!

  • @antoine1407
    @antoine1407 Год назад +1

    It would be awesome if you could make a playlist on how to write such kind of codes for CFD! Thanks for such great video

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад +1

      I am glad you like it. In my pipeline are videos about flip, sph and more...

    • @Nosirrbro
      @Nosirrbro Год назад

      @@TenMinutePhysics A video on SPH would be awesome!

  • @nononononobita
    @nononononobita Год назад +2

    Very amazing effect ! Will fluid simulation from Lagrange perspective (e.g. SPH) be covered in the future ?

  • @Neutrioms
    @Neutrioms Год назад

    Instantly subscribed. Thank you.

  • @fCauneau
    @fCauneau Год назад

    Great... Great... Great job guy !! Thanks so much for sharing !!! (I wrote such simulator for meteorological applications long time ago, but the code was far from this beauty...)

  • @TheAmazingFlint
    @TheAmazingFlint Год назад

    Amazing explanation!

  • @ASMacman
    @ASMacman Год назад +1

    Do you expect to have any upcoming example of Semi-Lagrangian simulations like the kind used in oceanic+atmospheric models?

  • @ogibinedi
    @ogibinedi Год назад

    i see the code with html 779 line of code .... i just do not know how did you figured out all of those stuff sir, you are incredible...

  • @azscab
    @azscab 11 месяцев назад

    This may have changed my life.

  • @KlaudiusL
    @KlaudiusL Год назад

    Your channel is gold! .. new subs, thank you

  • @bajsejohannes
    @bajsejohannes Год назад +1

    Really nice explanation! I feel like I can go implement it immediately. A small typo at 4:04, g should be in m/s^2, not m/s

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад +2

      Thanks! Yes I noticed it before. There are other typos which I all fixed in the slides.

    • @bajsejohannes
      @bajsejohannes Год назад

      @@TenMinutePhysics Ah, I see now that the slides are updated. Thanks again for a great explanation :)

  • @wee8149
    @wee8149 26 дней назад

    thx for your great intro to this the, it awked the interest to start over with programming simulations.. therefore, my question, how can i start to become more familiar with programming simulations?

  • @prot0form775
    @prot0form775 Год назад +1

    I love this and will attempt to recreate this on Python, I only wish we would've gotten an explanation as you were writing the code. I feel sometimes equations and stuff aren't so obvious when implemented into a programming language.

    • @fiveoneecho
      @fiveoneecho Год назад +1

      Yeah, the code itself is actually quite poorly-written. I counted at least one variable that was defined, not used, and then redefined in the same scope among many other issues. That's ignoring the random bits of code that are used and never explained in this or a previous tutorial.

    • @TenMinutePhysics
      @TenMinutePhysics  Год назад

      I don't write the examples in one go from top to bottom. Getting simulation code right and debugging it is tricky. So I don't spend much time on the beauty of the code. But if you have the time it would be great if you could go over future examples before I publish them. Just let me know (tenminphysics at gmail dot com).

  • @benjaminlehmann
    @benjaminlehmann 5 месяцев назад

    That was so great. Thanks

  • @zaqk2
    @zaqk2 11 месяцев назад

    at 9:44 , the subscript of weights of last 2 terms seems like typo. Its w00w11 and w01w11.
    This was an amazing tutorial thou... Most understandable vdo... Thanks for making this.

  • @joseluismatabuenasedano6881
    @joseluismatabuenasedano6881 Год назад +1

    Hi, good job! I'd like to understand some things to my own implementations, if you will.
    1. How do you avoid high order harmonics due to non-linearity?
    2. How does the flow evolve into a von Karman vortex street without viscosity? what is causing the separation of the cylinder?

    • @Paul-mi8zl
      @Paul-mi8zl Год назад

      I'm not sure of my answer but finite difference method is diffusive so that using it add numerical diffusion in the resolution

  • @peterhall6656
    @peterhall6656 Год назад

    That was insightful.

  • @shilo_kulo
    @shilo_kulo Год назад

    great tutorial

  • @mytino
    @mytino 2 года назад

    Fantastic tutorial!

  • @СеменТТХ
    @СеменТТХ Год назад

    Good day! Cool stuff. Can you tell me where to find a description of this method (an article or a book). I would like to study this in more detail.

  • @tunahandogan5309
    @tunahandogan5309 Год назад

    Super Content and Nicely Done 👌👌

  • @lionelmartinez6810
    @lionelmartinez6810 Год назад

    Qué maravilla de vídeo. ¿Podría hacer alguno de una simulación electromagnética? Por ejemplo, el funcionamiento de una antena tipo dipolo. Thank

  • @artemiyf9078
    @artemiyf9078 Год назад

    Thank you so much for this tutorial, sir. Can you please explain where you took the equation for the pressure on 7:04?

  • @Joe-zw9ep
    @Joe-zw9ep Год назад +1

    Amazing

  • @jplanet8
    @jplanet8 Год назад

    This is very informative!!!!! 😃

  • @pablobotin9974
    @pablobotin9974 10 месяцев назад

    Congrats for this amazing video. I had never seen this method for forcing the Incompressibility before. Is there any paper in which this method is presented? Could you please share paper or how did you discover it?

  • @DasIssses
    @DasIssses 12 дней назад

    Thank you!

  • @veitheld167
    @veitheld167 Месяц назад

    This is very impressive! However, there seems to be something wrong with the handling of the velocities within the obstacle or maybe only with the streamlines. When I move the ball around a bit I can change the flow, I can even make streamlines come straight out of the solid obstacle. If I move the ball to the left it appears to be alright, but if I push it to the right a bit then you see the flow coming out of the ball. So I checked the code and deactivated the c.fill() command that fills the ball with the grey color. Now I could see that some sreamlines get started from within the ball with a velocity in the direction of my last push. And when this line then crosses the surface of the obstacle it gets pushed in the direction of the flow around it.
    Maybe I can fix that myself. (I am currently trying derive a version of this tool where the ball is replaced with the NACA-profile of a Cessna wing. If I can make that work this should be a great tool to demonstrate all sorts of aerodynamical effects, like e.g. the increased lift in ground effect when flying very low.).
    Edit: Meanwhile I found half a fix. It appears that the script registers the movement of the obstacle and sets the internal velocity accordingly. When you stop shoving the ball around it should set all the internal airspeeds to zero, which it sometimes fails to do. Hoewer, if you grab the obstacle a second time with your mouse, click the left mouse button without moving then it will correctly set the internal speeds to zero and the streamlines fit.
    But now I am wrestling with another problem: If I use my NACA-profile instead of the circle then I get a dead water zone behind the wing and the streamlines do not follow the shape of the wing. That is a result of neglecting viscosity, because the air above the wing can easily slide over the air in that bubble, without any frcition dragging the air with it and ultimately enforcing the correct flow pattern. So, I now need to find a way to include viscosity. Matthias had actually dropped a remark that he might do that himself in a future video ... :)

  • @gregor-alic
    @gregor-alic 8 месяцев назад

    Hi! Have you also looked into eulerian simulation of advection? I used the same approach as you, however I find that semi-Lagrangian advection has a problem of energy loss. The problem arises when velocity vector is so great, that it "skips" a few cells and can end up inside a wall. In such cases, advected velocity becomes 0. I haven't been able to find a better method though.

  • @eazegpi
    @eazegpi Год назад

    I really liked this video. Superbly explained. I have one small question though. What would be the neccessary modifications if your grid had a different spacing in each direction?
    I think the divergence would have to ve corrected by a factor hy for the u components and a factor hx for the v components, but I can't figure out how to correctly calculate the pressure, which also depends on h.
    Thanks!