Parallel tempering Monte Carlo - bertdupe/Matjes GitHub Wiki

Why do we need the Parallel Tempering Monte Carlo (PTMC)

Due to frustration of the magnetic interactions, the spin system can exhibit at finite temperature many metastable states, as for example skyrmions, antiskyrmions or higher order skyrmions. Especially in the region of the phase transition, the huge amount of metastable states creates a lot of local energy minima in the energy landscape (following figure). The Metropolis MC algorithm can only overcome energy barriers which are smaller than kBT (dark green area in the figure) and the system can be trapped in a local energy minima during the whole simulation time. To sample a larger volume of the phase space (and sample much more different states) is needed to receive a good estimated value of the thermodynamic quantities. Therefore, a technique is needed, which can overcome energy barriers, exit metastable states and can reach the ground state of the system at least once during the simulation time. Such a technique is the PTMC.

Parallel-Tempering Monte-Carlo (PTMC)

The idea of the PTMC is to overcome energy barriers with thermal energy and so exit metastable states. During the simulation time, one spin structure is heated up and cooled down. The parallelism is refelected in the parallel simulation of different spin structures at different temperatures at the same time. The schematic procedure of the PTMC is shown in the following figure and explained in the following.

  1. Create R identical spin structures, the so-called replicas. They are then distributed over the temperature range (T*1* - T*8* in the figure).
  2. Relax the Replicas with the Metropolis MC algorithm into the next local energy minimum (MC-Relaxation). The system at temperature Ti is then in state Xm with the energy Em.
  3. After relaxation, the spin structures of adjacent temperatures are swapped with a certain probability pswap, which depends on the Energy of the spin structures Em,n and the temperatures Ti,i+1 of the (beteilitgten) replicas (PTMC). Then pswap is: pswap = min(1, exp(∆βE)), which means, that on the one hand the replicas were always swapped, if the energy of the replica with higher temperature is lower (pswap = 1 if ∆βE ≥ 0. In that case, the replica at lower temperature is certainly in a local energy minimum and can so exit it. On the other hand, the replicas were swapped with a probability exp(∆βE), if energy of the replica with lower temperature is lower (∆βE < 0). Here, it is ∆β = 1/(kBTi+1) − 1/(kBTi) and ∆E = En - Em. The higher the energy difference or temperature difference is, the lower the swapping probability is.
  4. After the swapping, the replicas are again relaxed with the Metropolis MC algorithm (step 2) and swapped afterwards. These relaxation steps are the autocorrelation steps, since they ensure the decorrelation between the spin structures.
  5. During the simulation time, all relaxed energies Em (and other quantities), which occurred at a certain temperature are stored, at the end, the average value, and other thermodynamic quantities are calculated for this temperature.

When choosing the temperature steps, it is important to choose enough steps to make sure, that the temperature difference is small enough to ensure a swapping of the replicas. When choosing too much temperature steps, it needs a long time for one replica, sample the whole temperature range. The highest temperature should be choosen large enough, that only one minimum of the free energy exists, because only then, the replica can completely forget the minimum, in which it was trapped. The lowest temperature can be chosen in the range of interest.

Literature for reading:

⚠️ **GitHub.com Fallback** ⚠️