James Spencer

Computational Science Specialist, Thomas Young Centre & Condensed Matter Theory Group, Imperial College London


I explore the electronic structure and properties of quantum systems using a variety of methods and high performance computing.  More broadly, I am interested in the intersection between computer science and computational science.


The behaviour of many materials, from how geckos walk on walls to why ice floats, is due to their electronic properties.  How do electrons interact with each other?  Quantum chemistry methods can provide answers.

I am interested in how we will study these in the future.  Many traditional algorithms do not perform well as you increase the number of cores the calculation is run on yet computer architectures are becoming increasingly parallel---even my phone now has 4 cores and supercomputers contain hundreds of thousands!  One avenue is to use Monte Carlo methods, which are much more amenable to parallel architectures.  With a distributed team of collaborators, I work on developing and applying stochastic approaches to quantum chemistry in the HANDE project.

Running simulations on thousands of cores is expensive due to the cost of hardware and energy---increasingly the limiting resource!  As such, another strand of research involves investigating optimisations, algorithmic improvements and novel hardware to improve the efficiency of our computations.

Underlying all this work is the process: how can we do science better?  I am interested in development methodologies, learning from open source projects and developing sustainable software through developing and educating a sustainable team of developers.

Further details about these and other projects, along with contact information, publications and software, can be found on my website and on my github account.  Please contact me if any of the above sound interesting!

Check out contributions by and mentions of James Spencer on www.software.ac.uk