Simulating the Toyota Prius electric motor using Opera-3d

This document presents the typical use of the Finite Element (FE) Suite Opera-3d for analysing the performance of a Brushless Permanent Magnet Machine. The model described here is the traction electrical motor used in the Toyota Prius hybrid vehicle. Using publicly available measured data of the real motor we can validate the results obtained from the FE code and demonstrate the efficiency of the software as a prototyping tool.



  1. Introduction
  2. Modelling considerations
  3. Static characterization using Opera-3d and Machines Environments
  4. Dynamic characterization
  5. Torque vs. Speed


This document presents the typical use of the Finite Element (FE) Suite Opera-3d for analysing the performance of a Brushless Permanent Magnet Machine. The model described here is the traction electrical motor used in the Toyota Prius hybrid vehicle. Using publicly available measured data of the real motor we can validate the results obtained from the FE code and demonstrate the efficiency of the software as a prototyping tool.

A series of static and dynamic electromagnetic analyses are performed in order to determine all the defining machine characteristics: cogging torque, DC excitation torque, back-EMF, dynamic torque, torque vs. speed characteristic and loss estimation.

The 3d Machines Environments (ME3d) is a template-driven environment designed to facilitate the use of the FE software for electrical machines applications. This will automatically build and configure the machine design specified by the user and set analysis parameters to obtain the required outputs. After the simulation (which can include multiple steps) is solved, the environment will proceed to do all the necessary post-processing steps in order to obtain the secondary (or machine-specific) outputs that the user requires.

While the results presented here are all obtained from the 3d Machines Environments, the particular model and analysis setup are discussed, such that users could also build and simulate the machine directly in Opera-3d as well.

Model Building

The electrical motor used in the Toyota Prius has been analysed and described in a series of publications from Oak Ridge National Laboratory (ORNL). The geometric dimensions have all been described, along with material data (steel type and magnet strength) and electrical circuit.

By processing the measured dimensions given by ORNL, the geometric data in the format required by the ME3d is presented in Table 1.

Table 1. Geometric dimensions for the Toyota Prius motor

Stator Dimension Value Unit
Number of slots 48
Outer Radius 134.62 [mm]
Outer Radius 134.62 [mm]
Inner radius 80.9625 [mm]
Stack length 83.566 [mm]
End slot length 1.016 [mm]
Slot length 32.512 [mm]
Chamfer length 0.001 [mm]
Gap slot width 1.9304 [mm]
Middle slot width 3.10802 [mm]
End slot width 6.11922 [mm]
Blending 0.28194 [mm]
Rotor Number of poles 8
Outer radius 80.1878 [mm]
Shaft radius 55.3212 [mm]
Shaft length 101.6 [mm]
Magnet thickness 6.48 [mm]
Magnet length 18 [mm]
Magnet radius 70.2099 [mm]
Angle between magnets 145 [deg]


After choosing the machine type (Permanent Magnet Synchronous Motor) and the working units (mm), the user enters the general dimensions for the stator and the stator slots.





Figure 1. Stator definition

Similarly, the rotor geometry is defined and a custom script is included at this point. This script runs at the point where the rotor magnets are built and creates the custom punching shape that is required in the Prius model (see Figure 3). At this point, other specific customizations, such as the rotor indents used to focus the magnetic flux in the machine, can also be defined.




Figure 2. Rotor definition with optional customization script



Figure 3. Customization of rotor punchings

The full 3d model built from the Machines Environments is shown in Figure 4. The size of the model to be solved is reduced to 1/8 of the full model by imposing a positive rotational symmetry around Z and a tangential magnetic on the XY plane.

It can also be seen that as well as building the stator and the rotor laminations, magnets, and conductors (which are an electromagnetically equivalent representation of the shape of the real ones), the ME3d also builds the motor casing which is ignored during the electromagnetic analysis but can be needed for solving other physics (e.g. analysing the thermal effects in the machine).


Figure 4. Symmetry section of the full 3d model of the Prius motor

Static characterization using Opera-3d and Machines Environments

Cogging torque

