Computational Techniques for Fluid Dynamics, Vol. 1: Fundamental and General Techniques