Same type of atom on different sites in RMC fitting

Posted on November 11, 2021, by Yuanpeng Zhang

In practice, there are many cases where we will have the same type of atom occupying different crystallographic sites, e.g., the A and B sites in spinel systems. Taking the high entropy spinel system as an example, if we want to treat atoms of the same type sitting on A and B sites differently in RMC fitting with RMCProfile (e.g., when considering atoms swapping happening on A and B sites separately), they have to be split explicitly in RMC6F configuration. Here, to demonstrate how we can do this conveniently in RMCProfile, I created a dummy structure as in the CIF here. In this dummy structure, we have Si atoms sitting on two different sites and we want to treat them separately. For sure, we can replace one of the Si sites with another dummy element, e.g., Ge or whatever other elements than Si. Then we prepare the RMC6F file as usual and in RMC .dat input file, we introduce NEUTRON_COEFFICIENTS :: keyword to manually assign coefficients corresponding to certain pairs. Using this method, RMCProfile will treat Ge as Si.

To make our life easier, RMCProfile introduces the capability of recognizing atoms of the same type that are separated by some other elements in RMC6F configuration file as different types of atoms. For example, I generate the RMC6F file corresponding to the dummy structure file given above, as can be downloaded here. In this RMC6F file, I separated Si atoms on two different sites with O. Then in my .dat file, I basically put ATOMS :: Si O Si as if the two Si’s are different elements. In this case, RMCProfile will treat them differently but will still use the scattering length for Si for both. To prepare the dummy RMC6F file attached above, we may still need to change the original CIF file to a temporary dummy one in which we want to change one of the Si to another element, e.g., Ge. Then we use data2config to generate the dummy RMC6F file, using the following command:

data2config -noannotate -order [Si O Ge] -supercell [2 2 2] -rmc6f dummy_temp.cif

after which we want to open the generated temporary RMC6F configuration file and change all Ge instances back to Si.

Furthermore, we can even put all those Si atoms together in RMC6F file and RMCProfile will still be able to treat the two neighboring segments of Si atom blocks differently. For example, I generated another RMC6F file where I put all Si atoms together, as can be found here. In this case, we have to introduce the keyword USE_RMC6F_ATOM_INFO :: in .dat file to tell RMCProfile that we want to treat those Si atoms as two different types of atoms according to the specification in the RMC6F file (the atoms line in .dat file now should be ATOMS :: Si Si O). This is essentially what we have to do when we are dealing with magnetic atoms, where it is required that all magnetic atoms should come before those non-magnetic atoms in order. In practice, we may have systems in which the same type of atoms sitting on different sites have different magnetic moments and therefore we do need to treat them differently. For example, if we have two types of Fe atoms in a specific system and suppose they are the only magnetic atoms in the system, we then want to have ATOMS :: Fe Fe ... in our configuration and follow exactly the same procedure as discussed here for the dummy Si system.