# How to reduce computing time using parallelization?

### Objectives

This article shows how to speed-up calculations of MANATEE software dedicated to the fast NVH simulation of electric drive units using parallelization on a single computer.

### Principle

To reduce computing time of MANATEE (e.g. when calculating airgap Flux Look Up Tables using coupling with FEMM), one can use the parallelization on the time loop and/or on the slices (in case of skew). These two methods will launch Matlab and FEMM instances in background to compute the airgap flux density in parallel. As an example, 4 parallel Matlab sessions can be used to calculation the time-space airgap flux distribution over 100 Id/Iq combinations in 30 min on a standard laptop.

### GUI implementation

This feature is not implemented in the GUI yet.

### Scripting implementation

##### Parallelization of time loop

To use parallelization on the timesteps, the only thing to do is to set (in the project):

Input.Simu.nb_workers_time

Before using this feature for the first time, a folder "Temp" has to be created in the "Results" folder of MANATEE.

Input.Simu.nb_workers_time is an integer corresponding to the number of parallel sessions of Matlab used to compute time loop in FEMM. It is advised to not set this variable to a larger value than the number of computer cores.

##### Parallelization of skew slice loop

In case of skew with a much high number of skew slices compared to number of time steps, it is advised to use the parallelization on slices rather than the parallelization on time loop. To use this parallelization, the only thing to do is to set (in the project):

Input.Simu.nb_workers_slices

Before using this feature for the first time, a folder "Temp" has to be created in the "Results" folder of MANATEE.

Input.Simu.nb_workers_slices is an integer corresponding to the number of parallel sessions of Matlab used to compute the airgap flux density on the slices in FEMM. It cannot be larger than Input.Simu.Nskew_slices and it is advised to not set this variable to a larger value than the number of computer cores.

Furthermore, if the number of computer cores is larger than the number of slices, one can use both types of parallelization. The number of Matlab instance launched will be:
Input.Simu.nb_workers_time \timesInput.Simu.nb_workers_slices