mcsqs temperature

Dear sir

I’m trying to generate supercells at different temperatures through mcsqs.
After checking the manual and code, I think mcsqs’ default setting assumes K_b * T is 1, but I’m not sure.

How can I set temperature to the actual temperature (e.g. 600K) in mcsqs?

SQS’s are atomic structures designed to mimic the perfectly random structures. For example, for an alloy A0.5B0.5, considering the nearest neighbors of A atoms ( f=(2,1) ), half of them should be A and half of them should be B, if the structure is perfectly random. It does not depend on the temperature.

The original paper of SQS may help you: https://doi.org/10.1103/PhysRevLett.65.353

The “temperature” in mcsqs is only a parameter originated from the idea of Boltzmann distribution and often used in Monte Carlo algorithm. Say, we would like to find a structure that best matches the perfectly random structure, in other words, minimizes the loss function. For each step in MC, we randomly swap the occupations of two atomic sites and compare the loss functions. If the loss function decreases, we accept the swap;otherwise, we accept the swap with a probability like “p=exp[(L0-L)/k_bT]” where L0 and L are the loss functions before and after the swap, respectively. The k_bT here is only a parameter telling how we are tolerant to the “worse” structure. A small k_bT rejects most of the “bad” attemps, accelerating the MC process, but makes it difficult to jump over barriers and might get stuck into local minima; on the other hand, large k_bT allows us to jump over barriers easily, but might converge very slow. You can definitely change the k_bT in the mcsqs code for better performance, but ensure you understand the implications.