Some time ago I've implemented an interesting technique that extends the standard Lattice Boltzmann model to handle moving boundaries. The coupling is one way (the fluid does not use any force on the object whereas opposite is the case), anyway the result is visually interesting. Because I had some real-time application in mind I didn't release it in any form but.. after staying for years on my hard disc I decided, yup.. let's give it to people :-)
In short: the method uses interpolated positions of the object and it's velocity to find a force acting on the fluid (or velocity corrections to be strict with the algorihm given in [1]). It wasn't very hard to implement (taking into account I already had the LBM implemented), you must take care about interpolation details to make it consistent.
Here we go with result (click to see videos):
More about LBM and other simulations on my website.
Literature
[1] Chang Shu, Ningyu Liu, Yongtian Chew, Zhiliang Lu, Numerical Simulation of Fish Motion by Using Lattice Boltzmann- Immersed Boundary Velocity Correction Method, Journal of Mechanical Science and Technology 21 (2007) 1139~114, link to pdf.