-
Notifications
You must be signed in to change notification settings - Fork 183
Surface: make
Step 1. Based on the equilibrium configuration, generate_all_slabs module in pymatgen.core.surface would help to generate surface structure list with using max_miller, min_slab_size, and min_vacuum_size parameters.
Step 2. If refine is True, we do refine process. If reprod-opt is True (the default is False), we do reproduce process. Else, the surface structure (POSCAR) with perturbations in xz and miller index information (miller.out) are written in the task directory, for example, in confs/mp-*/interstitial_00/task.000000 with the check and possible removing of the old input files like before.
Step 3. In surface by VASP, if change_box is True (default value is True), ISIF=4, if False, ISIF=2, and if static-opt is True, NSW=0. For surface by LAMMPS, when static-opt is False, in.lammps is the same as that in Relaxation: make when change_box is True or the same as that in EOS: make when change_box is False. When static-opt is True, the following in.lammps would be written.
clear
units metal
dimension 3
boundary p p p
atom_style atomic
box tilt large
read_data conf.lmp
mass 1 1
neigh_modify every 1 delay 0 check no
pair_style deepmd graph.002.pb graph.000.pb graph.003.pb graph.001.pb out_freq 10 out_file model_devi.out
pair_coeff
compute mype all pe
thermo 100
thermo_style custom step pe pxx pyy pzz pxy pxz pyz lx ly lz vol c_mype
dump 1 all custom 100 dump.relax id type xs ys zs fx fy fz
run 0
variable N equal count(all)
variable V equal vol
variable E equal "c_mype"
variable tmplx equal lx
variable tmply equal ly
variable Pxx equal pxx
variable Pyy equal pyy
variable Pzz equal pzz
variable Pxy equal pxy
variable Pxz equal pxz
variable Pyz equal pyz
variable Epa equal ${E}/${N}
variable Vpa equal ${V}/${N}
variable AA equal (${tmplx}*${tmply})
print "All done"
print "Total number of atoms = ${N}"
print "Final energy per atoms = ${Epa}"
print "Final volume per atoms = ${Vpa}"
print "Final Base area = ${AA}"
print "Final Stress (xx yy zz xy xz yz) = ${Pxx} ${Pyy} ${Pzz} ${Pxy} ${Pxz} ${Pyz}"everything starts here
Universal for all property tests
Universal for all property tests except for elastic