Currently, several QE input generators are available on the Internet (for example, https://www.materialscloud.org/work/tools/qeinputgenerator). However, for some reason, they are not capable in detecting crystal symmetry, which can crucially affect the calculation speed.
qe_sc.py
is used to set up the vc-relax
calculation for given structure. It generates input.opt
and script1.sh
files basing on given POSCAR and (optionally) system.json file.
input.opt
contains parameters of calculation and crystal structure geometry. Only inequvalently placed atoms are written in this file. Thespace_group
parameter defines the symmetry, and theA
,B
,C
,cosAB
,cosAC
,cosBC
define the unit cell shape and volume.script1.sh
is a script for Slurm Workload Manager
For input.opt
generation, run the
python qe_sc.py
in a folder containing POSCAR
User can choose the tolerance running
python qe_sc.py --tol=%desired_tolerance%
Default tolerance is 0.2.
The pressure can also be set up by
python qe_sc.py --press=%desired_pressure_in_kbar%
Default pressure is 2000.
If the POSCAR placed in another path (for example, in ~/QE/H3S
) and named differently (for example, CONTCAR
), user can run
python qe_sc.py --path=~/QE/H3S --poscar=CONTCAR
The program qe_sc.py
allows to create multiple folders for each given pressure. To set up multiple calculations, run
python qe_sc.py --press %P1% %P2% %P3% ... %Pn%
As result, corresponding folders will appear in the folder next to POSCAR
file.
Symmetry analyzer analyze.py
code allows to conveniently analyze symmetry of relaxed structures. It looks for output.opt.
files next to POSCAR
(or in subdirectories next to POSCAR
, which could be created by qe_sc.py
). When output.opt.
is found, final lattice and atomic coordinates are parsed. Then the CONTCAR
and the symmetrized .cif
file are generated in the folder. The summary of all found symmetries are placed in symm.json
file in the directory in which analyze.py
was launched.
The algorithm of symmetry analysis is the same as in symmetrize.py
In a directory containing output.opt.
or containing subdirectories with output.opt.
, run
python analyze.py
You can choose range of tolerances in which the structure will be analyzed.
python analyze.py --tol_step=%desired_tolerance_step% --tol_max=%desired_max_tolerance%
Default --tol_step
and --tol_max
are 0.01 and 0.5 accordingly.
You can disable creation of .cif
files running analyze.py
with tag:
python analyze.py --save_cif=False