PhD studentship opportunities

Breaking news: PhD studentships (scholarships) available for UK and EU* students in the Department of Engineering Mathematics at the University of Bristol for immediate start.

Due to a number of students withdrawing for personal reasons, there are now several PhD studentships available that must be taken up by September 2016. I am looking for motivated and able  students who are interested in doing research at the intersection of Applied Mathematics and Engineering/Science (my interests are quite broad!). In particular, I have three different topics that I’m actively pursuing at the moment all of which feature numerical computation/numerical analysis:

  • Nonlinear dynamics of stochastic differential equations — I’m interested in investigating how the tools and concepts of nonlinear dynamics and bifurcation theory can be applied to stochastic differential equations arising from various application areas (e.g., neuroscience or climate science).
  • Control-based continuation — numerical continuation is a very effective tool for investigating the nonlinear behaviour and bifurcations of mathematical models, and control-based continuation is a means for applying this tool to physical experiments (engineered systems or, hopefully, biological systems) without the need for a mathematical model. Research in this area requires a very interesting mix of numerical analysis, control theory, system identification and the theory of stochastic processes (I don’t expect students to have a background in all of these subjects!).
  • Equation-free methods and agent-based modelling — equation-free methods are a means for obtaining a macroscopic model from microscopic simulations. They have been used for many physical processes previously and I am interested in how they can be extended to agent-based models, such as models of Zebrafish locomotion to investigate the dynamics of shoaling (Zebrafish are just one example).

I have also worked extensively with delay differential equations and, though I don’t have any active work in this area at the moment, I’m happy to solicit project suggestions in this area. All of these projects are very open ended and I’m happy to work with students to tailor the projects to their own interests.

There is no deadline for these studentships, though obviously it’s better to apply sooner rather than later. If you are interested, get in touch for more information.

* EU students are eligible provided they have been resident in the UK for at least 3 years. See the EPSRC website for more details.

Data-driven stochastic modelling of Zebrafish locomotion

Ever wondered how you can write down equations that govern the behaviour of a moving creature? Let’s start simple and try something like a fish. (OK, a fish isn’t that simple…) It turns out that Zebrafish are quite a convenient animal to study and one of our collaborators (Maurizio Porfiri from New York University, USA) has great facilities for the fish to happily swim around in while being tracked by video cameras.

With the data from Maurizio’s lab, we have constructed a mathematical model of Zebrafish locomotion based on stochastic differential equations (SDEs), that is equations that govern the rates of change of speed and of turning speed (the differential bit) and are driven by random noise (the stochastic bit). The randomness is there to provide a mathematical description of all the seemingly erratic behaviours that the Zebrafish exhibit which we don’t really understand — we can match the statistics of the randomness to the statistics of the erratic behaviour but we can’t say anything about the higher level thought (if that is an appropriate description for a fish!) that is generating it.

The SDEs are relatively simple (if you are used to such things) and take the form
$$ \begin{gathered}
\mathrm{d}U = -\theta_u(U – \mu_u – U^*)\mathrm{d}t + \sigma_u\mathrm{d}W_1(t) \\
\mathrm{d}\Omega = -\theta_\omega(\Omega – \Omega^*)\mathrm{d}t + \sigma_\omega\mathrm{d}W_2(t)
\end{gathered} $$
where $U$ is the speed and $\Omega$ is the turning speed. This is an Ito stochastic differential equation (though perhaps it should be Stratonovich…). This is in effect a mean-reverting process or Ornstein-Uhlenbeck process. In short, the speed is tracking the value $\mu_u + U^*$ with a time scale $\theta_u$ where $\mu_u$ is the natural speed of the Zebrafish and $U^*$ is a modification to the natural speed due to external factors (e.g., getting close to a wall or other Zebrafish). The same description holds for the turning speed equation (except that the natural turning speed is zero and so not included). The terms $U^*$, $\Omega^*$ and $\sigma_u$ are not actually constants but functions of the fish position relative to other fish and any obstacles.

Take a read of the article and see what you think! (The article is open access to all.)

If you like this, a follow on post will provide a nice graphical interface for playing with these equations (written in Python).

Reference: Data-driven stochastic modelling of zebrafish locomotion Adam Zienkiewicz, David A.W. Barton, Maurizio Porfiri and Mario di Bernardo, Journal of Mathematical Biology 71(5) 2015 pp. 1081–1105. DOI: 10.1007/s00285-014-0843-2 (open access).

