Homepage for Sear part of May 2018 Maynooth RAMP course

The course will involve a little bit of python (I will assume no prior knowledge). A beginners course on python, courtesy of my Surrey colleague James Adams, is here. That webpage has its own set of notes and examples, and has links to a number of standard introductory references.

Lecture notes:

  1. Crystals & Crystallisation pdf notes
    1. What are crystals?
    2. Disordered crystals & XRD
    3. Nucleation of crystals
    4. Crystal growth
  2. Transport: diffusion & flow pdf notes  (In Jan 2019 I taught at another EU school, so I updated and expanded my transport notes, new version here these are a bit better than the May 2018 Maynooth version, I think).
    1. Mixing needs flow & diffusion
    2. Crystal growth: The role of transport
    3. Phoresis: diffusion of one thing in response to a gradient in another
  3. Data analysis  pdf notes
    1. We all need models … to make predictions
    2. Linear regression & two types of errors in fitting
    3. The problem of sampling high dimensional space – finding a needle in multidimensional haystack
    4. Partial solutions to searching high dimensional space: 1) get more data, 2) analyse data better, including scoring outcomes & image analysis

Note to RAMP ESRs: it was a pleasure to run this little course, if you have any comments, spot an error in the notes, just drop me an email, Richard

Python programs:

Python programs are just text files, and have suffix .py. They can be edited by any text editor, or by something like Spyder.

Fitting etc of data:

python program for linear regression

python program to demonstrate fitting errors for 1) noisy data, and 2) model wrong

Simple model of diffusion:

python program to demo diffusion starting from the origin, and plotting in python

python program to model time and space dependence of supersaturation in free interface diffusion crystallisation trial

Analysing a trial outcome:

How to rationally use info from one trial (eg that trial with a particular concentration of a precipitant resulted in formation of a precipitate), to come up with the best guess for the next precipitant concentration to try:

python program to come up with best guess for precipitant concentration to try, if first trial yields precipitate


1.0 3.1
2.0 5.3
3.0 6.9
4.0 9.1
5.0 10.9
6.0 12.3
7.0 15.1