Rotary generators