Spin-lattice dynamics

For ASD simulations, the minimal set of input files consists of inpsd.dat, a posfile, a momfile, and a jfile. In order to set up a SLD simulation with UppASD, this set of input files need to be augmented with a number of files, namely a phonfile, an llfile, and the coupling constants for a cross coupling Hamiltonian such as the third order spin-spin-displacement Hamiltonian contained in an mmlfile.

In these exercises you will explore how a spin-lattice coupled systems can be set up for simulation with UppASD. The first two systems are a magnetic dimer and a magnetic trimer. For these systems input files are provided in two variants, either with the full set of interactions specified, or with only the irreducible set of interactions are specified. In the latter case the point group operations that are activated with the sym flag are used to work out the full set of couplings.

Exercise 1: SLD simulation of a dimer

In this example we are modeling a spin-lattice coupled magnetic dimer, with zero lattice damping and zero Gilbert damping, using velocity-Verlet or fixed-point iteration implicit midpoint solver. The full expressions for the Hamiltonian, the effective magnetic fields, and the interatomic forces are contained in Eqs. 27-31 in Ref. [Hellsvik2019].

The main input file inpsd.dat contains a number of additional blocks

simid     scnobase
ncell     1         1         1                 System size            
BC        0         0         0                 Boundary conditions (0=vacuum, P=periodic)
cell      3.00000   0.00000   0.00000         
          0.00000   3.00000   0.00000
          0.00000   0.00000   3.00000
Sym       0                                     Symmetry of lattice (0 for no, 1 for cubic, 2 for 2d cubic, 3 for hexagonal)
do_prnstruct 1
do_sortcoup N
aunits    N
do_hoc_debug 0

posfile   ./posfile
momfile   ./momfile
exchange  ./jfile.nosym
Initmag   3

phonfile  ./phonfile
ll        ./llfile.nosym
mml      ./mmlfile.nosym
Initlatt  3

do_ld     Y                    # Read lattice and spin-lattice Hamiltonians
mode      R                    # Perform SLD simulation
Nstep     20000
timestep  1e-16
damping   0.00
lattdamp  0.00
Temp      0.00

do_lavrg   Y                   # Measurement of average displacaments
do_proj_lavrg   Y
lavrg_step   10
lavrg_buff   10

do_ltottraj  Y                 # Measurements of displacments
ltottraj_step  10
ltottraj_buff  10

do_prn_eeff  Y
eeff_step    10
eeff_buff    10

do_prn_einteff  Y
einteff_step    10
einteff_buff    10

do_avrg   Y
do_proj_avrg   Y
avrg_step   10
avrg_buff   10

do_tottraj  Y
tottraj_step  10
tottraj_buff  10

do_prn_beff  Y
beff_step    10
beff_buff    10

do_prn_binteff  Y
binteff_step    10
binteff_buff    10

ntraj   2                  # Measurements of individual spin trajectories
1    10    10
2    10    10

lntraj   2                 # Measurements of individual displacament trajectories
1    10    10
2    10    10

plotenergy   1             # Measurement of energies

The posfile contains the positions of the atoms in terms of basis vector coordinates in the unit cell.

1   1   0.00   0.00   0.00
2   1   1.00   0.00   0.00

The momfile contains the magnetic moments of the atoms in the unit cell.

1   1   1.00   0.983607   0.180328   0.00   2.0
2   1   1.00   0.983607  -0.180328   0.00   2.0

The jfile.nosym contains the exchange couplings within the system.

1   1   1.0    0.0    0.0       1.0
1   1  -1.0    0.0    0.0       1.0

The phonfile file contains ionic masses, initial displacements and velocities. The first column is the site number, the second the atom type, the third the atomic mass in atomic mass units, the 4-6th the Cartesian components of the initial displacements, the 7-9th columns the Cartesian components of the velocities.

1   1   10.00   0.02   0.00   0.00   0.00   0.00   0.00
2   1   10.00  -0.02   0.00   0.00   0.00   0.00   0.00

