principles of astrophysical fluid dynamics