Abstract: An effective way of using CFD to simulate flow about a rotating device ? for example, a wind or marine turbine ? is to embed a rotating region of cells inside a larger, stationary domain, with a sliding interface between. This paper describes a simple but effective method for implementing this as an internal Dirichlet boundary condition, with interfacial values obtained by interpolation from halo nodes. The method is tested in two finite-volume codes: one using block-structured, and the other unstructured, meshes. Testing and verification is performed for flow around simple, isolated, rotating shapes (cylinder, sphere, cube), comparing, where possible, with experiment and the alternative CFD approach of fixed grid with moving walls. For all cases, flow variables are shown to vary smoothly across the sliding interface. Simulations of a tidal-stream turbine, including both rotor and support structure, are then performed and compared with towing-tank experiments from the University of Southampton. A comparison between CFD and experiment is made for thrust and power coefficients as a function of tip-speed ratio (TSR) using Reynolds averaged Navier-Stokes turbulence models and large-eddy simulation (LES). Performance of most models is good near the optimal TSR, but simulations underestimate mean thrust and power coefficients in off-design conditions, with the standard k-epsilon turbulence model performing noticeably worse than SST k-omega and Reynolds-stress-transport closures. LES gave good predictions of mean load coefficients and vital information about wake structures, but at substantial computational cost. Grid-sensitivity studies suggest that SST k- and Reynoldsstress-transport models give acceptable predictions of mean power and thrust coefficients on a single device using a mesh of about 4 million cells.