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.
Magnetically Sprung Electromagnetic Generator
Posted 01.05.2013, 13:40 GMT-4 7 Replies
Please login with a confirmed email address before reporting spam
I have built a magnetically sprung electromagnetic generator for harvesting energy from machine vibration. Its basically three magnets in a tube, one fixed at either end and one floating in the middle (as all the like poles face each other). There is a copper coil around the middle of the tube. When the tube oscillates up and down the center magnet passes through the coil generating a voltage.
I'm trying to use comsol to model the movement of the floating magnet as the tube oscillates in the z direction (vertically).
I created a 2D axisymmetric model with magnetic fields and moving mesh. I used predescribed mesh displacement with a sine function to oscillate the fixed end magnets in the z direction. I used Amperes law to define the remnant flux density of the magnets. So far I've only been able to plot the change in electromagnetic force exerted on the floating magnet over time if I fix it in one place.
Is there a way to allow the floating magnet to move freely based on the force exerted on it by the other magnets, its mass and gravity? and then plot its displacement?
Any help would be greatly appreciated.
Cheers
Please login with a confirmed email address before reporting spam
I understand you have use MF so far, but that is for a static geoemtry, or one driven by "parameters", then remeshed and resolve for each step.
If you want to see "rigid body" physics you need to ad that physics yourself, COMSOL only solves for full "solid" i.e. flexing bodies, but that might well work too ;)
So try adding solid for the magnet and apply correct body loads (gravity and magnetical)
Then you have the air in between that must be able to skeeze around the magnets, for this you also need the ALE math for the moving mesh to adjust the magnet motion and the surrounding motion (define ALE in a node ABOVE the SOLID physics node in the model tree). Note that this is also what is done in EMI I believe (mixin all three physics for you ALE math is considering the air around strictly as vacuum (no mass, no viscosity no flow, but it's alread y agood start).
This does not consider the NS of the air surrounding, that is still another physics, but then your model wil lbecome very heavy, so start one step at the time, it's easier and quicker ;)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Thanks for the quick and very helpful reply :)
I will try what you suggested over the next few days.
Just curious, say I just wanted to get a rough approximation, could I use the result of the ongoing force calculation as a variable in the prescribed displacement equation of the center magnet?
like could I enter:
Prescribed z displacement = v0(t) +0.5a*t^2
replacing v0 and a with formulas for initial velocity and acceleration using mf.Forcez_magnet, the mass of the magnet and g?
Just a thought. I'll try out your other suggestions anyway.
Cheers
Please login with a confirmed email address before reporting spam
if you restrain your magnet to move along the axis, and then write out in your own PDE the equation of motion of a mass under external forces (being as you say the magnetic forces + possibly some axial force being a component of gravity if applicable) then you are wring out the rigid body equations and you do not need the "solid physics, which are an overkill in reality
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
That saves me a few days of figuring out the solid physics!
One last question: How do I refer to mf.Forcez_magnet in the PDE? I've tried just entering it like that but comsol doesnt seem to recognize it. Also tried to define it as a parameter under global definitions, with either "mf.Forcez_magnet"
or "mf.fcal1.intop1(2*pi*r*mf.nTz_magnet)" as its expression but no luck with that either.
Thanks for all the help
EDIT - well I'm guessing it wasnt recognized. The text in the equation box turned a mustard color after I entered it and when I try to solve I get an error saying undefined value found.
Please login with a confirmed email address before reporting spam
you have 2 colour codes:
First:
red is an ERROR you need to correct the formula there is a typo that will make the solver to fail,
then you have a Warning:
orange that means that COMSOL cannot resolve the units and something does not match, but if your variables names exist (that is not flagged before solving) then COMSOL will calculate with it's assumed units, but this MIGHT give you wrong results,
So my rule of thumb: always resolve the units to remove any "orange". But in some cases it's difficult as COMSOL analyses functions only during solving, so some "oranges" with complex functions depending on functions will not go away
Then you should add the PDE with the study of the MF within the same model and study an intop1() does not need any extra prefixes but the intop1() operator must be defined under model - Definition - model coupling to refer to the correct geometry
If not already said so, take care to fillet off the sharp corners of your magnets (when possible), as these else make singularities for the field calculations that have nasty numerical effects on the fore calculation
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
I'm almost there, got the intop() sorted which gives me acceleration, I just need velocity then my displacement equation will be complete.
I'm trying to integrate my acceleration formula over time to get velocity. Intop can only be used to integrate over space not time. The timeint operator sounded promising but I can only use it during results evaluation and not while I'm setting up my model. I'm trying to enter my displacement equation into the "Prescribed z displacement" box in the Prescribed Mesh Displacement window. As it will define the movement of part of the model there's no way I can solve before I have the complete equation. So I cant understand how I could use timeint.
Is there any other method that you know of?
Thanks again
Please login with a confirmed email address before reporting spam
check the KB (knowledge base) on how to add PDEs to solve a time derivative or integration
--
Good luck
Ivar
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.