adjoint-based optimization

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • A description of adjoint-based optimization applied to Fluid Mechanics, using the flow over an airfoil as an example

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

  • @aflofo
    @aflofo 11 месяцев назад +5

    This is probably the most comprehensive explanation of how adjoint optimizations work. Everyone else wants to jump right into the math without giving a good intuitive understanding about what is going on first.

  • @indukantdeo8125
    @indukantdeo8125 5 лет назад +4

    A really helpful description of adjoint-based optimization

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

    what a tremendous explanation!

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

    excellent video! Thank you!

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

    Thanks for the very good explanation! Would it be possible to compute the derivatives directly for the lift/drag-ratio rather then doing it independently for the two quantities? I assume that would reduce the required computational effort further (by the cost of one foward function evaluation)?

  • @thibautdalemans8601
    @thibautdalemans8601 4 года назад +3

    Hello, I really enjoyed the video and it is very good basic explanation of the adjoint method. Do you have some references where the concepts that you mention are explained? Thank you in advance.

    • @learnfluidmechanics4166
      @learnfluidmechanics4166  3 года назад +1

      Antony Jameson at Stanford wrote a course for the Von Karman Institute in 2003. You may be able to fine them online.

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

      @@learnfluidmechanics4166 I believe the lecture you mention is available here: aero-comlab.stanford.edu/Papers/jameson.vki03.pdf

  • @luofenghuang8015
    @luofenghuang8015 4 года назад +1

    really clever! thanks

  • @OnshapeInc
    @OnshapeInc 3 года назад

    Very interesting presentation! Thanks for sharing.

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

    I'm confused about why it's more efficient to solve for how the lyft/drag changes with respect to each flow variable. Are you solving a PDE for each flow variable? Or does it have something to do with how you evaluate the lift/drag from the flow variables?
    Thank you! Lovely explanation of concept.

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

    why do we use the reynold's number? it seems like an arbitrary simplification that should be the result of the calculations rather than be used by the calculations

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

      Reynold's number is used to know if we can compare 2 simulations/validation tests. The lower the number the more dependent on viscosity the flow is.
      Since similar numbers have similar characteristics you can use much smaller scale models to check if the simulations are accurate (as long as the numbers are similar)

  • @chrishermans
    @chrishermans 3 года назад +1

    So essentially, this boils down to backpropagation, as performed in neural networks...

    • @elmattnewniper5898
      @elmattnewniper5898 3 года назад

      Yes. Neural Networks use automatic differentiation. You can automatically differentiate some, but not all, CFD codes.

    • @chrishermans
      @chrishermans 3 года назад

      @@elmattnewniper5898 Not sure what you mean by that, but then again my background is not in computational fluid dynamics. I did some stuff with it in my master's, ages ago, but that's pointless atm.

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

      No. Backpropagation is a recursive algorithm for updating parameters arranged in a layered hierarchy. Adjoint methods are an alternative to backpropagation. Both use local gradients, but that's the end of their similarity. Adjoints require more mathematical understanding to use but usually have better computational properties.

  • @ninepuchar1
    @ninepuchar1 3 года назад +1

    May i ask what software are you using for this? And could you provide the file for simulation so that we can check how is it done? or perhaps a simulationvideo demonstrating the adjoint-based optimisation . Thank you

    • @learnfluidmechanics4166
      @learnfluidmechanics4166  3 года назад +3

      We use Fenics (fenicsproject.org). I can't provide the code right now, but Petr Kungurtsev may make it available with his PhD when it is published around March 2021.

    • @ninepuchar1
      @ninepuchar1 3 года назад

      @@learnfluidmechanics4166 thank you

    • @ibrahim-sy7ff
      @ibrahim-sy7ff Год назад

      ​@@learnfluidmechanics4166 hello, I am enquiring if this code was made available. If so, kindly show me

  • @qr-ec8vd
    @qr-ec8vd 2 года назад

    this is just analytical partial derivations, right?

  • @muhammadsarmad9345
    @muhammadsarmad9345 4 года назад +1

    Where can I find the literature related to this example

    • @learnfluidmechanics4166
      @learnfluidmechanics4166  3 года назад +1

      This example is from an undergraduate thesis. You can find details of other examples on my website (the tutorial section is probably most useful) www2.eng.cam.ac.uk/~mpj1001/MJ_publications.html#tutorial

  • @idiosinkrazijske.rutine
    @idiosinkrazijske.rutine 3 года назад

    Very nice explanation indeed.

  • @muhammadusmanshahid4195
    @muhammadusmanshahid4195 3 года назад

    Hey, Please answer my query as soon as possible. I really need it on urgent basis. For finding how flow variables are changing with respect to every parameter, wouldn't you need to solve 200 times by changing those 200 parameters one by one??

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

      You run the adjoint code once for each output variable (e.g. lift or drag) rather than once for each input parameter.

    • @muhammadusmanshahid4195
      @muhammadusmanshahid4195 3 года назад

      @@learnfluidmechanics4166 to find the derivative of flow with respect to parameters, we need to change that parameter. How changing the parameter will change flow variables without solving the flow?

    • @muhammadusmanshahid4195
      @muhammadusmanshahid4195 3 года назад

      ​@@learnfluidmechanics4166 can you please tell me your email address?

    • @learnfluidmechanics4166
      @learnfluidmechanics4166  3 года назад +1

      @@muhammadusmanshahid4195 With adjoint methods you do not need to change the parameter to find the derivative of the output with respect to that parameter. The first time you see it, it seems like magic. For a review paper on this see www.annualreviews.org/doi/abs/10.1146/annurev-fluid-010313-141253

    • @muhammadusmanshahid4195
      @muhammadusmanshahid4195 3 года назад

      @@learnfluidmechanics4166 Thanks!