[CFD] Residuals in CFD (Part 2) - Scaling

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

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

  • @pierrefpv
    @pierrefpv 25 дней назад +2

    I find most talks about CFD very hard to follow, but most of your video's I can actually understand and come out with a deeper understanding. Great job and thank you!

  • @NaMoiitmadras
    @NaMoiitmadras 2 дня назад +1

    Great work providing deep physical understanding

  • @tedonk03
    @tedonk03 2 года назад +16

    Just binged the whole 2 episodes like watching a movie.. awesome explanation.. episode 3 pls ☺️ thanks again

  • @ivanazcona2604
    @ivanazcona2604 2 года назад +6

    You dont know how Much you help me to understand CFD, thank you!!

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

    i didn't take any notes while watching but at the end of the video I'm still able to memorize and write down everything I've learnt and I think that shows how good and comprehensible your explanations are. Very well done sir!

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

    respect from a moroccan student studying in germany, your are the best
    Danke schön Herr Aidan :D

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

    I´ve been following for over a year now. I can´t believe material of this quality (top of the shelf) is public. You´re something else. Thank you Aidan.

  • @TheHumanNexus
    @TheHumanNexus 6 месяцев назад +2

    You are simply great… Thank for making me understand the basics clearly…..

  • @denniii09
    @denniii09 2 года назад +3

    Highly anticipated the second video :) Thank you!

  • @Pa5word
    @Pa5word 2 года назад +5

    I was waiting for the second part, thanks super appreciate it!!

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

    Thank you very much!!! God bless you

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

    Was waiting for it.😁

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

    Super explained, thanks.

  • @blktayeb
    @blktayeb 2 года назад +3

    thank you very much for your generosity in sharing this knowledge.

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

    Thanks.Appreciate it.

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

    your explanations are better than what my university professors do...

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

    Thank you for your helpful sharing, I very expect your next videos, sir

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

    Thanks a lot for your videos! I am an engineer working for Russian space agency doing CFD, mostly compressible, and I find your tutorials very helpful for the various of things. I have been trying to find an explanation about lowRe functions and you gave this in one of your previous tuts, but I am left with the question like what are all-Re and high-Re functions and what is the difference between them.

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

      I am still trying to work this out myself, but I think the confusion comes from the description of 'Re'. I think they are referring to the wall Reynolds number, which is a Reynolds number based on the shear velocity and the distance from the wall. You can use this 'wall Reynolds number' to define where you are in the boundary layer profile. If the function is 'lowRe' then it only works if you are in the viscous sub layer. If it is 'highRe' then it only works if the first cell centroid is in log law region. 'allRe' has some capability to blend the buffer region (but this will always be questionable). That is my current understanding, I hope it helps ☺️

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

      Sounds quite logical, that’s why I always try not to use allRe functions cause this term is blurry enough for me:) so the term “lowRe” is a unique attribute of k-epsilon model and has nothing to do with k-omega model, as far as I understand. I am using different from ANSYS software, and when I choose model SST it allows me this 3 wall treatment models to choose- low-, all- and highRe, I don’t quite understand why I have to choose it since k-epsilon is not supposed to be used near wall so these wall functions are not applicable…

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

    Thanks your the best in explaining ☺️.

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

    I found this talk very usefull. I am looking forward for next part.

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

    i have been waiting for this part as soon as part 1 cleared my concepts,

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

    great job! looking forward for part 3!

  • @mohame.k5399
    @mohame.k5399 Год назад +1

    Thanks Aiden

  • @AmanKumar-jh5zg
    @AmanKumar-jh5zg Год назад +1

    Thank you 🙏

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

    I'm in love with your lecture ❤️

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

    Can’t wait for part 3. Excellent info

  • @divyajyotibasu3001
    @divyajyotibasu3001 2 года назад +6

    Absolute masterpiece!! looking forward to your next talk on residuals. Can u pls explain what are relaxation factors in ANSYS Fluent and OpenFoam?

    • @gerhardbekker646
      @gerhardbekker646 2 года назад +3

      Let's say a temperature of T^(1) = 10 K is obtained after your first iteration (in a given cell). That temperature then changes to, say, T^(2) = 20 K after the second iteration. Now if you use an under-relaxation factor of 0.5, for example, that second computed temperature will be relaxed to T^(2) = T^(1) + {under-relaxation * [T^(2) - T^(1)]} = 10 + [0.5 * (20 - 10)] = 15 K. Or something to that effect. The point is that the under-relaxation reduces the change in cell values from iteration to iteration to facilitate stability. Else, changes might be too large and go out of control, especially early on in simulations when you are far from your solution. Therefore, it is not a bad idea to start with small under-relaxation factors (values closer to 0), and as you approach your solution, to increase the under-relaxation factors (to values closer to 1).

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

      .... The next lecture series will be on exactly this 😅 well explained!

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

    darn... it's super easy to follow you. loved your "talk"

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

    Great Video Aidan, keep it going! I haven't really thought about the scaling of residuals until now...

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

    very useful talk...thanks for posting.

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

    Hi,
    First, thanks a lot for your fruitful video. Both parts 1 and 2 are amazing, and you delivered the material in a very easy-to-understand manner. From your explanations, I could understand that the CFD codes calculate a vector of residuals for each transport equation when solving a CFD problem. So, assuming that our problem deals with N different transport equations and the domain is divided into M grids, we get N*M residual values in each iteration. From your first video, we learned how to use a representative residual for the domain in each iteration to work with N values instead of N*M values in each iteration. Also, in this video, you explained how the CFD codes scale the representative residuals to make our judgments (about the convergence) more accurate. However, some CFD codes (like Comsol) provide a single convergence plot (or, as they call it, error plot) for each iteration, no matter how many transport equations are included in the multiphysics problem. I understand that one can get the residual values for each equation from these codes; however, I was wondering how the residual plots (for each transport equation) differ from the single error plot. I would appreciate it if I could have your comment on this.
    Thanks

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

      Hi Mehrzad, your summary is perfect. However, I am not too sure how COMSOL works with its error plot. Probably worth having a look at the manual too see what it is doing and what it means by an 'error plot'

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

      @@fluidmechanics101 Thanks a lot for your response. Let me first correct my mistake. The name of the plot is 'Convergence Plot' (nor error plot). I took a look at the manual before, and I double-checked it just now. There is a short explanation, and most of it is related to the plot settings. The only relevant part (in my understanding) is as follows (I am quoting it from Comsol online documentation).
      'For the nonlinear solver, the convergence plots show an error estimate for each nonlinear iteration number. These numbers also appear in The Log Window. The segregated solver shows one plot with one graph for each segregated step.
      For the iterative linear system solvers, the error estimate for each linear iteration is a factor times the relative (preconditioned) residual. This number also appears in the Log window as LinErr. When these solvers are used together with the nonlinear solver, the graphs for the different linear-system solution steps are merged, and the plots use the accumulated number of iterations. Each linear solver used has a separate plot window.
      When using the parametric solver, the graphs for the different parameter steps are merged, and the convergence plots use the accumulated number of iterations. The graphs for the different nonlinear and linear solve steps are concatenated. The plot uses the accumulated number of iterations.
      When using a Time-Dependent Solver, the graph in the Convergence Plot window shows the reciprocal of the time step size versus the time step. That is, a convergence plot with decreasing values shows that the time-dependent solver takes longer time steps, and vice versa.'

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

      Once again it looks like the CFD manuals are not being very clear 😂 I will have a think and see if I can work it out

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

      @@fluidmechanics101 That's true :))) Many thanks.

  • @danieljaimi3357
    @danieljaimi3357 2 года назад +3

    Amazing Work!!! Please make a tutorial on normalisation too.Thank You!!

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

      Hold on for part 3 and 4 :)

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

      @@fluidmechanics101 Trying our best :)

  • @hafidzazharjakaria2615
    @hafidzazharjakaria2615 5 месяцев назад +1

    you are goated 😅

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

    I'm absolutely astonished by your lectures! Thank you so much for making them public! I just got a quick question if anyone could help.
    In part 1, the penultimate slide entitled "Representative residual", states that "We also need to scale the representative residual", while in this lecture, between 29:00 and 29:15, Aidan says "...what we're doing by scaling the residuals is giving us a percentage energy imbalance in every cell in the mesh and then we can use the techniques that we used in the previous talks to get a representative residual for all of the cells in the mesh...".
    What I couldn't grasp is which step comes first and which one follows? The identification of the representative residual (which is then followed by scaling) or the scaling of all residuals (and then the identification of the representative one)?
    Thank you very much in advance!

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

    you have goooood accent ; knowledge and presentation
    pleassse make a session for system coupling and the iteration we define in fluent and system coupling and the differences; concepts and so on
    Im onfused each time

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

    thank you so much

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

    keep it up fam :P

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

    This is really awesome and helpful for my bachelor thesis about simulation. I wonder how you got to know all this! Anyways thanks a lot

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

    hi, great video
    Could you do a video on how cfd solves transient flow problems. For my thesis i have to optimise the front wing of a formula student racecar and we are kinda stuck on modelling the rotating wheel because of the transient nature of the flow around it.
    Thx,
    keep up the good work

  • @pierrefpv
    @pierrefpv 25 дней назад

    Can you also scale the residual per cell by the flux in that cell, before calculating the norm?

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

    Thanks for video. As I remeber Ansys Fluent do scaling in some different way. IIf we make matrix A_abs from matrix A in the following way aabs_ij = abs(a_ij), then we can obtain vector of reference resiudal by multipling A_abs on vector T . The method that you describe is default in OpenFOAM?

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

      Yes, I described the OpenFOAM version, as we can see it in the source code and user manual. Fluent seems to be hidden and it is not clear exactly how they do it, so I left this out 🙂

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

    Thank you for this series. For the momentum equation, what does the temperature difference represent? Like what difference do we need to look in?

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

      The velocity difference? Maybe I am misunderstanding

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

      @@fluidmechanics101 Yea, I got it. Essentially you take a representative heat flux for a cell that needs a representative temperature difference. In the same sense, for momentum equation, a representative momentum flux has to be chosen.

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

    Thanks for the great insides.
    What I missed is why do we need scaling in the first place if it is only about the reduction of orders of magnitude. Can't this evaluation be achieved with the norm of the original energy imbalances as well?
    Secondly, I understood that the scaling factor is adapted every iteration. Is this true and why don't we keep it at one value?

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

    👍

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

    Hi Adian. Is the representative heat flux get an updated number for every iteration?

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

    Your videos are awesome! Please keep them coming I loved your video about discretisation very much and it helped me a lot with my modeling so far.
    I was wondering now that you mentioned CFD coding do you got any source of information for OpenFOAM programming which are understandable by a beginner :-D ?

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

      OpenFOAM is a difficult one. It takes a long time to learn as it is basically written in its own language. There are a few tutorials scattered around the internet for things like 'how to code your own solver by modifying icoFOAM'. This is probably a good place to start if you want to learn the syntax

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

    should i learn openfoam or ansys fluent??i am mech undergrad and i want to pursue further study in fluid dynamics,which software you think will be worthy. but openfoam resources are limited compared to fluent.

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

      Both are great CFD software. OpenFOAM is harder to learn but will give you greater understanding of CFD (because you have to learn more to use it).
      Maybe try out the tutorials for both and see which you prefer

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

    where i can find these these thing in cfd ... i mean how can i display it as plots

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

      What code are you using? It should be pretty straightforward in fluent, star and CFX. OpenFOAM is a bit more tricky, you will need to make the plots yourself 🙂