|
|
[求助]
Lammps 模拟硅的单轴拉伸边界上出现不正常的原子 求解?
最近学习Lammps,仿一网站写了in 文件,发现晶向为x:111,y:1-10,z:11-2时,通过ovito观察data或cfg文件,x和z方向边界上有不正常的原子,如下图,把晶向设为x:100,y:010,z:001就不会出现,不知为什么,求各位大神指导。
in文件如下
# Input file for uniaxial compressive loading of single crystal silicon
# Mark Tschopp, November 2010
# ------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
variable latparam equal 5.442
# ----------------------- ATOM DEFINITION ----------------------------
lattice diamond ${latparam} orient x 1 1 1 orient y 1 -1 0 orient z 1 1 -2
region whole block 0 12 0 12 0 12
create_box 1 whole
create_atoms 1 region whole
# ------------------------ FORCE FIELDS ------------------------------
pair_style tersoff
pair_coeff * * Si-3.tersoff Si
neighbor 0.3 bin
neigh_modify delay 5
mass 1 28.0855
write_data Si.0.data
# ------------------------- SETTINGS ---------------------------------
compute csym all centro/atom 12
compute peratom all pe/atom
######################################
# EQUILIBRATION
minimize 1.0e-8 1.0e-8 10000 10000
write_data Si.1.data
reset_timestep 0
timestep 0.001
velocity all create 300 12345 mom yes rot no
fix 1 all npt temp 300 300 1 iso 0 0 1 drag 1
# Set thermo output
thermo 1000
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
dump 2 all cfg 2000 dump.relaxtion_*.cfg mass type xs ys zs c_csym c_peratom fx fy fz
dump_modify 2 element Si
# Run for at least 10 picosecond (assuming 1 fs timestep)
run 100000
unfix 1
undump 2
# Store final cell length for strain calculations
variable tmp equal "ly"
variable L0 equal ${tmp}
print "Initial Length, L0: ${L0}"
######################################
# DEFORMATION
reset_timestep 0
fix 1 all npt temp 300 300 1 x 0 0 1 z 0 0 1 drag 1
variable srate equal 1.0e9
variable srate1 equal "v_srate / 1.0e12"
fix 2 all deform 1 y erate ${srate1} units box remap x
# Output strain and stress info to file
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
# p2, p3, p4 are in GPa
variable strain equal "(ly - v_L0)/v_L0"
variable p1 equal "v_strain"
variable p2 equal "-pxx/10000"
variable p3 equal "-pyy/10000"
variable p4 equal "-pzz/10000"
fix def1 all print 100 "${p1} ${p2} ${p3} ${p4}" file Silicon_tension_def1.txt screen no
# Use cfg for AtomEye
dump 1 all cfg 2000 dump.comp_*.cfg mass type xs ys zs c_csym c_peratom fx fy fz
dump_modify 1 element Si
# Display thermo
thermo 1000
thermo_style custom step v_strain temp v_p2 v_p3 v_p4 ke pe press
restart 10000 Si.*.inp
run 2000000
######################################
# SIMULATION DONE
print "All done"
![Lammps 模拟硅的单轴拉伸边界上出现不正常的原子 求解?]()
111.png |
|