Project IV (MATH4072) 2023-24

Snakes mostly in the plane

Dr Chris Prior


 A slithering snake 

A snake slithering, note how it coils its body and uses its frictional contact with the ground to push off.

Snakes shuffle along the ground by dynamically coiling and contracting their body in a variety of different ways, there are five basic types, but the little scamps can also shimmy up pipes and trees! Recently there has been a good deal of interest in trying to mathematically model snake motion. One crucial factor is the frictional contact of the snake with the ground, their underside scales are adapted to maximise friction and it is crucial to how a thin body in essentially planar motion can generate for to propel its forward. My own experience of this modelling, however, is that the frictional contact model is significantly lacking, which means the dynamical behaviour of the snake models are severely limited. In particular they do not allow the snake to generate force by rocking and bending its body.

The basic model used for a snake is the sol called slender elastic body model (the cosserat model). Visualised below

Kinematics of the Cosserat rod in the
                global cartesian frame (x, y, z).... | Download
                Scientific Diagram

This model uses the differential geometry of frames to derive a system of partial differential equations which combine the internal mechanics (musculature) of the body and its external interaction  (friction) to model its motion. It has been used to model DNA, spermatozoa, space cables, proteins, growing plants, the optic nerve and sea-shell growth amongst other

It can also be used to model tentacle and antennae whipping, in this case the shape of the filament matters a lot for the allowed range of motion and most efficient whipping shape. The image below is of an octopus filament model by Alex Rowan-Smith whose 4th year project is in the links at the bottom of the page (have a look at this for an animated version, and others)


Project aims

The student will
investigate some aspect of snake or tentacle motion (or something similar if another interesting biological motion is found) . A significant focus will be on the effect of adding a more sophisticated friction/viscousity model on the range of possible dynamics. In practice this will involved some analytic work and some numerical work (the exact balance can be chosen by the student as the project proceeds). The numerical work can be performed in Python, Julia, C++ or Java. I cannot stress enough that you do not need to be an experienced coder to perform this task. I have have many students tell me they are not confident with coding over the years, only to go ahead and create excellent projects which involve solving P.D.E's numerically.

If you have any questions please contact me via email. I am happy to give your more details.


None, even with a numerical approach my experience has been that students can develop sufficient skills during the project to treat complex systems. However, any of the following modules could be helpful: Mathematical Biology III,  Differential geometry or fluid mechanics or Partial Differential Equations III/IV. It would match very well with the 4th year mathematical biology course!!


An introduction to the cosserat model.
A paper on the modelling of snake motion
A summer project which will be your staring point (open in adobe for moving images)
A 4th year project on tentacle and antennae whipping (open in adobe for moving images)

email: Chris Prior