Numerical techniques for the design and prediction of performance of marine turbines and propellers