Fix Atom/Swap LAMMPS November 21, 2023

LAMMPS version: November 21, 2023

Hello, everyone,

I am using the fix atom/swap to generate phase diagrams of Al-Mg atoms and Al-Zn atoms. For Al-Mg, I generated Mg concentrations between 0 and 35 atomic % by using chemical potential differences (dmu) between the solvent and solute between 0.4 eV and 1.6 eV. This was done in the liquid and solid phase. For Al-Zn, I am having trouble generating the same concentration ranges in my atom swap simulations.

For the Al-Zn alloys, I have used dmus between 1.5 eV and 2.1 eV to attempt to regenerate the same solute concentration range as Al-Mg, between 0 and 35 atomic % Zn.

At 2.0 eV in the solid phase, the Zn concentration converges to approximately 7 atomic % Zn. At 2.1 eV , the concentration is 55 atomic percent Zn. This is a much higher concentration than I need, but I still need to generate Zn concentrations up to 35 atomic percent in the solid phase.

I do not believe this is due to a different alloy having different parameters, because I did not have this same problem with Al-Zn in the liquid phase. In the liquid phase, I was able to generate a concentration range between 0 and 35 atomic % by using dmus between 1.4 eV and 1.8 eV.

Has anyone else had experience with small changes of the dmus creating large differences in the solute concentration? And if so, could you please let me know how you solved it? Here is my code for the initialization and the atom swaps. I just included the initialization and the atomswap part of the script, though I can add more if needed. I used metal units, periodic boundary conditions, and MEAM interatomic potential. If you would like any further information, I would be happy to provide it.

# ------------------------------------------------------------------------------------------------------
#   Stage 2: Initialize LAMMPS run for 3-d periodic defining regions and groups
# ------------------------------------------------------------------------------------------------------
group				1 region box
group				Al type 1
group				Zn type 2
variable			T equal 930
variable            m equal 3.05    #add +1.0 to your desired chemical potential difference
variable			conc equal count(Zn)/count(all)
mass				1 26.982
mass				2 65.380
neighbor			2 bin
neigh_modify			check yes

timer				off

# ------------------------------------------------------------------------------------------------------
#   Stage 4: Atom/swap on entire system and NPT for 10 ps
# ------------------------------------------------------------------------------------------------------
#reset_timestep		0
thermo_style            custom step time v_conc temp press vol density ke pe 
thermo                  1000
velocity                all create $T 72489 dist gaussian mom yes rot no

fix			1 all npt temp $T $T 0.1 iso 0.0 0.0 1.0	
fix 			SGMC all atom/swap 1000 1440 2223456 $T ke yes types 1 2 semi-grand yes mu 1.0 $m 
dump 			2 all custom 1000 swap.dump id type x y z

timestep 	0.001
run 		1000000
undump 		2

restart 	0
run 		0
unfix		SGMC


You need to use two separate interatomic potentials. One for Al, and the other for Zn. Using one interatomic potential will produce very wrong concentrations. Also, MEAM is not ideal. Look for BOP or others.