Faraday Institution PDRA workshop

The slides for a talk I presented at a recent workshop on scientific software development, organized by the Faraday Institution, are now available on the Work page.

The talk focussed on ONETEP as a case study of a successful, well-written, scientific code used in materials modelling. As part of this talk, I described some general ideas related to scientific software development and proposed a few key principles which I think are vital in keeping scientific software usable and maintainable.

DFT Developer Community Meeting and CCP9 event

I have uploaded the slides for talks I presented at two recent events:

My talk at the DFT Developer Community Meeting focused on the DL_MG multigrid Poisson solver library, which I contribute to. The talk covered the design and implementation of the solver and its application in electronic structure calculations in vacuum and solution.

The talk at the CCP9 event was a section of a larger talk (with multiple presenters) giving a progress update on the ONETEP CCP9 flagship project. My section of the talk briefly outlined my contributions to the project so far, developing and extending hybrid and range-separated exchange-correlation functionality in ONETEP.

PDFs of the slides for both talks can be downloaded from the Work page.

Debugging Numerical Software workshop, University of Bath

On 4-5 June 2018, I attended a workshop on Debugging Numerical Software at University of Bath. The workshop featured a variety of debugging-themed talks from experienced developers of numerical software, as well as group  discussion sessions and an innovative interactive “bug hunt” session.

I submitted a bug for discussion during the bug hunt session (slides and source code can be found at the public github repository created for the session). The bug was originally encountered as unexpected changes in the behaviour of Fortran code (ONETEP) when compiled with/without OpenMP support. See the slides I produced for the workshop for further information: slide 1, slide 2 (slide 2 contains some useful information about how compilers silently change how variables are allocated when OpenMP flags are used).

During the bug hunt session we were able to create a minimal working example (MWE) for my bug. This was a nice outcome, given that a MWE had proven elusive in my investigations prior to the workshop.

Updated CV, publications list, and slides from talk at “Modelling and Measuring Water in Complex Environments” symposium

I have updated the brief CV and publications list in the Work page and added slides from a recent talk I gave at the “Modelling and Measuring Water in Complex Environments” symposium at the University of Southampton. The talk covered the implicit solvent model implemented in ONETEP and our recent work further extending and developing this model. It also included some examples of large-scale applications of the solvent model using ONETEP.