FindAPhD LIVE! Study Fair

Edinburgh | Oxford | Leeds

University of Warwick Featured PhD Programmes
Norwich Research Park Featured PhD Programmes
University of Surrey Featured PhD Programmes
University of Auckland Featured PhD Programmes
University of Reading Featured PhD Programmes

NGCM-0054: Automatic code generation for computational science

This project is no longer listed in the FindAPhD
database and may not be available.

Click here to search the FindAPhD database
for PhD studentship opportunities
  • Full or part time
    Prof H. Fangohr
  • Application Deadline
    Applications accepted all year round

Project Description

Many computational science and engineering problems can be expressed as (time-dependent) partial differential equations, which generally have to be computed numerically. The emergence of new computational paradigms (such as shared memory parallel computation, distributed memory parallel computation, general purpose computing on Graphical Processing Units) often results in the development of new codes to solve the same science problem on the new hardware.

In this project, we aim to develop a simulation software generation framework in which the partial differential equations (PDEs) can be specified symbolically, and (compilable) code will be autogenerated to solve the equations. By developing multiple code generating modules, we can translate the symbolic equations into fast code for multiple computational target platforms, such as shared memory machines using OpenMP, supercomputers such as the UK’s high performance computing resource Archer using MPI and appropriate tools for GPU. A simplified schematic view of this tool chain is shown in the figure.

We will restrict ourselves to finite difference discretisation themes, and use Python as the top-level language in which the user (a scientist or engineer) can specify their PDE using symbolic tools, for example the symbolic Python package sympy. While we aim for a general purpose tool that can create simulation codes for many different PDEs, we will follow an agile approach with the initial aim of providing automatic code generation for the micromagnetic problem. Southampton has a long track record in in this field [1], and there are micromagnetic finite difference codes for CPUs [2, 3] and GPUs [4] available that will be used for validation and performance comparison. The resulting tool will be open and free, developed using test-driven approaches, and hosted on Github. We will closely work with users of micromagnetic simulation software and test drive the tool on systems of current interest, including Skyrmions and biomagnetic technology to support diagnosis and treatment in the health sector. We may apply the tool to other computational problems.

For this project, we are looking for a computer scientist with interest in science and computational science, or a mathematician/physicist/engineer/… with interest in programing and software engineering to pursue this project, embedded in a larger team. We appreciate that this project requires multiple skill sets and no single applicant will have them all. Training will be provided to fill the gaps.

[1] Nmag,
[2] OOMMF,
[3] Fidimag,
[4] Mumax,

If you wish to discuss any details of the project informally, please contact Hans Fangohr, Email: [email protected], Tel: +44 (0) 2380 598345

This project is run through participation in the EPSRC Centre for Doctoral Training in Next Generation Computational Modelling ( For details of our 4 Year PhD programme, please see

For a details of available projects click here

Visit our Postgraduate Research Opportunities Afternoon to find out more about Postgraduate Research study within the Faculty of Engineering and the Environment:

How good is research at University of Southampton in General Engineering?

FTE Category A staff submitted: 192.23

Research output data provided by the Research Excellence Framework (REF)

Click here to see the results for all UK universities

Let us know you agree to cookies

We use cookies to give you the best online experience. By continuing, we'll assume that you're happy to receive all cookies on this website. To read our privacy policy click here