-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhin_rev.fcc
67 lines (66 loc) · 3.39 KB
/
hin_rev.fcc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
variable strfzy equal 1./${Strain}
variable ax equal ${A}
variable strain equal ${Strain}
variable d1 equal "v_ax/sqrt(2)"
##-----Initialisation------------------------------------------------------------------
units metal
boundary p p p
lattice fcc ${A}
region whole block -10 10 -10 10 -10 10
create_box 1 whole
change_box all x scale ${Strain} remap
change_box all y scale ${Strain} remap
change_box all z scale ${Strain} remap
fix 1 all deform 1 x scale 1 y scale 1 z scale 1
pair_style eam/alloy
pair_coeff * * FeNiCr_Bonny_2013_ptDef.eam.alloy Ni
neighbor 2.0 bin
neigh_modify delay 5 check yes one 100000 page 100000000
read_dump ${Siabox} 0 x y z add yes box no format xyz
change_box all x scale ${strfzy} remap
change_box all y scale ${strfzy} remap
change_box all z scale ${strfzy} remap
fix 1 all deform 1 x scale 1 y scale 1 z scale 1
#读取xyz文件
#0为读入文件对应的步数,但是因为某些原因只能设为0.
#------------------------------定义间隙--------------------------------
variable dis equal 0.27
variable dx atom "x/v_ax - floor(x/v_ax)"
variable dy atom "y/v_ax - floor(y/v_ax)"
variable dz atom "z/v_ax - floor(z/v_ax)"
variable SIAs atom " sqrt((v_dx)^2+(v_dy)^2+(v_dz)^2) > v_dis && &
sqrt((v_dx-0.5)^2+(v_dy)^2+(v_dz-0.5)^2) > v_dis && &
sqrt((v_dx-0.5)^2+(v_dy-0.5)^2+(v_dz)^2) > v_dis && &
sqrt((v_dx)^2+(v_dy-0.5)^2+(v_dz-0.5)^2) > v_dis && &
sqrt((v_dx-1)^2+(v_dy-0.5)^2+(v_dz-0.5)^2) > v_dis && &
sqrt((v_dx-0.5)^2+(v_dy-1)^2+(v_dz-0.5)^2) > v_dis && &
sqrt((v_dx-0.5)^2+(v_dy-0.5)^2+(v_dz-1)^2) > v_dis && &
sqrt((v_dx)^2+(v_dy)^2+(v_dz-1)^2) > v_dis && &
sqrt((v_dx)^2+(v_dy-1)^2+(v_dz)^2) > v_dis && &
sqrt((v_dx-1)^2+(v_dy)^2+(v_dz)^2) > v_dis && &
sqrt((v_dx)^2+(v_dy-1)^2+(v_dz-1)^2) > v_dis && &
sqrt((v_dx-1)^2+(v_dy-1)^2+(v_dz)^2) > v_dis && &
sqrt((v_dx-1)^2+(v_dy)^2+(v_dz-1)^2) > v_dis && &
sqrt((v_dx-1)^2+(v_dy-1)^2+(v_dz-1)^2) > v_dis"
#-------------------------------输出间隙--------------------------------
group SIAs dynamic all var SIAs every 100
compute clus SIAs cluster/atom ${d1}
variable numSIAs equal count(SIAs)
#-----------------------------MSD-------------------------------
compute msd all msd
velocity all create ${Temp} ${Nseed} rot yes mom yes dist gaussian
velocity all zero linear
velocity all zero angular
fix nvt all nvt temp ${Temp} ${Temp} 1
#----- relaxation --------------------------------------------------------------------------
log log.${Action}.${m}
thermo 100
thermo_style custom step time temp press pxx pyy pzz pxy pxz pyz v_numSIAs c_msd[1] c_msd[2] c_msd[3] c_msd[4] etotal pe vol lx
timestep 0.002
compute 2 all stress/atom NULL
dump 2 all custom 20000 stress.${Action}.temp${Temp}.strain${Strain}.${Nseed}.* x y z c_2[1] c_2[2] c_2[3] c_2[4] c_2[5] c_2[6]
dump dumpposition all xyz ${gap} all.*.xyz
dump dumpsia SIAs custom ${gap} sia.*.xyz x y z c_clus
restart 250000 restart.*
write_restart restart.*
run ${Nstep}