not a real potential energy surface

difficult to get realistic micelles without apriori information

let's treat it like an optimisation problem

  • move the surfactants to optimise agreement with scattering profile
  • micelles are an ensemble structure, perfect for a population approach
  • population based optimisation algorithms are trivially parallelised


single tailed surfactant nearly has C∞v symmetry
  • can describe the system with 5 numbers per molecule
  • three positional, two angular
  • each particle has knowledge of the personal best (within that member of the population) position and the global best position

  • apparently good for high dimensionality problems
sadie baby shamelessly stolen from wikipedia
By Ephramac - Own work, CC BY-SA 4.0, Link


  • fitoog is an open-source C_MPI code for applying a particle swarm algorithm fitting SAS data to atomistic/coarse-grained molecular models
  • runs a short energy minimisation using MARTINI force field parameters at each stage

strong scaling

sadie baby
each node has 20 cores

weak scaling

sadie baby
each node has 20 cores

is it good?

  • use fitoog to fit some "test data"
  • fifty CTAB molecules in a box
  • background subtracted SANS data
  • ten independent calcs, running on 16 nodes, population size 10240, number of steps 4000

Random numbers

sadie baby
acceptance probability 0.11 %

Random numbers w/ EM

sadie baby
acceptance probability 0.18 %

Particle swarm w/ EM

sadie baby
acceptance probability 0.26 %
sadie baby
not very micellar
sadie baby

Sadie, my dog