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.
@indukantdeo81255 жыл бұрын
A really helpful description of adjoint-based optimization
@henryford27853 ай бұрын
excellent video! Thank you!
@OnshapeInc3 жыл бұрын
Very interesting presentation! Thanks for sharing.
@diegoandrade39122 жыл бұрын
what a tremendous explanation!
@rafaeltannenberg74033 жыл бұрын
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)?
@learnfluidmechanics41663 жыл бұрын
Yes it would. Indeed this would be quicker and cheaper.
@rafaeltannenberg74033 жыл бұрын
@@learnfluidmechanics4166 Thank you for the quick response!
@idiosinkrazijske.rutine3 жыл бұрын
Very nice explanation indeed.
@thibautdalemans86015 жыл бұрын
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.
@learnfluidmechanics41663 жыл бұрын
Antony Jameson at Stanford wrote a course for the Von Karman Institute in 2003. You may be able to fine them online.
@hconel9 ай бұрын
@@learnfluidmechanics4166 I believe the lecture you mention is available here: aero-comlab.stanford.edu/Papers/jameson.vki03.pdf
@cvspvr2 жыл бұрын
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 Жыл бұрын
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)
@sechristen2 жыл бұрын
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.
@muhammadsarmad93454 жыл бұрын
Where can I find the literature related to this example
@learnfluidmechanics41664 жыл бұрын
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
@luofenghuang80154 жыл бұрын
really clever! thanks
@ninepuchar14 жыл бұрын
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
@learnfluidmechanics41664 жыл бұрын
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.
@ninepuchar14 жыл бұрын
@@learnfluidmechanics4166 thank you
@ibrahim-sy7ff Жыл бұрын
@@learnfluidmechanics4166 hello, I am enquiring if this code was made available. If so, kindly show me
@qr-ec8vd2 жыл бұрын
this is just analytical partial derivations, right?
@chrishermans3 жыл бұрын
So essentially, this boils down to backpropagation, as performed in neural networks...
@elmattnewniper58983 жыл бұрын
Yes. Neural Networks use automatic differentiation. You can automatically differentiate some, but not all, CFD codes.
@chrishermans3 жыл бұрын
@@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 Жыл бұрын
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.
@muhammadusmanshahid41954 жыл бұрын
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??
@learnfluidmechanics41664 жыл бұрын
You run the adjoint code once for each output variable (e.g. lift or drag) rather than once for each input parameter.
@muhammadusmanshahid41954 жыл бұрын
@@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?
@muhammadusmanshahid41954 жыл бұрын
@@learnfluidmechanics4166 can you please tell me your email address?
@learnfluidmechanics41664 жыл бұрын
@@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