permanent magnet power generation