90 lines
2.3 KiB
Plaintext
90 lines
2.3 KiB
Plaintext
# read a dump file for a sim. of magnetic cobalt
|
|
|
|
clear
|
|
units metal
|
|
atom_style spin
|
|
|
|
dimension 3
|
|
boundary p p p
|
|
|
|
# check why?
|
|
atom_modify map array
|
|
|
|
lattice fcc 3.54
|
|
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
|
create_box 1 box
|
|
|
|
read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes
|
|
|
|
create_atoms 1 box
|
|
|
|
# setting mass, mag. moments, and interactions
|
|
|
|
mass 1 58.93
|
|
|
|
#Setting spins orientation and moment
|
|
#set group all spin/random 31 1.72
|
|
set group all spin 1.72 0.0 0.0 1.0
|
|
set group single_spin spin/random 11 1.72
|
|
|
|
velocity all create 200 4928459 rot yes dist gaussian
|
|
|
|
#Magneto-mechanic interactions for bulk fcc Cobalt
|
|
pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0
|
|
|
|
# cobalt eam potential
|
|
pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co
|
|
|
|
#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange)
|
|
pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
|
|
|
|
#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC)
|
|
pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731
|
|
|
|
#Define a skin distance, update neigh list every
|
|
#neighbor 1.0 bin
|
|
#neigh_modify every 10 check yes delay 20
|
|
neighbor 1.0 bin
|
|
neigh_modify every 1 check no delay 0
|
|
|
|
#Magnetic field fix
|
|
#Type | Intensity (T or eV) | Direction
|
|
fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0
|
|
|
|
#Fix Langevin spins (merging damping and temperature)
|
|
#Temp | Alpha_trans | Alpha_long | Seed
|
|
fix 2 all langevin/spin 0.0 0.0 0.0 21
|
|
|
|
#Magnetic integration fix
|
|
fix 3 all integration/spin serial
|
|
|
|
#Setting the timestep for the simulation (in ps)
|
|
timestep 0.0001
|
|
|
|
##################
|
|
#######run########
|
|
##################
|
|
|
|
compute out_mag all compute/spin
|
|
compute out_pe all pe
|
|
compute out_ke all ke
|
|
compute out_temp all temp
|
|
|
|
variable magz equal c_out_mag[4]
|
|
variable magnorm equal c_out_mag[5]
|
|
variable emag equal c_out_mag[6]
|
|
variable tmag equal c_out_mag[7]
|
|
variable mag_force equal f_1
|
|
|
|
thermo 10
|
|
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
|
|
thermo_modify format float %20.15g
|
|
|
|
#Dump the positions and spin directions of magnetic particles (vmd format)
|
|
dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz
|
|
|
|
#Running the simulations for N timesteps
|
|
run 100
|
|
#run 10000
|
|
|