SPIN package: variable timestep and heat transfer

Dear LAMMPS community,

Recently I found that lammps can do the spin-lattice dynamics, it was so great! Now I have two questions when I run the example “in.spin.iron”:

First question is about the timestep. I’m trying to do the simulation which is far from equilibrium and need to use the variable timestep, that is, the “fix dt/reset” instead of “timestep”. However, I found that the lattice subsystem will be heated up with no reason to millions of kelvin within tens of steps and finally lead to the error of “lost atoms”. But it never happen if I use fixed timestep (e.g. 0.0001 ps). (see attached file “in.spin.iron.2”, line 36 and 37)

The second question is about the energy transfer between the spin and the lattice subsystem. In the reference “Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics”, the cobalt with “the magnetic exchange interaction, a spin-orbit coupling, and a mechanical EAM potential”, the spin subsystem with thermostat can heat up the lattice subsystem, and the lattice subsystem with thermostat can also heat up the spin system. However, in the example “in.spin.iron”, with only include “exchange interaction and EAM potential”, this can not happend. The spin subsystem with lower temperature can not gain heat from the lattice subsystem with higher temperature (“nve”, or “lattice langevin thermostat”. The heat can only transfer from the spin subsystem to the lattice subsystem. I have try many cases, and I found that the only case that the heat can transfer from spin to lattice is that when the spin is contact to a langevin thermostat and the lattice is not.

Any help is appriciated!

Best regards,

Kan from Sun Yat-sen University

in.spin.iron.2 (1.83 KB)

1 Like

Thanks for your comments. I am copying Julien Tranchida, the principal author and maintainer of the SPIN package. He is in the best position to answer your questions.
Please make certain, you are testing with the very latest patch version of LAMMPS, as there are improvements added to the SPIN package continuously.

Axel.

Axel, thanks a lot for forwarding the message.

Kan, thanks a lot for your interest.

I indeed never implemented the fix nve/spin command to work in combination with the fix dt/reset. I’m guessing this fix might be messing with the symplecticity of the sectoring algorithm we implemented for spin-lattice dynamics.

If you are interested, I can try to have a quick look at the input script you are using for those simulations (if possible a “simplified but still having the bug” version of it). Just send it to me in a private message (at jtranch@…3…).

For the spin-lattice relaxation, this is a well-known effect in those simulations. You can have a look a this paper by the group of DP Landau for more explanation:

https://journals.aps.org/prb/abstract/10.1103/PhysRevB.93.060402

The issue is related to angular momentum transfer between the spin and lattice degrees of freedom. To solve that issue, you can try using interactions arising from spin-orbit coupling effects, such as pair spin/neel, or pair spin/dmi (pair spin/neel is the one we used in the publication).

Let me know if you have additional question,

All the best,

Julien.

PS: as mentioned by Axel, SPIN is a recently implemented LAMMPS package, and some functions are still evolving and being corrected. Do not hesitate to download the latest version of LAMMPS if you want to use it.

1 Like