I am trying to determine the melting temperature of an fcc metal as a function of pressure, which should give a liquid–solid phase diagram for this metal. For now, I'm not going to consider any polymorphs other than fcc in the solid phase. My goal is to test the thermodynamic properties of a ReaxFF potential. I am using LAMMPS. What LAMMPS features would be most helpful for this? Is parallel tempering (temperature replica exchange) useful for this?

I'm aware of this paper by Frenkel that says trying to simulate coexistence explicitly can be problematic.

  • 3
    $\begingroup$ This is a very tough problem. I recommend checking out Jiri Kolafa's work in regards to crystals, crystal faces in solid/liquid simulations, and free energy of crystals in general. $\endgroup$
    – B. Kelly
    Jun 2, 2021 at 17:30

2 Answers 2


I'm not an expert in this area, but I think there are currently several approaches to this, none of them undisputed. Maybe this recent paper that tests a few of those methods will provide some ideas/references for you:

Zou, Y.; Xiang, S.; Dai, C. Investigation on the Efficiency and Accuracy of Methods for Calculating Melting Temperature by Molecular Dynamics Simulation. Computational Materials Science 2020, 171, 109156. https://doi.org/10.1016/j.commatsci.2019.109156.

To be honest, of the methods presented in the above paper, I've only heard of the two-phase method, where you split the simulation cell by adding a solid-liquid interface in the middle. Then using an NPH ensemble, you test a guess melting temperature and see how two phases respond. The NPH ensemble will result in a temperature change towards the actual melting temperature, so you can iterate to a good approximation of the melting temperature predicted by your interatomic potential. However, it seems like this would result in the pressure issue that your Frenkel paper discusses.

I'm unfamiliar with parallel tempering; I hope someone else can address that and the LAMMPS-specific parts of your question.


While this is not a direct answer, it might hopefully offer some inspiration from a neighbouring field.

It turns out that there is something called DNA melting. The DNA melting temperature is defined as the temperature at which half of the DNA strands are in the random coil or single-stranded state. While not at all a true melting temperature in the conventional sense, it bears a couple of key resemblances. First, like the melting point of solids (metals, in your case), this is a thermodynamical compromise between entropy and enthalpy. Second, like the melting point of solids, these terms can be estimated computationally by considering interatomic interactions, and this is non-trivial. So maybe there is something to be learned of how people from that field have been dealing with this problem that, for them, is of great practical importance.

Here is where (hopefully) the inspiration comes in: Leber et al, "A fractional programming approach to efficient DNA melting temperature calculation", Bioinformatics 2005, 21, 2375–2382.

Results: As the melting temperature can be expressed as a fraction in terms of enthalpy and entropy differences of the corresponding annealing reaction, we propose to use a fractional programming algorithm, the Dinkelbach algorithm, to solve the problem. To calculate the required differences of enthalpy and entropy, the Nearest Neighbor model is applied. Using this model, the substeps of the Dinkelbach algorithm[1] in our problem setting turn out to be calculations of alignments which optimize an additive score function. Thus, the usual dynamic programming techniques can be applied. The result is an efficient algorithm to determine melting temperatures of two DNA strands, suitable for large-scale applications such as primer or probe design.

We can also see at least one instance of people employing LAMMPS to deal with DNA melting: Svaneborg, "LAMMPS framework for dynamic bonding and an application modeling DNA", Computer Physics Communications 2012, 183, 1793-1802 So maybe there is a path forward? If you have a way of estimating enthalpy and entropy for small chunks of your fcc metal as a function of pressure, perhaps this approach can lead you somewhere.

[1] For more on the Dinkelbach's algorithm: You et al, "Dinkelbach's algorithm as an efficient method to solve a class of MINLP models for large-scale cyclic scheduling problems" Computers & Chemical Engineering 2009, 33, 1879-1889.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .