
Jon Brigon (CEO of Alpha Math Core) presents updates in System Modeler (video "New in System Modeler"). He summarizes recent Mathematica/System Modeler releases (13.0, 13.1, upcoming 13.2) and product changes over the year: several commercial libraries (two OPC libraries and a hydraulic library) were made free; documentation moved to task-oriented workflows; integration with Mathematica neural networks; and improvements in simulation robustness and modeling experience driven by a new front end that converts Modelica to flatModelica. New/updated libraries highlighted include Aircraft, Rotating Machinery (bearings, gears, flexible shafts — SKF catalogs supported), and a College Mechanical Engineering virtual lab for teaching vibrations. New features: systemModelManipulate resource function (auto-generates interactive controls/plots from model metadata), systemModelMeasurements for control metrics (rise time, settling time, overshoot) demonstrated on Boeing 737 and Saab 2000, and support for embedding trained neural nets as System Modeler components. Topics shown: MPC/Model Predictive Control work (Suba presenting elsewhere).
Chapters
Hello, my name is Jon Brigon, I'm the CEO of Alpha Math, Core, developers of System Modeler. And today I'm going to present the latest news from the software. So since last. Last conference we had just as for Mathematica, we had the release of actually 13.2. 13.0 was just after the conference and we have 13.1 in June I think, and then 13.2 is coming up in a few weeks. As for system modeler, 13.2 is now built, ready, tested and waiting for release date basically. So let me first just give a quick summary of what has happened during the year. First, at the June release we decided that a few libraries that we are have been having for as commercial libraries that we were searching for, we made them free, we made small upgrades to them and made them free. And that's two OPC libraries and a hydraulic library. Hydraulic library. Probably most people understand what that's about. OPC is library to connect to process industry, basically. So if you, if you would like to interact between your model and for instance measurement equipment in your process, those are libraries that you could use for that. Then we. That was released at the same time as 13.1, which included MPC workflow. I will talk a bit about that today, but Suba will have more to say about that later on in a separate talk. Then we changed the documentation style so which should be easier to onboard where we did what we call task oriented documentation. So rather than having sort of snippets, just showing this is how this small thing is done, we try to do more workflows to make it easier to understand how to use the product. We also did integration with the machine learning parts and specifically the neural net part of Mathematica. If you have trained a neural network, you can use that together with a system model. I will also show that briefly today, but then also immediately after my talk there will be a specific talk on that by my colleagues. Sergio, then what's coming soon? So this is first of all I mentioned a few library aircraft people that were at the presentation yesterday, know what that's about and you might have seen it downstairs at the basement too where some of you have tried to fly over champagne or link, depending on which simulation I have been running a rotating machinery library. I will get back to that, but that's basically how to model bearings, cogwheels, planetary gears and so on. Then a new virtual lab that is coming up perhaps today. I don't know exactly when, but it could be today or tomorrow. College mechanical engineering with education material for mechanical engineering. And then in system model 13.2, where the main improvements are simulation robustness and modeling experience. That is super cool. It's not that easy to show, actually, because it's the whole sort of day of. You will see that in all small details all the time. But I will start with the next slide where I show sort of a big advantage that that led to quantify system performance is a way to get measurements from what you're doing without having to do too much coding to get those measures. And then interactively explore simulation results is sort of bringing manipulate into the simulation center interface. And then outside of the actual product, we added system model manipulate as a resource function. I will show that too. So here, how do you measure improved robustness and improve performance? This graph here is the number of bugs. The green one or the red one shows new bugs into our system since last release. So continuously detecting either ourselves or our customers detecting bugs. The green one is soul of the bugs. So you can see there, and this is pretty much, I would say how they go. They go hand in hand. But something happened here. What happened here was that we switched. We have been working for a long time on changes. It was called the front end of the kernel has nothing to do with graphical user interface, as you might believe. It's just the first part of the kernel that converts the Modelica code into something called flatmodelica, which doesn't have classes, doesn't have all the structures. We changed that. And on the day we changed that, we could close all those bugs in a few seconds. So we never had. So it's like hundred bucks from one hour to the other. And then you can also see that the number of bugs that are being sold after that continues to be that fast or fast. Why does that happen? Well, first of all, of course that happened direct was that the new front end we introduced in itself was more robust. It was better, but it also gave much better error messages. So suddenly we knew when we got an error, we knew what it pointed to and we could see is this an error of the kernel or is it actually the library that has a mistake? And this in its turn leads that we have support for more libraries. And that's a consequence of that is that we're releasing aircraft and rotating machinery, which are libraries that we have had internally for a while, but have not been able to release because of different issues that we could resolve easily now with the new kernel. The good thing as a customer is that exactly the same thing will happen to you when you're using it, when you're using it with your library and your models, you will be able to improve them in a much faster way than you could before. So jumping over to interactively explore simulation results, I guess most people here, perhaps everyone has used manipulate at some point or another. So what we added now is a resource function. How many here have used any resource function before? Most of you have just added a resource function called system model manipulate and that acts on a model. In this case, I told it that it should do a system model manipulate on the model spring mass. What it does, it creates manipulate for it, I hope. Did I activate dynamics? That was so slow. Okay, it creates that. But you see, I didn't have to sort of set anything. I didn't even say what to what I wanted to manipulate. Right? So it's. In a sense it's even simpler than manipulate and what it does it takes in the models. Since previous releases we added something called model plots where we define and store with the model predefined plots that we think these are the most interesting. And you can set some of them as default. And if the model has such a default plot, then automatically it will use that and say, okay, that's probably the most likely thing for the user to want to look at. And then it takes the top level parameter and makes slider also. So you don't have to decide which things to sort of add as sliders or inputs either. If you want to, you can define any other plot or any other output with it or any other sliders. But automatically it creates something that is in most cases exactly what you want. Let's go over to a simulate a model here called laundry Room. It's a laundry model, I think is the name. It's a model from the college mechanical library and it's used to study vibrations and teach vibrations for students. So again, here you can see something like this where we have some washing machine center position point. I can open a animation for it and we can run it. Right. And we can see in this case it vibrates a lot in the beginning and then it's still what? And then after a while here comes into some condition where it vibrates a bit more. And you can see here that we added a few input fields where you can change something. Let's say that we want to change damping to 50. Then it's resimilized directly. So as a user here I can define which are my most interesting conditions. And I can add different panels in this crisis, only one and explore say that this Happens to be write protected because it's an installed library. But let's say that I take a copy of that model. Let's go here and then we see laundry room and oh, it's actually. I actually opened a non write protector perhaps. No, it was write protected. So I'll take a COP of this laundry room to my use classes. Let's have it there. And we have here an excitation with a ramp. I will simulate it again because I want to show how to create this because in system over the way to create these controls are slightly different from mathematic of course. So here we have this one again with a slightly more interesting scenario. But let me close that and let's say that instead of having a specific input here, given input I want to have a slider. Then I give it a slider and I can set some. Let's say that could vary between 50 and 1000. Then this next time I open this model, we'll have a slider for it again. You can create several of these and connect them to a list of different plots and so on which when you deliver your model to a colleague or to an end user, it's much easier for them to understand what you want them to do and how to experiment with. What I showed very quickly was also part of the college mechanical engineering library that is coming out tomorrow, perhaps, perhaps today. I don't know exactly. It's in the queue and it. It's used for teaching coding transformations, dynamics and vibrations. Okay, there you go. Quantify system performance. I chose a rather big model for this, so I want to run it live. I chose an aircraft model. So what do we mean with quantify system performance? If you're into control systems, you know that you often talk about things like overshoot rise time and settling time and things like that, meaning how long time does different types of things take in your model? In this case we simulated a Boeing 737 and a Saab 2000 and we gave them a reference trajectory to follow. And then we can see how much time it takes to get there. Now you want, then there are these readily defined, commonly used measurements that you want to take from this. And of course you could start to use Mathematica of Wolfram language commands to get that. And what you can do now is you just use system model measurements on which model and you say which outputs is it I want to study? And it will give you a quick report here saying that the rise time in this case was slightly faster for the SAP 2000 than for the heavier 737, the settling time was also faster for that one. And the overshoot for the Boeing which you can see here is higher and you get the exact value, so you get these type of measurements for it. But you can also get a bunch of other properties. I'm not going through them all, but you can see a list here for it. And yeah, I think I've shown the. You've seen the aircraft library here, so I will not show it live here for time constraints. But if you're interested, you can go down to the basement and try to fly over Champagne Lynn Shipping or City Shoes. And hopefully we have downloaded the data to visualize that specific city. So another library that was made possible by this new front end was rotating machinery. The background for this library is that back in the days we did a lot of analysis for Rolls Royce. They had. And people that have been at the conference before, they've probably seen presentations of that. They had pods, propulsions that were up to 25 megawatts. So big things that were failing, the bearings were failing one after another when they're out on the sea. Which meant that the 5,000 passengers on Queen Mary 2, for instance, at that point they had to go to the closest possible harbor, buy business tickets to them back home, give them a free tour again later on, take the ship to the closest dry dock, which there are like three or four dry docks in the world where the Queen Mary 2 fits. So it's utterly expensive. So these were failing and we started to do analysis for them and develop the library for internal use. It required a lot of sort of hands on stuff to make it work. Now it doesn't. So now we have released it as a free library. It includes gears, master shafts and so on and are with flexible shafts. And yeah, let's take a look at the library here. And there you go. So here we have the routing data machinery library. I already had it open on bearing analysis, which is a set of examples. We'll get back to that. But you can see here that we have examples in all sorts of areas. But let's look at the bearings. So here we have a bunch of roller bearings. SKF is the largest, world's largest manufacturer of bearings and they are from Sweden. We work a lot with them, by the way. And then we have a few others here. And these are specific bearings. If I open. Let's open the help for this. Let's take a look at what's there. Let's do this. There you go. And zoom in a bit. So each bearing manufacturer a few years ago, and this is really odd, they agreed on how to document and parameterize their bearings. So they use the same naming convention in the catalogs and so on. So if you get a catalog for skf, you will see for hundreds of pages of different bearings. And all these are parameterized with everything from diameter for the rollers and for the outer ring, inner ring, so on and so forth. And with the help of this, you can set those parameters in the system model model and you will get that exact bearing simulated. So, meaning, let's say that you want to test, you have a system where you have a. Let's say you have a SKF bearing and you want to see if there is an FAG bearing that would work just as well. You can test that and see what you can expect from it. The things you would. The way it would look like go here, I simulated this again, because this is rather detailed roller bearing forces. So this is the visualization on one bearing where we have applied a defect on the outer ring. So each time the bearing sort of gets there, where a roller gets there, it gets a knot. And this is what happens with bearings. Sooner or later they often fail. So we can see here what happens when we simulate it. So we see the red there is where we have that failure. So every time a roller comes there, it increases the blue arrow. Is that. Yes, there. So you can sort of see one of the rollers is marked with blue. So you can follow and see when there's. When one lab has been run. So this is sort of, if we look at what I actually learned from it, it's things like what is the contact force for a specific roller? This is for one of them. And this is the sum of. The blue arrow. So this is when the one that was marked with blue, this is where it passes the defect. If we look at three different rollers together, we can see sort of how the contact force changes over time for these. So you get into quite rather detail here into how a rotating machinery would be affected by vibrations. For instance, You can also do planetary gears, but I would not show any more than that. And then you see here we'll have all the context between the cogs and so on. Now, a couple of last few minutes, a bit of promotional material will be made. Better presentations or more detailed presentations just after this. So there's one on machine learning workflow with system model. So why would you care about machine learning together with a system model? Well, you might have one part that you actually don't know how to model deterministically with a system model. It might be some cooling process. You have a lot of data, then you can train that neural network and you train that in Mathematica you get this net chain and once you have the net change you can now use grade system model. And that will create a drag and drop model that you can connect to the other models in your system just as any other object in system modeler. So if I just skip down here and this hopefully. Oh, it's just a model plot. I should have opened it instead. But never mind, that was not the one I was planning to open. So we have. There you go. So here we have simulated it with it. But what I wanted to show was the diagram first. Let's do this. So you see how I actually had it there. So here's the diagram. There's the neural net and then there's the rest of the system which works just as any other object in system modeler. Meaning that you can combine the two types of modeling in one model. Next thing that we will have a presentation for is is integrated machine learning. This was the wrong title. MPC should have been here, sorry. Model predictive control. And that will be Suba presenting this. And basically model predictive control is something you might want to use in an aircraft. Today it's almost only used in process industry. The reason is that those processes are fairly slow. And what a model predictive controller does is takes a model tries to predict if I do this, if I do that, what would happen and from that choose the optimal solution. So it costs quite a lot of it's calculations intensive. So it's high cost in that sense. But what SIUBA has been working on is to make this more useful for faster systems. And as Suba and as I'm running out of time and Subha will present soon, I'll take this very fast. So basically what he has done here is designed an MPC and these colors find different regions where different control strategies basically will be used. We'll be getting back to that and then based on that, in this case you have bunch of simulations showing that if I get to this start point, everything will find sort of the final solution here. They will go different paths using the controllers in different ways. But Suba will explain this much better. And when is that happening? Well, we are here on Thursday. It's happening now. Thank you.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






