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 sccriptplotTrajDimerSLD.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
withDimerSLD/DimerpuSLDcoupled
. How do they differ? Verify that the same Hamiltonians are set up within the UppASD simulation by comparing thestruct.scnobase.out
, thelldata.scnobase.ou
, and themmldata.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 inTrimerSLD/TrimerauSLD3siteSym
withTrimerSLD/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)