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.

Linear voice coil actuator modelling

Please login with a confirmed email address before reporting spam

Hi,

I'm trying to model a simple voice coil actuator in 2D and the magnetic feilds looks accurate. I also run current through a coil and try to calculate the resulting force on the coil. The results looks resonable when the coil is in the middle with 0N force in x direction when no current is run through the coil. However I strangley get a resulting force on my coil as soon as I offset it even without any current through it. The plotted results does not make any sense. What am I doing wrong?



2 Replies Last Post 28 feb 2020, 08:20 GMT-5
Lars Dammann COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 5 years ago 24 feb 2020, 04:31 GMT-5

Hi Nick,

without having looked at your model, I strongly suspect that the effect is pretty mesh dependent. The force calculation in COMSOL integrates the Maxwell stress tensor on the boundary of your selection domain and it is fairly sensitive to the mesh on that boundary. If you refine the mesh on the boudnary of the domain on which you do the force calculations, results will probably get more accurate.

It can also occur that you have singularities or cancellation effects, which degrade accurace. You can mitigate those effects by drawing a small air box around your object that you want to compute the forces on (about one elements thick) and compute the forces on that air box (and the original object inside) instead.

There is also the possibility to implement something like Arkkio's method or the eggshell method of computing electromagnetic forces, which are usually more accurate at lower mesh densities. You can find an example that uses Arkkio's method to compute the torque on a rotor here: https://www.comsol.com/model/switched-reluctance-motor-28011 Please note that this is a special case of the more general eggshell method, which can compute forces or torques also on non-cylindrical geometries. The idea is to perform an integration on a small volume around your object, instead of just on a boundary, hence the name "eggshell". You may find more detailed info on that in literature.

Best wishes, Lars

Hi Nick, without having looked at your model, I strongly suspect that the effect is pretty mesh dependent. The force calculation in COMSOL integrates the Maxwell stress tensor on the boundary of your selection domain and it is fairly sensitive to the mesh on that boundary. If you refine the mesh on the boudnary of the domain on which you do the force calculations, results will probably get more accurate. It can also occur that you have singularities or cancellation effects, which degrade accurace. You can mitigate those effects by drawing a small air box around your object that you want to compute the forces on (about one elements thick) and compute the forces on that air box (and the original object inside) instead. There is also the possibility to implement something like Arkkio's method or the eggshell method of computing electromagnetic forces, which are usually more accurate at lower mesh densities. You can find an example that uses Arkkio's method to compute the torque on a rotor here: https://www.comsol.com/model/switched-reluctance-motor-28011 Please note that this is a special case of the more general eggshell method, which can compute forces or torques also on non-cylindrical geometries. The idea is to perform an integration on a small volume around your object, instead of just on a boundary, hence the name "eggshell". You may find more detailed info on that in literature. Best wishes, Lars

Please login with a confirmed email address before reporting spam

Posted: 5 years ago 28 feb 2020, 08:20 GMT-5

Hi Lars,

Thank you for the detailed response! A new mesh solved the problem and the motor now looks more linear over its range.

I buillt another mesh with edge markings along the boundries of the parts. Two edge sizes, one for the coil and one for the other parts. Inside the two areas enclosed by the edge sizings I used a mapped mesh. Finially I added a free triangular mesh to the rest of the domains.

I will try the other methods as well. Thanks :)

All the best Nicklas

Hi Lars, Thank you for the detailed response! A new mesh solved the problem and the motor now looks more linear over its range. I buillt another mesh with edge markings along the boundries of the parts. Two edge sizes, one for the coil and one for the other parts. Inside the two areas enclosed by the edge sizings I used a mapped mesh. Finially I added a free triangular mesh to the rest of the domains. I will try the other methods as well. Thanks :) All the best Nicklas

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.