-
Notifications
You must be signed in to change notification settings - Fork 176
Relaxation: make
The list of the directories storing structures are ["confs/mp-*","confs/std-*","confs/test-*"]
. For single element system, if POSCAR
doesn't exist in the directories: std-fcc
, std-hcp
, std-dhcp
, std-bcc
, std-diamond
, and std-sc
, the package will automatically generate the standard crystal structures fcc
, hcp
, dhcp
, bcc
, diamond
, and sc
in the corresponding directories, respectively. In other conditions and for multi-component system (more than 1), if POSCAR
doesn't exist, the package will terminate and print the error "no configuration for autotest".
Take the input example of AlMg in the previous section, when we do make
, the following files would be generated:
POSCAR: After ensuring POSCAR
file exists in every confs/mp-*
, the confs/mp-*/relaxation
directory would be built and when we do
ls confs/mp-*/relaxation/POSCAR
the output should be
POSCAR -> ../POSCAR
indicating the confs/mp-*/relaxation/POSCAR
links to confs/mp-*/POSCAR
.
POTCAR: confs/mp-*/relaxation/POTCAR
should contain sequentially the content of vasp/input/POTCAR.al
and vasp/input/POTCAR.mg
. Please pay attention to the element sequence in POTCAR.
INCAR: The initial INCAR file needs to be provided by the user and KSPACING
parameter must be provided to help generate KPOINTS
file. Besides, users can also apply the parameter in the relaxation part to make the final changes on INCAR.
Take the deepmd example of AlMg in the previous section, when we do make
, the following files would be generated:
conf.lmp: the input configuration for lammps converted from poscar would exist as confs/mp-*/relaxation/conf.lmp
.
in.lammps: the package would generate the following confs/mp-*/relaxation/in.lammps
and we refer the user to the further information of fix box/relax function in lammps:
clear
units metal
dimension 3
boundary p p p
atom_style atomic
box tilt large
read_data conf.lmp
mass 1 1
mass 2 1
neigh_modify every 1 delay 0 check no
pair_style deepmd frozen_model.pb
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
min_style cg
fix 1 all box/relax iso 0.0
minimize 1.000000e-12 1.000000e-06 5000 500000
fix 1 all box/relax aniso 0.0
minimize 1.000000e-12 1.000000e-06 5000 500000
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}"
interatomic potential model: the frozen_model.pb
in confs/mp-*/relaxation
would link to the frozen_model.pb
file given in the input.
everything starts here
Universal for all property tests
Universal for all property tests except for elastic