Building a Robust Metamodel for Electric Motor Optimization
Hello everyone, welcome back. In our last video, we configured the sensitivity analysis in optiSLang and launched it to analyze our BPM motor design. Now, we'll examine those results, build a metamodel, and refine it for optimization.
Reviewing Sensitivity Analysis Results
First, let's begin by reviewing our sensitivity analysis results:
- A majority of our designs show false under the Feasible column. This is completely normal.
- The feasible designs are those that meet all the constraints we defined earlier. We have several feasible designs, which is great because they provide a strong starting point for our optimizer.
- Some designs have zeros across all the results columns, indicating failure due to non-physical or broken geometry. We need to either investigate each failed design or omit them from the metamodel, which is what I'll be doing here.
Examining Successful Designs
One advantage of the settings we activated is the ability to easily examine the geometry of any design. Let's look at one of our successful designs, Design 75, a feasible solution:
- Navigate to the project directory folder and open the sensitivity folder.
- Find the subfolder named Design 0075.
- Inside, you'll see screenshots of both the radial and axial views of the geometry as well as the winding configuration.
This visual confirmation is very helpful when assessing why certain designs succeeded while others failed. I'll show you later how to incorporate these screenshots directly into your optiSLang post window.
Understanding the Meta Model of Optimal Prognosis (MOP)
Before we continue, let's clarify what an MOP actually is:
- MOP stands for Meta Model of Optimal Prognosis, a key concept in design optimization.
- It's a simplified mathematical representation that approximates the behavior of a more complex system.
- Instead of running full motor CAD simulations for every design iteration, which is computationally expensive, we create a surrogate model to predict outcomes almost instantly.
Surrogate Modeling
Surrogate modeling is valuable for complex engineering systems like our motor design. Here's a quick summary:
- Start by sampling the design space using a limited number of full simulations, as provided by our sensitivity analysis.
- optiSLang constructs mathematical functions that approximate the relationship between input parameters and output responses.
- These approximations can be evaluated thousands of times in seconds, rather than hours or days required for full simulations.
Building the Metamodel
Now, let's build our metamodel:
- Reactivate the MOP node that was previously deactivated using Ctrl E.
- Click the run button to have optiSLang build the MOP based on our sensitivity analysis data.
- Once the MOP is built, right-click on the MOP node and select Show Post Processing to examine the results.
Analyzing the Results
Looking at the response surface and the residual plot:
- We can spot a group of designs separate from the others. The response surface plots torque at 500 RPM on the z-axis, and these outlier designs show values of 0.
- In the residual plot, these designs appear on the left side, where the data matrix shows the quantitative influence of each parameter on our model's variation.
Using the COP matrix, we can determine the most important parameters and evaluate the forecast quality of our surrogate models. Our current COP values are around 70%, but for robust optimization, we want these as close to 100% as possible.
Cleaning Up the Metamodel
Let's clean up our metamodel by removing failed designs:
- In the residual plot, drag over the outlying designs to select them all at once, then right-click and select deactivate.
- Notice how the plot adjusts to the new data range.
- Rebuild our MOP using only the remaining valid designs by clicking the build MOP button and then OK.
Looking at the updated COP matrix, we see dramatic improvement. Most values now show over 99%, with the lowest at 95.3%. We could try to remove additional outliers, but we must be cautious not to overestimate the approximation quality.
Conclusion
With our metamodel successfully built and defined, we're ready to move on to the next step: optimization. In our next video, I'll show how to leverage this metamodel to run tens of thousands of iterations rapidly, allowing us to efficiently explore our design space and identify optimal motor configurations.
If you have any questions about the metamodeling process, please leave a comment below. Don't forget to like and subscribe so you don't miss the final part of our BPM motor optimization series. Thanks for watching!
Building a Robust Metamodel for Electric Motor Optimization Hello everyone, welcome back. In our last video we configured the sensitivity analysis in optiSLang and launched it to analyze our BPM motor design. Now we'll examine those results, build a metamodel, and refine it for optimization.
First, let's begin by reviewing our sensitivity analysis results. You can see that a majority of our designs show false under the Feasible column. This is completely normal. The Feasible designs are those that meet all the constraints that we defined earlier.
In our case, we do have several Feasible designs, which is great because we can use these later to give our optimizer a strong starting point. You'll also notice that some of the designs have zeros across all the results columns.
These are designs that failed likely due to combinations of variables resulting in non-physical or broken geometry.
When creating our metamodel, we need to either investigate each failed design to determine the root cause of failure, or more practically omit them from the metamodel, which is what I'll be doing here. A quick note about these results.
One of the advantages of one of the settings that we activated during the setup is we can easily examine the geometry of any of these designs. So let's look at one of our successful designs, Design 75, which is one of our feasible solutions.
If we navigate to the project directory folder and we open the sensitivity folder, we can find a subfolder named Design 0075. Inside you see screenshots of both the radial and axial views of the geometry as well as the winding configuration.
This visual confirmation is very helpful when assessing why certain designs succeeded while others fail. I'll show you later how to incorporate these screenshots directly into your optiSLang post window. Before we continue, let's clarify what an MOP actually is.
MOP stands for Meta Model of Optimal Prognosis, and it's a key concept in design optimization. Basically, a metamodel is a model of a model, like a simplified mathematical representation that approximates the behavior of a more complex system.
So in our case, instead of running full motor CAD simulations for every design iteration, which would be computationally expensive, we create a surrogate model that can predict outcomes almost instantly.
Surrogate modeling is particularly valuable when dealing with complex engineering systems like our motor design. A quick summary of how it works. You start by sampling the design space using a limited number of full simulations. This is what our sensitivity analysis has already provided.
Then based on these samples, optiSLang constructs mathematical functions that approximate the relationship between input parameters and output responses. These approximations can be evaluated thousands of times in seconds rather than hours or days that would be required for full simulations.
The optimal prognosis part of MOP refers to optiSLang's ability to automatically select the best mathematical approach for approximating each response.
It might use polynomial regression for one output, or radial base functions for another, neural networks for a third, all selected to maximize predictive accuracy. This adaptability is why MOPs are so powerful for engineering optimization. Now let's build our metamodel.
First, we need to reactivate the MOP node that was previously deactivated. We'll do this with Ctrl E. After it's reactivated, click on the run button to have optiSLang build the MOP based on our sensitivity analysis data.
Once the MOP is built, right-click on the MOP node and select Show Post Processing to examine the results. Looking at the response surface and the residual plot, we can immediately spot a group of designs that are separate from the others.
The response surface is plotting torque at 500 RPM on the z-axis, and these outlier designs all show values of 0. In the residual plot, these designs appear all the way on the left side, where the data matrix also shows the quantitative influence of each parameter on the variation of our model.
Using the COP matrix, we can determine the most important parameters and evaluate the forecast quality of our surrogate models. This helps us to decide whether to proceed with optimization or improve the model with additional sampling data.
Currently, our COP values are around 70%, but for a robust optimization, we want these as close to 100% as possible. Let's clean up our metamodel by removing those failed designs.
In the residual plot, simply drag over the outlying designs to select them all at once, then right-click and select deactivate. Notice how the plot immediately adjusts to the new data range. Now we need to rebuild our MOP using only the remaining valid designs.
Click on the build MOP button at the top of the window and then click OK. Once the model rebuilds, click OK again. The post-processing windows will refresh with our new data. Looking at the updated COP matrix, we can see dramatic improvement.
Most values on the right column now show over 99% with the lowest value at 95.3%. At this point, we could try to remove additional outliers to further improve our model, but we need to be cautious not to overestimate the approximation quality.
With a larger sample size, maybe this would be less risky, but our current COP values are adequate for optimization. With our metamodel successfully built and defined, we're now ready to move on to the next step, optimization.
In our next video, I'll show how to leverage this metamodel to run tens of thousands of iterations rapidly, allowing us to efficiently explore our design space and identify optimal motor configurations.
If you've been following along and have any questions about the metamodeling process, please leave a comment below. Don't forget to like and subscribe so you don't miss the final part of our BPM motor optimization series. Thanks for watching!