The magnetic field produced by the magnets in the absence of stator excitation will be responsible for the production of cogging torque in the machine. The measured airgap field density as well as the cogging torque are presented in [2] and can be used to validate the geometry of model built in Opera.

In order to limit the flux leakage and maximize the quadrature-axis reactance, thus improving the motor’s performance, the rotor of the Prius motor is indented (see Figure 5). The effect that these indents have on the cogging torque of the machine is investigated in the following.


Figure 5. Indented rotor core

The cogging torque can be obtained either from a series of static solutions at different rotor positions or from a single rotating solution run at low speed such that no significant dynamic effects are induced.

For this analysis, the option of running a series of magnetostatic solutions over the span of a stator slot (7.5 mechanical degrees) is preferred. These jobs can be run independently of each other, thus increasing the throughput of the solution.

As it can be seen in Figure 6 the peak cogging torque is reduced by around 20% for the indented rotor. However, the position and depth of the indents need to be optimized; otherwise they might introduce high order harmonics in the composition of the cogging torque curve.


Figure 6. Cogging torque comparison


The estimation of the back-EMF at different rotor speeds provides an important insight into the performance of a machine. The voltage induced in the three phases of the brushless machine is measured for a series of given speeds ranging from 500 to 3000 rpm. The simulation results are then compared with measured data provided in [1].

The model is run using the Motional Analysis solver and the open circuit state is simulated in the drive circuit by connecting very high resistors (109 Ω) in series with the phase windings.


Figure 7. Drive circuit simulating open-circuit condition

Based on the drive frequency (f) defined by the user, the 3d Machines Environments calculates and imposes the rotor speed as:


,where Ns is the synchronous speed and p is the number of rotor poles.

The rotor is moved at constant speed and the induced voltages in the three phase windings are logged for one electrical cycle, corresponding to 90 mechanical degrees. Depending on the speed at which the rotor is moving, the Machines Environments calculates the necessary time-step in order to accurately capture the voltage curves.

When performing a quick characterisation of the machine for a set of different functioning points, the option of solving a 2d slice instead of the full 3d model considerably reduces the computational burden. After building the full 3d model, by applying a special boundary condition, the Machines Environments is able to solve a 2d section of the machine along its centre plane. Once the user is satisfied with the design, the full 3d model can be reinstated without needing to redefine any of the geometrical information, simply by removing the 2d slice boundary condition.

The results obtained for the back-EMF tests are presented in Table 2 and the computed values are compared to the measured data in Figure 8. As can be seen, the agreement between simulation and measured data is extremely good, with a slight discrepancy at speeds above 2000 rpm where the peak value in the simulation data is slightly above measurements.

Table 2. Computed values of back-EMF

Speed (rpm) 500 1000 1500 2000 2500 3000
Frequency (Hz) 33.33 66.66 100 133.33 166.66 200
Back-EMF RMS value (V) 45.6 91.2 136.8 182.42 228 273.6
Back-EMF peak value (V) 76.4 152.8 229.2 305.6 382 458.4


Figure 8. Comparison of measured and simulated Back-EMF values

The typical waveforms of the back-EMF obtained at 3000 rpm are presented in Figure 9.


Figure 9. Back-EMF waveforms at 3000 rpm

DC torque

The torque characteristic of the machine when one of the phases is driven with a fixed DC excitation helps to identify the angle at which maximum torque is achieved in the machine. This information is then used to set the parameters for when the machine is driven with AC. The measured data for the DC torque presented in [1] ranges from 150 to 250 A.

A series of static simulation at different rotor positions are generated from the 3d Machines Environments and, once they are solved, are automatically post-process to build the required characteristics. Opera offers the possibility of using scaling factors for the excitation, which increases the efficiency of the calculation at each rotor position, irrespective of the number of different excitations, allowing for a significant reduction in computation time.

Figure 10 shows the flux patterns in the brushless machine for two different rotor positions: the position of minimum (at 15 degrees) and maximum (at 22.5 degrees) DC torque. The position of maximum torque is used in the following analysis as the starting point for the AC excitation.



Figure 10. Flux densities and flux vectors for the minimum and peak torque positions for a DC excitation (2d Slice model)

