How Does A Halbach Array Work