Computational Methods for the Design and Prediction of Performance of Tidal Turbines