Skip to content

Surface: make

Tongqi Wen edited this page Jun 19, 2020 · 3 revisions

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}"

Clone this wiki locally