2D physics modelling

Firstly, this is not homework - it's a project I have started our of sheer curiosity.

I have searched quite at length, but cannot really find anything that suits my problem. I want to model this on a computer and would like to implement it myself as I would like to understand the mathematics behind it rather than just using someone else's work.

I want to model (only in 2D for now) an agent moving in a liquid. The agent may have flippers to propel it or move in a snake-like fashion (which I think, is basically flippers without a body). Is there any article that discusses the movement of the agent in such an environment.

In a thought experiment I started with the following:

1. In a vacuum, the agent can flip all it wants, it will not move.
2. On top of solid (say a floor), the agent's movement pushing against the floor will push against the solid and all the force will result in acting against gravity and moving forward (depending on the angle).

I guess I need something in between these two cases, so I suspect I need some way to model the viscosity of the liquid. How do I do that?

The modelling does not have to be mathematically perfect - even a close approximation will be great. Any good articles? ...or a point in a direction?

How complicated do you want to make it? Do you really want to simulate the fluid dynamics (flows induced within the fluid by the agent)? That is a complex area in itself. When dealing with moving objects, you should look into meshless CFD methods.

If you just want a simple model, you can assume the agent doesn't induce fluid flows. Then you treat parts of the agent as objects that have certain lift/drag characteristics, and compute the individual forces on them, based on their relative movement to the fluid.

As simple as possible, without losing too much accuracy. I am quite happy to ignore the fluid dynamics for now. However, I am a bit stuck on the physics itself (to my embarrassment).

Assume we have a simple agent which resembles an arrow. The lines of the array head are flippers which can move up and down, swiveling at the top of the arrow. Now, let's say the agent is moving its right flipper downward, applying some downward force F (remember the swiveling). The liquid will exert some opposite force (which would be less than F) due to resistance of the hypothetical liquid (caused by its viscosity - can I model the viscosity as simple resistance?) Anyway, as the flipper moves, the components of the force will change. At any point in time, I will have to measure this force and translate it to acceleration for the agent (using the well known a=F/m).

However, I am not sure how I should model the angular velocity/acceleration and how this, in turn should translate to forward movement of the agent.

I assume I have to find some centre of gravity here as well (which I can do).

Define some reference point on the flipper (at the center or at 70% length), compute the fluid velocity relative that point (for static fluid its is the negative velocity of that point), take only the component perpendicular to the flipper to get the force direction. The magnitude of the force is proportional to the squared relative fluid velocity and some factor that accounts for the flipper size and fluid properties.

Better model:

Divide your flipper or propulsion tail into small sub parts and do the above for all of them. Then add the force vectors.

Please allow me to rephrase. Remember I want to model these in a computer environment.

Let's say I have the two flippers (like in the above model) and that the fish is a bit brain-damaged and disabled so that the two flippers are not necessarily in sync nor are they the same size.

I will end up with two forces in two different directions. From these forces, how do I calculate the angular acceleration around the centre of gravity (which changes as the flippers move) and the actual direction the centre of gravity is moving towards?

Secondly, I assume I need to calculate some cross product as well as the distance of the force from the centre of gravity will also play a big role. It makes sense to me that it will cause greater spin on the fish?

Then again what about centrifugal force? That must be a factor as well?