The DC torque characteristics obtained from the Finite Element model are presented in Figure 11 along with measured data from [1]. The torque curves are offset by 75 degrees to align them with the measured data and then reflected to have the same polarity. Hence, the zero and peak torque positions become 105 and 97.5 mechanical degrees, respectively. As it can be seen, the accuracy of the solution is very good, with very small errors that can be attributed to small geometric variations and/or measurement errors.


Figure 11. Torque comparison of simulation and measured data for a DC excitation

AC torque

Once the position of peak torque is calculated from the DC torque analysis, an AC-driven simulation can be run in order to evaluate the torque under steady-state conditions. Again, a series of static solutions are generated and solved at different rotor positions, with the phase currents set to the correct phase shift automatically through the Machines Environments. The model is driven at a peak current value of 250A over 45 mechanical degrees, the equivalent of one rotor pole pitch.

The resulting torque curve, shown in Figure 12, correctly captures the torque capability of the machine under nominal conditions. The 2d Slice option offered by the Machines Environments can be used for this analysis as well in order to reduce the computational cost.


Figure 12. Torque result from an AC drive


Figure 13. Field densities and flux vectors in a section of the AC excited machine (2dSlice model)

Dynamic characterisation

The dynamic characterisation of the machine gives the dynamic behaviour of the machine when it is driven from a voltage source. The three phases are connected to individual AC voltage sources which simulate the three-phase feed (Figure 14). The voltages are ramped for 2 cycles in order to allow a smooth start-up of the machine and a quick stabilisation once it reaches nominal voltage. The voltage and current wave-forms are presented in Figure 15.


Figure 14. Drive circuit for the dynamic model (voltage driven)

Since the model is driven using a voltage source, the inductance of the three phases will have an impact on the current induced and ultimately on the torque produced. In order to correctly capture these inductances, the full 3d model would need to be solved. However, running a full dynamic analysis of a full 3d model can be computationally costly. One way in which the 3d Machine Environments can reduce the time needed for this simulation is to calculate the phase inductance from a series of 3d static models which will then inform a 2d slice dynamic model. The calculation of the inductance is done by applying a small perturbation to the value of the stator current and calculating the d and q-axis inductances from the variation of flux linked.


Figure 15. Voltage and current in one of the three phases

Once the value of the phase inductance is calculated, the dynamic model is run at a fixed rotor speed of 1200 rpm (close to the base speed for the Prius motor) and a peak voltage of 280 V. The phase resistance is 0.7 Ω while the end-winding inductance, calculated from the full 3d model, is set to 0.9 mH.

The resulting torque characteristic is shown in Figure 16. The ramping of the excitation for the first two periods can be observed, with the torque stabilizing around an average value of 380 Nm after the first two cycles. Note that this agrees well with the AC torque prediction computed using static analysis shown in figure 12.


Figure 16. Torque at 1200 rpm

Torque vs. speed

The 3d Machines Environments is able to calculate the torque vs. speed characteristic of Permanent Magnet Machines using a series of static cases. This greatly reduces the computation time and allows users to get an image of the machine performance over a wide speed range.

The method, described in [3], is based on calculating the flux linkage in a series of predefined rotor position at various current ratings. Once these solutions are solved, the calculation of the characteristic is done as a post-processing step.

The obtained torque vs. speed characteristic, for a power rating of 50kW at base speed (consistent with the findings in [1]) is presented in Figure 17.


Figure 17. Torque vs. speed characteristic for the Prius motor.


[1] R.H. Staunton, C.W. Ayers et al. – Evaluation of 2004 Toyota Prius Hybrid Electric Drive System, Oak Ridge National Laboratory, ORNL/TM-2006/423

[2] J.S. Hsu, C.W. Ayers, C.L. Coomer. – Report on Toyota Prius motor design and manufacturing assessment, Oak Ridge National Laboratory, ORNL/TM-2004/137

[3] J. Goss, P.H. Mellor, et al. – The design of ac permanent magnet motors for electric vehicles: a computationally efficient model of the operational envelope, PEMD 2012