This blog post will explain how to simulate brushless electrical machines using Opera. The analysis process will be described using a real motor as an example: the traction motor in the Toyota Prius 2004 model.
The brushless machine is one of the most widely used electrical machines, covering all power ranges and sizes. The main advantage that this motor type has over others is its high power density, which is due to the permanent magnets. Since this type of machine has been around for a long time, many analytical and lumped parameter models have been developed which can help designers in the initial stage of sizing and performance estimation.
However, the introduction of stricter efficiency requirements over the last few years has meant that machine designers need to “squeeze” all the marginal improvements they can from established designs. For this, the accuracy of finite element simulation is needed. And only finite element analysis can address some of the more complex issues facing designers such as drop-off in performance with temperature, initial magnetization of the magnets, or unintentional demagnetization under fault conditions.
Opera’s extensive development over 30 years means it has a proven track record in the design of electrical machines, power systems, particle accelerators, medical devices, and a wide variety of other applications. Opera offers a range of FEA modules, enabling accurate robust solution of multiphysics problems in low and high-frequency electromagnetics, thermal, and stress domains. It also has a fully integrated optimizer. Opera is based on a scripting language, augmented with Python, which allows automation of all the steps in the modelling process, and customization of the user environment. Built upon the scripting facilities offered by Opera is the application-specific environment designed for Electrical machines (both in 2d and 3d format).
This template-driven application is designed to offer an intuitive interface for machine designers to build and setup their analyses. At the same time it integrates extensive technical knowledge about machine design into its setup and post-processing stages, in order to offer the user the full capabilities of the Finite Element solvers in a format that is useful to them.
The interface removes the complexity of setting up and post-processing FE models while at the same time making use, in an optimal way, of the accuracy and performance that finite element solvers can provide. Some typical examples of results that the machine designer can obtain directly from the Machines Environments are: torque vs. angle curves, back-EMF, cogging torque, torque vs. speed characteristics, etc.
The model chosen for analysis is the electrical traction motor of the 2004 Toyota Prius hybrid vehicle. The permanent magnet brushless motor has been extensively characterised by the Oak Ridge National Laboratory in the US and the complete set of design and performance data is publicly available. The device is an 8-pole, 50 kW motor designed to deliver it’s maximum power at a base speed of around 1200 rpm. However, by using a boost capacitor and a flux weakening method, the motor is regularly working at speeds of up to (and above) 3000 rpm. The set of electromagnetic data published by Oak Ridge include, among others, back-emf curves (for a wide range of speeds), static and dynamic torque and torque vs. speed characteristics.
In order to build the device in the Machines Environments, we start by setting the machine type and units in which we will be working. Starting from the default machine template we modify the geometric dimensions in order to match the machine design. The number and shape of stator slots can be modified to create the exact stator configuration.
The mesh is also handled automatically by the Machines Environments, with the use of scaled mesh sizes in the different parts of the machine. This ensures that sufficient mesh resolution is achieved in the relevant sections of the machine, while keep the mesh elements to a minimum in regions where the fields are negligible (for example in the shaft or outer air regions). In order to offer more flexibility to users and to allow for rapid machine characterisation, a new option has been introduced in the 3d Machines Environments.
The user now has the possibility of building the full 3d model through the Machines Environments but decide to solve only a 2d cross-section of the model. Hence, the computation time can be drastically reduced by solving just a 2d approximation of the model. In this way, the user can perform a quick evaluation of the design before deciding to solve a full 3d simulation.
Apart from modifying the main geometric parameters of the model, the users also have the possibility of running custom-built scripts at various points during the build stage (for example when building the rotor poles) in order to allow a complete flexibility in the model design. If the model contains non-standard geometric features these can be added or modified using these user-defined commands. Once defined, the scripts will be included in the model building stage for that particular design, so that future runs of the same model will automatically include the custom features.
Entire parts of the model can be modified or even replaced using these custom made scripts. We will be using this facility (of building custom geometric features) in the Toyota Prius model in order to modify two important features:
- one is the shape of the rotor punching which enclose the magnets. By changing the shape at the tip of this region, the flux paths in the rotor will change along with the performance of the motor
- the second modification is the indent in the rotor, which will also help to limit the leakage flux and maximize the quadrature-axis reactance As we will see, these non-standard modifications to the geometry of the Prius motor will prove to significant in the overall performance of the motor and are only made possible by the use of customizable geometry building.
For the Back-EMF analysis we run over 180 electrical degrees with the windings setup as ‘open-circuit’. The Slice model is run over a range of speeds from 500 – 3000 rpm.
We can, if desired, used a full 3D analysis with motion, but this will be relatively costly during early development stages. So we can obtain the end-winding inductance from a 3D static model and feed that into a Slice model to obtain results an order of magnitude faster. And here we see typical results for torque versus time: