setBoundaryCondition() simply sets the velocity of SOLID cells to the velocity of the solid body. However, this does not enforce the correct boundary condition which is: dotprod(velocity,solid_boundary_normal)=0.
Solution: setBoundaryCondition() should replace the normal component of the given velocity (extrapolated from the fluid) with the normal component of the solid body velocity.