Updated to use results.tag

This gives more decimal places of accuracy than detailed.out and
should be a more stable file format in the long term.
This commit is contained in:
Ben Hourahine 2018-09-18 14:23:16 +01:00
parent cf99a0a965
commit 3f001d8de3
5 changed files with 1424 additions and 19170 deletions

View File

@ -11,12 +11,13 @@ DFTB+ phonon band structures are created as follows:
1) Create a DFTB+ input file dftb_in.hsd that is set up to perform a
single-point energy and force calculation for a structure which is named
``geo.gen``. The dftb_in.hsd file should turn on force evaluation by setting
``CalculateForces = Yes`` in its analysis.
``CalculateForces = Yes`` in its analysis block, and write the tagged results
by enabling ``WriteResultsTag = Yes`` in its options.
2) Generate the the required set of structures and the ``disp.yaml`` file by
issuing the command ::
% phonopy -d --dim="2 2 2" --dftb+
% phonopy -d --dim="4 4 4" --dftb+
This example builds 2 x 2 x 2 supercell files. The undistorted supercell is
stored in ``geo.genS``, while the required displacements are stored in files
@ -28,18 +29,19 @@ DFTB+ phonon band structures are created as follows:
3) Create the ``FORCE_SETS`` file with the command ::
% phonopy -f disp-*/detailed.out --dftb+ ...
% phonopy -f disp-*/results.tag --dftb+ ...
To run this command, the ``disp.yaml`` file has to be located in the current
directory because the atomic displacements are written into the FORCE_SETS
file.
Where the location of all of the ``results.tag`` files is given on the
command line. To run this command, the ``disp.yaml`` file has to be located
in the current directory, because the atomic displacements are written into
the FORCE_SETS file.
4) Create a ``band.conf`` file to specify the path in the Brillouin zone you are
interested in (see the phonopy documentation). Then post-process the phonopy
data, either in the settings file (DIM) or by providing the dimensions of the
the supercell repeat on the command line ::
% phonopy -p band.conf --dim="2 2 2" --dftb+
% phonopy -p band.conf --dim="4 4 4" --dftb+
5) Create a band structure in gnuplot format ::

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,47 @@
# Input for DFTB+ diamond primitive cell example, see
# https://www.dftbplus.org/ for details of code useage
Geometry = GenFormat {
<<< geo.genS-001
# geometry input file
<<< geo.genS-001
}
Hamiltonian = DFTB {
SCC = No
MaxAngularMomentum = {
C = "p"
}
SlaterKosterFiles = Type2FileNames {
Separator = "-"
Suffix = ".skf"
}
KPointsAndWeights = SupercellFolding {
6 0 0
0 6 0
0 0 6
0.5 0.5 0.5
}
SCC = No # non-self-consistent, as diamond
MaxAngularMomentum = {
C = "p" # s and p functions, read parameter file for details
}
# location of Slater-Koster parameter data
SlaterKosterFiles = Type2FileNames {
Separator = "-"
Suffix = ".skf"
}
# Example for a fairly large supercell, so not many k-points
KPointsAndWeights = SupercellFolding {
2 0 0
0 2 0
0 0 2
0.5 0.5 0.5
}
}
Options = {
WriteAutotestTag = Yes
# Required options for storing data needed by phonopy
WriteResultsTag = Yes
}
ParserOptions = {
ParserVersion = 6
# input parser version for DFTB+ 18.2, but this is backward
# compatible
ParserVersion = 6
}
Analysis = {
CalculateForces = Yes
}
Parallel {
# Allow OMP threads explicitely to test for hybrid parallelisation with
# MPI-binary. (Check the manual before using this in production runs!)
UseOmpThreads = Yes
# required option for phonopy
CalculateForces = Yes
}

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ from phonopy.interface.vasp import (get_scaled_positions_lines, check_forces,
get_drift_forces)
def parse_set_of_forces(num_atoms, forces_filenames, verbose=True):
hook = 'Total Forces'
hook = 'forces :real:2:'
is_parsed = True
force_sets = []
for i, filename in enumerate(forces_filenames):