The llfile file contains the harmonic force constants. The first column is the site number, (not used), the 3rd-5th the interaction vectors (dependent on maptype), and the 6-15th columns the components of the harmonic force constants in the order of xx, xy, xz, yx, yy, yz, zx, zy, zz.

1   1   0.0    0.0    0.0       1.0    0.0    0.0       0.0    1.0    0.0      0.0    0.0    1.0    
1   1   1.0    0.0    0.0      -1.0    0.0    0.0       0.0   -1.0    0.0      0.0    0.0   -1.0
1   1  -1.0    0.0    0.0      -1.0    0.0    0.0       0.0   -1.0    0.0      0.0    0.0   -1.0

The mmlfile contains the spin-lattice coupling (SLC) constants [see Eqs. 6-9 in Ref. [Hellsvik2019]]. The columns from first row are: site number (atom i), site number of nearest neighbour mapping (atom j), interaction vectors for nearest neighbour site (j-th) and displaced (k-th) atom depending on maptype. The columns from the second, third and fourth rows are: 9 components of SLC constants for the displacement of k-th atom along x, y, z respectively. The ordering of SLC components in each row are [xx, yx, zx, xy, yy, zy, xz, yz, zz]. For a dimer, the SLC constants are of \(A_{iji}\) type, i.e. the displacement is always on one of the two atoms that are exchange coupled, given that no third site is present.

  1      1               1.0    0.0    0.0      0.0    0.0    0.0
 0.001  0.0    0.0       0.0    0.001  0.0      0.0    0.0    0.001
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
  1      1               1.0    0.0    0.0      1.0    0.0    0.0
-0.001  0.0    0.0       0.0   -0.001  0.0      0.0    0.0   -0.001
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
  1      1              -1.0    0.0    0.0      0.0    0.0    0.0
-0.001  0.0    0.0       0.0   -0.001  0.0      0.0    0.0   -0.001
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
  1      1              -1.0    0.0    0.0     -1.0    0.0    0.0
 0.001  0.0    0.0       0.0    0.001  0.0      0.0    0.0    0.001
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
 0.0    0.0    0.0       0.0    0.0    0.0      0.0    0.0    0.0
  • Run a simulation for the example DimerSLD/DimerpuSLDcoupled. Which output files are generated?

  • Plot the time trajectories of the energies that are written to the file lattenergy.scnobase.out. How do the energies evolve in time? Compare for Fig. 2 in [Hellsvik2019]. Use the sccript plotTrajDimerSLD.py.

  • Plot the time trajectories of spins (trajectory.scnobase.001.1.out, trajectory.scnobase.002.1.out), and displacements (disptraj.scnobase.1.1.out, disptraj.scnobase.2.1.out). How do magnetic precession frequencies evolve in time? Compare for Fig. 3 in [Hellsvik2019].

  • Compare the input files contained in DimerSLD/DimerpuSLDcoupledSym with DimerSLD/DimerpuSLDcoupled. How do they differ? Verify that the same Hamiltonians are set up within the UppASD simulation by comparing the struct.scnobase.out, the lldata.scnobase.ou, and the mmldata.scnobase.out files for the two different cases.

Exercise 2: SLD simulation for trimer

  • Run a simulation for the example TrimerSLD/TrimerauSLD3site.

  • Modify the plot script plotTrajDimerSLD.py that was used for the dimer, so that it can be used for the trimer.

  • Run a simulation for the example TrimerSLD/TrimerauSLD3siteSym. Compare the input files contained in TrimerSLD/TrimerauSLD3siteSym with TrimerSLD/TrimerauSLD3site. How do they differ?

Exercise 3: Phonon and magnon spectra for bcc Fe

bccFeSLD # bcc Fe with MM, LL and MML coupling. Uses cutoff in LL interaction

# Variants available in the runbccFe*.sh scripts

# Gronbech-Jensen-Farago velocity-Verlet solver (initial and/or measurement phase) # Canonical velocity rescaling (measurement phase) # Fixed-point iteration implicit midpoint solver (measurement phase)