82 lines
2.4 KiB
Plaintext
82 lines
2.4 KiB
Plaintext
# initial variables
|
|
|
|
# dimensions of the box and of each layer
|
|
variable box_size equal 50.0
|
|
variable ir_thick equal 4.0
|
|
variable fe_thick equal 0.5
|
|
variable pd_thick equal 0.5
|
|
|
|
variable fe_hi equal ${ir_thick}+${fe_thick}
|
|
variable pd_hi equal ${ir_thick}+${fe_thick}+${pd_thick}
|
|
|
|
|
|
units metal
|
|
atom_style spin
|
|
|
|
dimension 3
|
|
boundary p p f
|
|
|
|
# check why?
|
|
atom_modify map array
|
|
|
|
lattice fcc 3.839 orient x 1 -1 0 orient y 1 1 -2 orient z 1 1 1
|
|
region box block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${pd_hi}
|
|
region box_ir block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${ir_thick}
|
|
region box_fe block 0.0 ${box_size} 0.0 ${box_size} ${ir_thick} ${fe_hi}
|
|
region box_pd block 0.0 ${box_size} 0.0 ${box_size} ${fe_hi} ${pd_hi}
|
|
|
|
create_box 3 box
|
|
|
|
create_atoms 1 region box_ir
|
|
create_atoms 2 region box_fe
|
|
create_atoms 3 region box_pd
|
|
|
|
group ir_atoms region box_ir
|
|
group fe_atoms region box_fe
|
|
group pd_atoms region box_pd
|
|
|
|
# setting mass, mag. moments, and interactions for cobalt
|
|
|
|
mass 1 192.217 # mass of Ir atoms
|
|
mass 2 55.845 # mass of Fe atoms
|
|
mass 3 106.42 # mass of Pd atoms
|
|
|
|
set group ir_atoms spin/random 31 0.01 # has to set a length for LAMMPS to be happy
|
|
set group fe_atoms spin/random 89 2.7
|
|
set group pd_atoms spin/random 55 0.3
|
|
|
|
#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0
|
|
pair_style hybrid/overlay pair/spin/exchange 4.0
|
|
#pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/soc/dmi 2.6
|
|
pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885
|
|
pair_coeff 2 2 pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
|
|
#pair_coeff * * pair/spin/soc/dmi dmi 2.6 0.01 0.0 0.0 1.0
|
|
#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731
|
|
|
|
neighbor 0.1 bin
|
|
neigh_modify every 10 check yes delay 20
|
|
|
|
fix 1 fe_atoms force/spin anisotropy 0.0001 0.0 0.0 1.0
|
|
fix 2 all force/spin zeeman 0.1 0.0 0.0 1.0
|
|
fix 3 all langevin/spin 0.0 0.1 21
|
|
fix 4 all integration/spin lattice no
|
|
|
|
timestep 0.0002
|
|
|
|
# define output and run
|
|
|
|
compute out_mag all compute/spin
|
|
variable magz equal c_out_mag[3]
|
|
variable magnorm equal c_out_mag[4]
|
|
variable emag equal c_out_mag[5]
|
|
variable tmag equal c_out_mag[6]
|
|
variable mag_force equal f_1
|
|
|
|
thermo_style custom step time v_magnorm v_emag etotal
|
|
thermo 10
|
|
|
|
dump 1 all custom 50 dump_skyrmion.lammpstrj type x y z spx spy spz
|
|
|
|
run 1000
|
|
|