Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

How to compute the torque ripple

Please login with a confirmed email address before reporting spam

I'm currently working on the optimization of a electric motor. I'm wondering how can I measure the torque ripple at each iteration of my design, to feed this value as an objective in my optimization study.

Thank You!!


2 Replies Last Post Mar 23, 2023, 8:55 a.m. EDT
Philipp Buchsteiner COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 2 years ago Mar 15, 2023, 7:30 a.m. EDT

Dear Thomas Clayson,

in our example of a motor parameter optimization it is shown how to maximize for both the average torque over an electrical period and to maximize the minimum torque: https://www.comsol.com/model/parameter-optimization-of-an-electric-motor-101031

You may also find our archived webinar about multiphysics motor modelling and optimization helpful, which contains a simple approach to minimize the torque ripple: https://www.comsol.de/events/webinar/designing-efficient-electric-motors-with-multiphysics-simulation-108381

Feel free to contact our support as well if you have any further questions.

Kind regards, Philipp Buchsteiner

Dear Thomas Clayson, in our example of a motor parameter optimization it is shown how to maximize for both the average torque over an electrical period and to maximize the minimum torque: https://www.comsol.com/model/parameter-optimization-of-an-electric-motor-101031 You may also find our archived webinar about multiphysics motor modelling and optimization helpful, which contains a simple approach to minimize the torque ripple: https://www.comsol.de/events/webinar/designing-efficient-electric-motors-with-multiphysics-simulation-108381 Feel free to contact our support as well if you have any further questions. Kind regards, Philipp Buchsteiner

Please login with a confirmed email address before reporting spam

Posted: 2 years ago Mar 23, 2023, 8:55 a.m. EDT

Thanks for you repply! I'm using a auxillary sweep that rotates the rotor for one electrical period for each iteration of the topology optimization. I'm trying to defined a variable called Tav which represents the torque average, from the auxilary sweep. This variable is defined as:

Tav = sum(with(i,rmm.Tark_1),i,1,nsol)/nsol

Unfortunatly this doesn't work when I try to use this as an objective function. I have the following error:

Sensitivity analysis does not support control variables in the constraint Jacobian.

Do you know what I'm doing wrong? How can I compute the Tav with the auxilary sweep?

Thanks for you repply! I'm using a auxillary sweep that rotates the rotor for one electrical period for each iteration of the topology optimization. I'm trying to defined a variable called Tav which represents the torque average, from the auxilary sweep. This variable is defined as: Tav = sum(with(i,rmm.Tark_1),i,1,nsol)/nsol Unfortunatly this doesn't work when I try to use this as an objective function. I have the following error: Sensitivity analysis does not support control variables in the constraint Jacobian. Do you know what I'm doing wrong? How can I compute the Tav with the auxilary sweep?

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.