Тёмный
OpenMDAO
OpenMDAO
OpenMDAO
Подписаться
A place to view tutorial videos for the OpenMDAO open source software project.
Brief intro to derivatives
9:52
Год назад
Explicit vs implicit systems
8:06
Год назад
Types of gradient-free optimizers
10:38
Год назад
2022 OpenMDAO Workshop recap
5:20
Год назад
Комментарии
@MahbuburRahman-ro2xy
@MahbuburRahman-ro2xy 7 дней назад
for weighted sum method how do u determine the scale factor. is it max of that value.?
@hailongtang-oz5bk
@hailongtang-oz5bk 13 дней назад
very good
@jinchen-ei8mw
@jinchen-ei8mw 25 дней назад
Do you use PYCYCLE? May I ask you to exchange ideas😉
@jinchen-ei8mw
@jinchen-ei8mw 25 дней назад
In the PYCYCLE's off-design points, I wanted to control with N1 instead of thrust and T4, so I changed the balance module as follows: balance.add_balance('FAR_core', eq_units='rpm', lower=1e-4, val=.017) self.connect('balance.FAR_core', 'burner.Fl_I:FAR') self.connect('LP_Nmech', 'balance.lhs:FAR_core') The error is as follows: RuntimeError: Collected errors for problem 'problem79': 'case1' : Attempted to connect from 'LP_Nmech' to 'balance.lhs:FAR_core', but 'LP_Nmech' is an input. All connections must be from an output to an input. How can I change it
@pnachtwey
@pnachtwey Месяц назад
I like Nelder-Mead. Often REAL data is noisy so that computing an accurate gradient is impossible. You forgot Powell’s method.
@pnachtwey
@pnachtwey Месяц назад
Rosenbrock is easy compared to using real data. Only gradient descent seems to take too many iterations.
@marcelohenrique3000
@marcelohenrique3000 Месяц назад
0:01 you won me here k +1 subscriber
@climbersisyphus
@climbersisyphus День назад
that shit was so annoying.
@albertz0
@albertz0 3 месяца назад
Great channel. A lot to learn. Would have been great if from 9:00 the derivates would be drawn for clarification.
@xvA0000
@xvA0000 3 месяца назад
bomb intro
@rpapa
@rpapa 5 месяцев назад
Great Video! thank you so much...................
@brianvuyiya17
@brianvuyiya17 6 месяцев назад
As an undergrad student of engineering here in Kenya i just stumbled across this concept of OpenMDAO and from these presentarions there's really alot to learn. My passion for aerospace has even been accelerated.
@OpenMDAO
@OpenMDAO 5 месяцев назад
Amazing! We're really glad you enjoy these presentations and video. So much great content here.
@sarangeulo
@sarangeulo 6 месяцев назад
Hi sir, for the study i am conducting right now in high school, i have only one decision variable that correlates to two conflicting functions that i want to minimize. this means the objective space would only have a Pareto front and not any "surfaces" of different combinations of the two objectives, because defining the value of one function immediately locks my only variable and hence the second function as well. my question is... in such cases, is it reasonable to approach these situations with the same MOO techniques? or if not, could you please guide me to some other ways that I can achieve such MOO with only one decision variable? Thanks in advance.
@OpenMDAO
@OpenMDAO 5 месяцев назад
Thanks for explaining your situation well! This is a sort of special case because you have only one design variable and two functions of interest. If you only have one design variable, you're pretty limited in how much optimization you can do in that space. If possible, reformulating your problem to have more design freedom would be helpful, otherwise there's not much to do to explore the space.
@brickie9816
@brickie9816 6 месяцев назад
your intro just earned you a sub right of the bat
@scar-kq3cl
@scar-kq3cl 7 месяцев назад
your intro is cringe
@a_0vi
@a_0vi 2 месяца назад
not cringe... but it surely scared the hell out of me for a sec!
@yingwu6417
@yingwu6417 8 месяцев назад
Hi, thank you for this excellent video! I have a quick question. If we have three blocks (like input1, input2, input3 from left to right) in horizontal direction, which are inputs to three analysis blocks (like module1, module2, module3), respectively. Does it mean input1 leads to input2, and input2 leads to input3? Or the three inputs can be in random order? Thanks!
@OpenMDAO
@OpenMDAO 5 месяцев назад
Hi there, I'm not sure if I interpreted your question correctly, but you can have an input that feeds into multiple components downstream of the first component. The order matters because if the flow loops back to an earlier component then there is an analysis cycle which must be resolved with a solver.
@AeroStark
@AeroStark 8 месяцев назад
How would you recommend developing these partials and handing them over to OpenMDAO? Would you suggest a symbolci python package to compute them? Equally, I have run a few loops in OpenMDAO without informing the partials at all, and it still solves the problem. Is it developing partials for me automatically? Thanks!
@OpenMDAO
@OpenMDAO 5 месяцев назад
Hey, sorry for the delay! You could absolutely use a symbolic tool to get the derivatives, or recently we've had good success with the tool Jax. Without seeing your model, I'm not certain about the details. You might've been using finite difference approximated derivatives, which OpenMDAO can compute, but that's not the default. Alternatively, maybe the problem appeared to solve correctly but actually didn't converge to the right answer.
@AeroStark
@AeroStark 5 месяцев назад
@OpenMDAO Do you have any suggestions for adjoint solver tools? And what is the default partials method withing OpenMDAO? I do not recall telling my model to use FD
@OpenMDAO
@OpenMDAO 5 месяцев назад
@@AeroStark What sort of adjoint solver tools are you looking for? OpenMDAO can combine the partials in both the forward (direct) and reverse (adjoint) modes. If you're talking about linear system solvers, OpenMDAO works with a few. If you're talking about defining partial derivatives, check out Jax or similar AD tools. The default behavior for partials if not defined is that they are 0. Here's more info about approximating partials: openmdao.org/newdocs/versions/latest/features/core_features/working_with_derivatives/approximating_partial_derivatives.html
@franciscoparraguez4576
@franciscoparraguez4576 9 месяцев назад
👏👏👏👏👏👏
@ChathuraJayasundaraIMD
@ChathuraJayasundaraIMD 10 месяцев назад
This video saved me. thank you so much ❤
@octaviodelmazoalvarado1241
@octaviodelmazoalvarado1241 Год назад
I second @flourishomotola5306, there are paid videos FAR from the quality of this content. Straight to the point, clear, well explained, and high quality content overall. Thanks @OpenMDAO
@OpenMDAO
@OpenMDAO 5 месяцев назад
Thank you! Comments like this really propel us!
@manuelsteele8030
@manuelsteele8030 Год назад
This is an excellent overview with real-world engineering. Courses on optimization can get extremely theoretical and abstract. The examples and plots help me understand it a lot better. I am a PhD student in data science at Arizona State with five masters degrees - mostly in engineering (lol).
@OpenMDAO
@OpenMDAO Год назад
I'm really glad to hear this is helpful for you! Thanks for the kind words.
@antonmaier2263
@antonmaier2263 Год назад
is openmdao used in the industry? can i get a job doing specifically this, instead of mdo?
@OpenMDAO
@OpenMDAO Год назад
OpenMDAO is indeed used in industry, across different fields, such as aerospace vehicle design, wind energy, financial markets, and others. That being said, OpenMDAO is a tool to help you perform MDO. If you're looking for a career in this space, it makes sense to learn MDO in general, and you can use OpenMDAO to help you solve complicated problems. I acknowledge I'm biased too as I've made a career out of doing MDO using OpenMDAO. :)
@antonmaier2263
@antonmaier2263 Год назад
@@OpenMDAO thanks. I was asking of mdo is usually done with other tools.
@antonmaier2263
@antonmaier2263 Год назад
i love the intro
@antonmaier2263
@antonmaier2263 Год назад
secondly if you find yourself optimizing multiple outcomes you might want to think about your optimization space. for example: maybe you dont want to optimize fuel burn and zero-fuel weight but want to optimize ROI on that plane for your given business model. answering that question will give you weights or a greater function that you might want to optimize.
@antonmaier2263
@antonmaier2263 Год назад
wait a second, my intuition would be not to add the variables but to multiply them. am i wrong?
@OpenMDAO
@OpenMDAO Год назад
That's another way to combine objectives. What that means is that each objective would be weighted by the current value of the other, whereas adding them together assumes no such weighting. The most common type of multiobjective optimization adds the objectives together with different pre-defined weights, as shown in the latter part of this lesson.
@SO-dl2pv
@SO-dl2pv Год назад
You simply made my day because TIL about complex step. Thank you very much.
@SO-dl2pv
@SO-dl2pv Год назад
Thank you for this course. I have a question about the software you're using for the presentation: which software are you using?
@OpenMDAO
@OpenMDAO Год назад
Thanks for your kind words! I'm mostly using Manim Community (www.manim.community/) for the math and graphs and Adobe Premiere Pro for the video editing.
@SO-dl2pv
@SO-dl2pv Год назад
@@OpenMDAO Thank you for the reply! the quality of the presentations is astonishing.
@roofyosrs3513
@roofyosrs3513 Год назад
thank you !
@MayankChetan
@MayankChetan Год назад
Awesome video! Is the intro a DMCA-free voice-over by you? 😂
@OpenMDAO
@OpenMDAO Год назад
It is! Much easier to get original content cleared by export control. :)
@AJ-et3vf
@AJ-et3vf Год назад
Awesome video! Thank you!
@trickyabb
@trickyabb Год назад
😂 that was quite an intro
@jaiwall2002
@jaiwall2002 Год назад
very well structured and easily understood. keep up the great work! 😃
@flourishomotola5306
@flourishomotola5306 Год назад
How is this video free? Thanks a lot. Very clear and concise.
@-.-.2272
@-.-.2272 Год назад
Hey. Im working on a project in which myself and other 15 engineering students are going to develope a hydrogen powered airplane. I cam across this technique in a paper and want to learn to adapt it to our problem. That should happen quite fast, because our design freeze is in december and the important design decisions are going to happen in the next month or two. What is the best literature you would recommend for me to be able to apply this as soon as possible? thanks :)
@-.-.2272
@-.-.2272 Год назад
ah i will read through the documentation on the website. i hope i can get a grasp of how i work it that way
@OpenMDAO
@OpenMDAO Год назад
@@-.-.2272 That's a great place to start! It really comes down to how involved you want to do your optimization and what kind of models you already have. If you decide to do multidisciplinary design optimization, checking out the OpenMDAO docs is a must: openmdao.org/twodocs/versions/latest/main.html And for more of a theoretical treatment beyond what the Practical MDO course shows, I'd recommend this book: mdobook.github.io/ Best of luck!
@-.-.2272
@-.-.2272 Год назад
@@OpenMDAO i have read quite alot about the topic of mdo now. But i feel like i won't be able to master open mdao within the next two weeks. Do you maybe know an alternative software that is a bit simpler. In our systems we have rather simple and alot of linear equations connecting weight, range and efficiency. Maybe open mdao is abit overpowered for this application
@OpenMDAO
@OpenMDAO Год назад
@@-.-.2272 I understand your considerations. I'd suggest simply constructing your models by hand and using a simpler package, like Scipy's optimize methods (docs.scipy.org/doc/scipy/reference/optimize.html) to control the model. You won't be able to model or optimize complicated multidisciplinary models with as much control, but if you're able to parameterize and understand your model, that's a good simple approach.
@shantanugulawani9346
@shantanugulawani9346 Год назад
Hi, Thank for discussing XDSM. My Professor always admire when I go with XDSM of the problem to him. One more con of pyXDSM is that it ignores characters after a underscore in variable names, and now I got a habit of naming variables as: MyVariableName. 1. What are your thoughts on XDSMjs? I don't have js background, so your inputs would really help. 2. The animations you showed were really awesome. I believe those were done in power-point!? Also the INTRO beatbox is the best
@OpenMDAO
@OpenMDAO Год назад
Hi, thanks for your kind comments and discussion! I'm glad to hear you're using XDSM diagrams. I just checked and you can use underscores in your variable names if you escape it beforehand, like: "D_1" becomes "D\_1". It will then display at "D_1". 1. I haven't personally used XDSMjs, but I generally like the tools that ONERA develops. I think if I wasn't used to pyXDSM, I'd might use XDSMjs. 2. Thank you! The majority of the figure graphics are done in Manim (manim.community/) and the intro graphics were done in Adobe After Effects.
@IDViotti
@IDViotti Год назад
Very cool. I'm looking forward for th next videos!
@microcolonel
@microcolonel Год назад
Excellent intro. :+ ) Gradient based because... We can't feasibly shove that many polynomial constraints into an ordinary constraint solver.
@vijaikumar6310
@vijaikumar6310 Год назад
That intro is fire.
@kapilkhanal9678
@kapilkhanal9678 Год назад
I am getting this error for a project I am doing - "Positive directional derivative for linesearch". Is it because a solver is not converging or the optimizer is not converging...looking deeper I found that for some iterations derivative is 'None' and it was 'None' at least few times before it threw this error. For gradient calcualtions, I am using 'fd' as one of the discipline specific solver I am using do not provide derivatives out of the box. I am wrapping this blackbox solver as explicit component. Thank you !
@OpenMDAO
@OpenMDAO Год назад
Hey Kapil, thanks for your comment. That could be caused by a few different reasons and without looking at code it's challenging to diagnose what's going on. Could you please post a question to StackOverflow with the `openmdao` tag with a code snippet so we can better help you? Thanks! stackoverflow.com/questions/tagged/openmdao
@kapilkhanal9678
@kapilkhanal9678 Год назад
Thank you for this lecture. If we have a cycle in the MDA then do we add nonlinear solver for eeach of the cycle or just once in the problem.model?
@OpenMDAO
@OpenMDAO Год назад
Thanks for the question! It's usually best practice to add a nonlinear and linear solver at the lowest level possible that resolves the coupling, so it'd be for each of the cycles. You could do it just once at the problem.model level, but that means that the entire model is within the solver, which may lead to unnecessary computational overhead. If you're running into solver convergence issues, it might make sense to have solvers at the cycle level and at the top level too; it's certainly problem dependent.
@EtJoAd
@EtJoAd Год назад
Great video John!
@ZeeshanKhan-jo1es
@ZeeshanKhan-jo1es Год назад
How can we access this course? I am interested in taking the course. Can you please guide me for the procedure to access the contents?
@OpenMDAO
@OpenMDAO Год назад
Thank you for your interest! Late next week we will release the first batch of lessons and Python notebooks. I'll comment here when those are publicly available.
@OpenMDAO
@OpenMDAO Год назад
Here is the website for the course: openmdao.github.io/PracticalMDO/intro.html We will be rapidly updating it with new notebooks and other video lessons (which will also be on this RU-vid page). Please let us know if you have any questions!
@elvisgyaase6170
@elvisgyaase6170 Год назад
@@OpenMDAO Thanks
@sagarpanchal3318
@sagarpanchal3318 2 года назад
Views are less. But interesting topic and please keep adding videos to this channel