How to compute the free energy of solids#

Follow these steps to perform Frenkel-Ladd (Einstein crystal) or Vega-Noya (Einstein molecule) approach to compute the free energy of solid phases.

MD simulations#

  1. Initialize your system in the ideal crystal structure.

  2. Add stationary reference particles at the equilibrium sites.

  3. Set the pair force r_cut to 0 between the reference particle type and all particle types.

  4. Add bonds (hoomd.md.bond.Harmonic) between the stationary reference particles and the mobile particles.

  5. Integrate the equations of motion of the mobile particles.

  6. Adjust the strength of bonds as needed during the simulation.

  7. When using the Einstein crystal approach, apply hoomd.update.RemoveDrift to adjust the center of mass of the system.

HPMC simulations#

  1. Initialize your system in the ideal crystal structure.

  2. Apply the harmonic external potential (hoomd.hpmc.external.field.Harmonic), using variants to adjust the spring constants as needed during the simulation.

  3. Apply trial moves to the mobile particles.

  4. When using the Einstein crystal approach, apply hoomd.update.RemoveDrift to adjust the center of mass of the system.

Log and analyze energies#

In both MD and HPMC simulations:

  1. Log relevant energies (e.g. with hoomd.write.HDF5Log).

  2. Post process the logged data to compute the free energy following the procedures in Frenkel-Ladd or Vega-Noya as appropriate.