New students!

This is a shameless plug for UCAS admissions the Engineering Mathematics Department at Bristol — I am the new admissions tutor after all…

If you are interested in studying mathematics and want to learn how it can be used for real-world problem solving then you should check out the Engineering Mathematics integrated Masters (MEng) and Bachelors (BEng) programmes. We’re quite unlike traditional mathematics courses in that we don’t teach mathematics for the sake of it but we focus on the skills you need to work in high tech industries such as Engineering and the Bio-sciences. That said, we don’t short change you on the mathematics — if you are going to be a problem solver you are going to need abilities that come from studying high calibre mathematics to get the job done!

Oh, and if you are looking for postgraduate studies (that is, a PhD) rather than undergraduate, please see my page for prospective students.

PS: Bristol is a great city to be in!

Systematic experimental exploration of bifurcations with noninvasive control

One of the things I’ll be doing on this new website is highlighting some of my papers, past and present. This paper is one I’m particularly pleased with as it showcases what you can do when you link numerical methods (computer algorithms) with a physical experiment in real-time.

Normally to investigate the behaviour of a system or structure (e.g., an aerofoil) you would build a mathematical model of the system, then validate it (hopefully! lots of people skip this step) and then investigate it using some of the sophisticated mathematical tools we have for analysis. This paper looks at how we can throw out the model building step and use those same sophisticated mathematical tools directly on the original physical experiment. OK, there are a few constraints (we must have quite a bit of control over the experiment) but it does mean that we can be sure that the behaviour we see is real and not just because the model is wrong.

This paper looks at a very simple physical example, namely an energy harvester but it demonstrates the principle nicely.

Reference: Systematic experimental exploration of bifurcations with noninvasive control, David A.W. Barton and Jan Sieber, Physical Review E 87 2013, 052916. DOI: 10.1103/PhysRevE.87.052916. Preprint (open access): arXiv 1209.3713.

New website!

At long last I’ve got around to updating this website! Over the next few weeks and months I hope to fully refresh the content in here to fully reflect some of the things I’m doing at the moment.

Some of the things that have been keeping me particularly busy are my new role as admissions officer for all undergraduate admissions to the Department of Engineering Mathematics and also all the things I’m responsible for at Emmanuel Bishopston (part of the Emmanuel Bristol family of churches).

You’ll notice a lot more images on this website now; a lot of them are from morgueFile — a great resource if you ever need free (that is, public domain, free to reuse however you want) images.

Installing QNX on Fedora

It turns out that installing QNX on Fedora isn’t that easy unless you know how… Firstly, QNX is a 32bit program and requires the following packages to be installed on Fedora if you don’t already have them (e.g., you are running a 64 bit system).

For the installer

  • glibc.i686
  • libXp.i686
  • gtk2.i686

For qde

  • libXmu.i686
  • libXtst.i686

Then you have to work out why the QNX installer says that “A suitable JVM could not be found.”

It turns out that the QNX installer is searching for a specific version of the Java JRE (which for QNX  6.5.0 is Sun Java v1.5, though it doesn’t seem to care which update version).

The only way to find this out is to make use of the log function of the installer. Running the installer with “-is:log log.txt” will create a log file called log.txt and in there you’ll find a line which tells you the version that QNX is looking for; for me it was “Sun Microsystems Java Runtime Environment (JRE) 1.5 for Linux”. You then need to download the appropriate Java package from Oracle (the current owners of Java) or elsewhere.

Edit: it turns out that under Linux, installing service pack 1 deletes some necessary files. To fix this you must specify “-console” on the installation command line like below. (This forces QNX to use the command line based installer which works correctly unlike the graphical one…)

Once downloaded and unpacked, simply set the QNX_JAVAHOME environment variable to the correct path and run the installer. (You don’t need to permanently install the JRE since QNX installs it’s own version; it’s only needed for the installer.) The command line for me was “sudo -E QNX_JAVAHOME=/tmp/jre1.5.0_22/ ./qnxsdp-6.5.0SP1-201206271006-linux.bin – console”.

Once the base QNX package is installed, you can install service pack 1 on top. This time QNX needs to use the Java installation that it just installed alongside itself. For me this meant that I didn’t need to specify the Java path for the service pack. Again, the command line for me was “sudo -E ./qnxsdp-6.5.0SP1-201206271006-linux.bin -console”.

Once all that is done (and you’ve activated the software), it should all work!

Homepage of Dr David Barton