THERMO_PW QUICK HELP
In order to use
thermo_pw you need a
working version of the Quantum
ESPRESSO (QE) package.
Thermo_pw can be downloaded from its
main page as
.tar.gz file. The current production version is
1.1.1 compatible with
thermo_pw file should be copied
in the main (QE) directory and unpacked with the command:
tar -xzvf thermo_pw.1.1.1.tar.gz
This command produces a directory called
thermo_pw. To compile the code you need a Fortran compiler, for
gcc package and
gcc-fortran in some distributions),
and the same libraries required by
After getting the directory
thermo_pw in the main
directory, cd to the directory
thermo_pw and give the command
make join_qe. Then cd to the main
directory and compile
thermo_pw with the command:
thermo_pw it is useful to have the
gnuplot package, and to plot
the Brillouin zone
you need the asymptote package.
Both are available as precompiled packages in many distributions.
For further information, please refer to the user's guide
available in the
Please report any problem to
dalcorso .at. sissa.it.
The development version of
thermo_pw is hosted at https://github.com/dalcorso/thermo_pw. To download it you need the
package. Then you can give the command:
git clone https://github.com/dalcorso/thermo_pw
and you should get a directory called
thermo_pw that contains the source code.
git version can be used only together with the version of
QE reported here:
6.4.1. Please note that sometimes the
git version is not working properly and in any case its use is not recommended.
thermo_pw has been
used for several years and can be considered reasonably stable, it remains an
experimental code given as it is.
If you are running a version of
QE older than
you can still use
thermo_pw but you should carefully match the
thermo_pw and of
QE as explained in the
thermo_pw, please apply the
patches given below.
**Patches for the git version:
When what=’elastic_costants_t’ a bug in QE prevents the use of use_free_energy=.TRUE. and elastic_algorithm=’energy_std’. Add the instruction: ibrav_ => NULL() at line 490 of Modules/qexsd.f90 of QE version 6.4.1.
Patches for thermo_pw.1.1.1:
- A bug in src/initialize_thermo_work.f90 could give wrong geometries for mur_lc_t for odd ngeo. Change line 607 of this file to delta=0.0_DP. (Only in versions 1.1.1 and 1.1.0).
Patches for thermo_pw.1.0.0:
- Grimme-d3 not implemented.
- zeu+US+pools not working. Apply the changes described in commit 6c70c8f.
- The plotted Gruneisen parameters have the wrong sign when lmurn=.TRUE.. Apply the change described in commit d78859e.
- Ionic relaxations are working only the first time pw.x is called. Apply the change described in commit 6a1a5d8.
Known problems of thermo_pw.0.9.0:
- Phonons + tetrahedra are not working (not implemented yet).
- Phonons + lsda are not working (use one of previous versions).
Patches for thermo_pw.0.9.0:
- EELS with US-PP has still a bug. At line 75 of
- There is a problem with
sym_for_diago=.TRUE.in the noncollinear/spin-orbit case. Use
sym_for_diago=.FALSE.or use the following file for qe/c_bands.f90
- The code stops using the old diagonalization in the phonon with the flag
sym_for_diago=.FALSE. At line 144 of
_tpwfrom the call to
- Some compilers could have problems to compile the routine
thermo_pw/qe/set_kplusq.f90. Use the following set_kplusq.f90.
- The plotted Gruneisen parameters have the wrong sign when lmurn=.TRUE..
Apply the change described in commit d78859e.
Patches for thermo_pw.0.8.0:
- A bug might create some differences for phonons and US and PAW-PP calculated
with images, so for these cases update to
thermo_pw.0.9.0is recommended. It might affect also previous versions that use the new xml output.
Patches for thermo_pw.0.7.0:
- With pools, all bands are red in the band plot. At line 550 of
- Some problems with Intel compiler can be solved as described in the patch 68ec9d7
emax_inputare given in the
thermo_controlnamelist, some bands could be missing. The problem can be solved as described in the patch c39f6f0
Patches for thermo_pw.0.6.0:
- There is a problem with anharmonic properties calculated recovering the run
after_disp=.TRUE.introduced in this version. Take the file thermo_pw/src/q2r_sub.f90, substitute the one of
Moreover, at lines 11307 and 11336 of
- Modules/clocks.f90 : line 41 set
thermo_pwmight run out of clocks.
Patches for thermo_pw.0.5.0:
- Modules/clocks.f90 : line 41 set
thermo_pwmight run out of clocks.
Patches for thermo_pw.0.4.0:
- A problem with
max_geometries: this is a bug. Add the instruction
ph_geometries=0at the line 431 of the file
- Compilation problem of
tools/test_colors.f90: remove the RETURN command at the end of the file.
- Error from
find_aux_ind_two_groupsin a phonon plot. Please check commit 122688 and make the same changes to
Patches for thermo_pw.0.3.0:
- With some compilers the code crashes at the beginning.
Please change line 571 of
- Anharmonic properties can be calculated only with the dynamical matrix in
.xmlformat. Old format is not working. (See commit 110778).
- The code is not recovering correctly and gives an error
check_stop_initnot initialized. (Please apply commit 110838).
Patches for thermo_pw.0.2.0:
- Problem in anharmonic properties: use
thermo_pw.0.3.0or higher, or make the same changes as in commit 19508.
- Modules/clocks.f90 : line 91 set
thermo_pwmight run out of clocks.
- Bug fix: In anharmonic calculations some vertical lines in phonon dispersion
plots are double. Change as in commit
Patches for thermo_pw.0.1.0:
- src/Makefile : line 83 change
- outdir: must end with a
/, the other case is not dealt with correctly.
- How can I learn to use
Please learn the basic use of
Quantum ESPRESSOfirst. Then you can read the
thermo_pwtutorial and user’s guide and run the examples. These
FAQassume that you have a basic understanding of
thermo_pwand contain miscellaneous information not available in the user’s guide.
- Can I study the thermal expansion of anisotropic solids using
For some crystal systems, yes, but not all systems are supported or tested. Read carefully the user’s guide and use a version higher than
0.3.0. Also use dynamical matrices in
.xmlformat or the calculation of thermal expansion with Gruneisen parameters will not work with all versions previous to
- Can I calculate the temperature dependence of the band gap or
in general of the band structure using
You can calculate the band structure at the crystal geometry that corresponds to a given temperature. In this way you evaluate the effect of thermal expansion on the band structure or on the gap. However an important temperature dependence of the band gaps and of the band structure comes from the electron-phonon interactions that are not included in
thermo_pw. For this purpose you should use another package.
- Can I calculate the equilibrium geometry of a solid at a given temperature using
Yes, but the calculation is as heavy as computing the anharmonic properties and it will take a lot of time and resources. You need to learn how to use
thermo_pwbefore starting such a complex calculation.
- Which is the difference between
Examplesillustrate the features of
thermo_pwand are fast, but are not converged.
inputsare more realistic examples.
- Sometimes the examples of
thermo_pwrun correctly, sometimes they crash. Which is the problem?
The most probable reason is that you have not removed the
resultsdirectory produced by a previous run of the example script.
make thermo_pwis not working. Compilation stops with some missing routines error.
Most probably you have not matched the versions of
- I have compiled
thermo_pwbut as I run it, it stops immediately. I am using
Most probably you have not applied the patch described above. Update to a newer version.
- I cannot run the examples. I have problems using images. What
should I do?
If you want to run the examples without images edit the file
environment_variablesin the main
QEdirectory. Search the two variables
- I have not a parallel computer. I do not know what
mpiis. Can I run
thermo_pw.0.5.0or later versions can be compiled in serial. All previous versions must be compiled together with
- An ionic relaxation converges with
pw.xbut not with
This is a bug of version
0.4.0. Please apply the same changes as in the commit 197343 or update to a newer version.
- The plot of the phonon dispersions is very strange with several disjoint
parts. Moreover the modes are not classified using symmetry. Why?
The mode symmetry analysis requires dynamical matrices in
.xmlformat. Please put the
.xmlextension in the
fildynvariable in the
ph.xinput. Symmetry matrices are needed also to recognize symmetry equivalent point on the Brillouin zone.
- The plot of the Gruneisen parameters has strange crossings in some points.
In some cases the plot of the Gruneisen parameters needs more accuracy on the symmetry analysis than the phonon plot. Accidentally degenerate frequencies might have very different Gruneisen parameters. Change the parameter
5.D-2at line 148 of
1.D-2or less and recompile
- Thermo_pw documentation does not compile and stops with an error
html.styis missing or
This is not a problem of
thermo_pw. In order to compile the documentation
thermo_pwneeds a quite complete
latexpackage. You can find
html.styon the web and copy it inside
thermo_pw/Docdirectory and you can install
latex2html. Even if you do not solve this problem,
thermo_pw.xwill be available in the
bindirectory of QE. Only the documentation will be missing.
- The plot of the projected band structure has some problems. Some gaps
have the same color of the projected band structure.
This is a problem of old versions of gnuplot. Update to gnuplot 5.0 or higher.
- The phonon dispersion plot seems strange, some branches are missing.
Please check that you used enough digits for the atomic positions. A typical problem appears when you write 1/3 and 2/3 in single precision. The
pw.xcode finds more symmetries than those that are actually present in the final modes and the routine that identifies the mode symmetry gets confused.
- The code fails to identify the space group and stops with an error
‘‘point group orientation uncorrect’’.
Most probably you are simulating a noncollinear magnetic system. Magnetic space group identification is not implemented but no check is done in versions up to 0.9.0. Please make the same changes as commit a68e6cb of 18 January 2018. If you find this error, you are using ibrav/=0, and your system is collinear, please send me your input.
what='scf_disp'and partial phonon computations with
last_irrgives strange error messages.
what='scf_disp'requires all the dynamical matrices files in the
what='scf_ph'until you collect all the dynamical matrices and do a final run with
- I am computing a phonon dispersion but some q points are not
Most probably you have not cleaned the outdir directory. Note that the
thermo_pwalways tries to use the content of the
outdirdirectory if present.
- Is it possible to increase the temperature range?
Yes, you have to remove the
therm_filesdirectory while keeping the
restartdirectories. If you removed the
fildynwith the name of the dynamical matrices.
- Is it possible to increase the number of points used to compute the
Yes, you have to remove both the
therm_filesdirectories while keeping the
- I made a calculation with
with_eigen=.FALSE.. Is it possible to restart with
Yes, but you have to remove both the
therm_filesdirectories, while keeping the