How to make a water vortex
Not sure if if you are looking for a physically based animation or a realistic simulation, if not here is a way to fake it.



Create a simple curved mesh object with a single edge sequence shaped as de desired vortex section.



Add both a Screw and a Displace Modifier so it looks as illustrated. Adjust displacement texture as desired, and if necessary add a Subsurf before displacing for higher detail level.



Create a 2D bezier curve object centered on the vortex mesh, roughly the same size, so it flows upwards towards the wider part.



Add two shape keys ($Base$ and $Key 1$) and modify $Key 1$ so the vortex wiggles around. If you wish for the top to remain untilted make sure the top handle stays vertically aligned to the top vertex.

Animate the Value property for $Key 1$ so it goes from $0$ to $1$ and back to $0$ during your animation interval so it loops seamlessly.



Add a Curve modifier to the vortex mesh, pick the previously animated bezier.

Now just animate the rotation of the vortex mesh and tweak the curve shape keys to achieve the desired effect.