History of computational fluid dynamics