Change Log#
Dec-18-2024: Version 2.33.3#
Fix for Windows build:
dtype="int_"
was replaced bydtype="long"
.Drop symfc dependency because symfc seems not working on Windows.
Dec-13-2024: Version 2.33.2#
Update symfc version dependency
Dec-13-2024: Version 2.33.1#
Add another dataset for the crystallographic point group -6m2.
Bug fix for reading forces with
-f
CLI option.
Dec-12-2024: Version 2.33.0#
The default choice for storing atomic pair vectors in the
Primitive
class has been updated. Previously, the API hadstore_dense_svecs=False
as the default, but now it isstore_dense_svecs=True
.
Dec-5-2024: Version 2.32.0#
Maintenance release including refactoring of SSCHA interface
Nov-30-2024: Version 2.31.2#
INCLUDE_BORN
tag and--include-born
option were removed. NAC params are always included inphonopy.yaml
when they are available.
Nov-28-2024: Version 2.31.1#
Experimental implementation of SSCHA using pypolymlp and symfc.
Nov-13-2024: Version 2.31.0#
Maintenance release along with refactoring of MLP interface.
Nov-13-2024: Version 2.30.1#
Release for attempting conda-forge packaging except for a few very minor change.
Nov-9-2024: Version 2.30.0#
The symfc package (symfc/symfc) was made a necessary package from this version.
Default force constants calculator for
phonopy-load
command was changed tosymfc
. The previous behaviour is recovered byphonopy-load --fc-calculator traditional
.
Oct-25-2024: Version 2.29.1#
Release for conda-forge packaging.
Oct-22-2024: Version 2.29.0#
Maintenance release including minor fixes and updates.
Sep-12-2024: Version 2.28.0#
Maintenance release including minor fixes and updates.
Aug-23-2024: Version 2.27.0#
Update for new
SpglibDataset
in spglib v.2.5 (PR #413 by @janosh, #414). Note that nowSymmetry.dataset
returnsSpglibDataset
(spglib >= v2.5) orSimpleNamespace
(spglib < v2.5).
Aug-12-2024: Version 2.26.7#
Minor updates of user interface to behave nicely.
Updated documentation and examples to recommend using
phonopy-load
instead ofphonopy
for the post-process calculations.
Jul-16-2024: Version 2.26.6#
Fix derivative of dynamical matrix for Wang’s NAC method.
Jul-14-2024: Version 2.26.5#
Refactoring of dynamical matrix code.
Jul-13-2024: Version 2.26.4#
Collection of minor updates to follow updates of external libraries.
Jul-9-2024: Version 2.26.3#
Fix #388 for
phonoc.omp_max_threads()
Jul-7-2024: Version 2.26.2#
Enable to use
PHONOPY_USE_OMP=OFF
environment variable to deactivate building with OpenMP.
Jul-7-2024: Version 2.26.1#
Update for conda-forge build.
Jul-5-2024: Version 2.26.0#
Build system of phonopy was renewed. Now nanobind, cmake, and scikit-build-core are used for the building, and the receipt is written in
CMakeLists.txt
andpyproject.toml
.
Jun-29-2024: Version 2.25.0#
Migration to ruff.
Experimental implementation for using pypolymlp.
Jun-19-2024: Version 2.24.3#
Treatment for running with numpy 2.0.
Jun-8-2024: Version 2.24.2#
Experimental support of force constants calculator option
--symfc
(FC_CALCULATOR = SYMFC
). Symfc can be installed via conda-force or pip.
Jun-7-2024: Version 2.24.1#
Fix bug in phonopy-yaml dumper for type2 dataset.
Jun-7-2024: Version 2.24.0#
Change of phonopy-yaml format for type2 dataset.
May-3-2024: Version 2.23.1#
Release for creating conda-forge package.
May-1-2024: Version 2.23.0#
Maintenance release.
Supercell energy can be included in phonopy-yaml format.
Added Create phonopy_params.yaml. By this option,
phonopy_params.yaml
file is created. This file is readily used by phonopy-load.
Mar-29-2024: Version 2.22.1#
Update spglib depndency >= 2.3.
Experimental support of non-collinear-like magnetic moments activated using
MAGMOM
tag or--magmom
options. The values are defined by a(number of atoms, 3)
array for API, but specified with a 1D flattened list from the command user interface. At least it is expected to work with the VASP interface, but each specific calculator interface may not support it.
Mar-19-2024: Version 2.22.0#
Maintenance release.
Feb-18-2024: Version 2.21.2#
Fix
phonopy-load
.
Feb-14-2024: Version 2.21.1#
np.random.randn
is replaced bynp.random.Generator.standard_normal
. Note that by this chang, random seed became incompatible.Some bug fixes.
Dec-4-2023: Version 2.21.0#
Maintenance release.
Jul-2-2023: Version 2.20.0#
Drop python 3.7 support
May-12-2023: Version 2.19.1#
Improvement of parsing forces of the built-in LAMMPS interface.
Update of the ABACUS interface.
Changed
--symmetry
option to write alsophonopy_symcells.yaml
.
May-12-2023: Version 2.19.0#
Experimental release of built-in LAMMPS interface.
Mar-30-2023: Version 2.18.0#
Maintenance release. Refactoring of
PhonopyYaml
class.
Mar-6-2023: Version 2.17.2#
Bug fixes of user interface.
Dec-29-2022: Version 2.17.1#
Maintenance release.
Dec-8-2022: Version 2.17.0#
RANDOM_DISPLACEMENT_TEMPERATURE
tag (--rd-temperature
option) is implemented. This enables, from command line interface, to generate random displacements at finite temperature randomly sampling harmonic oscillator distribution functions of phonons at commensurate points. This requires input that can run phonon calculation such as force constants and displacement-force dataset.
Oct-5-2022: Version 2.16.3#
Fix CMakeLists.txt.
Spe-19-2022: Version 2.16.2#
Update again for conda-forge packaging.
Spe-18-2022: Version 2.16.1#
Update for conda-forge packaging.
Spe-18-2022: Version 2.16.0#
Maintenance release including small bug fixes.
May-28-2022: Version 2.15.1#
Bug fix when creating
FORCE_SETS
fromphonopy_disp.yaml
without specifying calculator name option.
May-24-2022: Version 2.15.0#
Bug fix of atomic form factor in dynamic structure factor calculation.
Change in unit of inverse distance used when calling atomic form factor function from dynamic structure factor calculation to s=|Q|/2 (Q without 2pi).
Support of compressed
vasprun.xml.{xz,lzma,bz2,gz}
from phonopy command.Support of compressed
phonopy_disp.yaml.{xz,lzma,bz2,gz}
from phonopy command.
Apr-9-2022: Version 2.14.0#
Maintenance release including small bug fixes.
Feb-13-2022: Version 2.13.1#
Bug fix of thermal property calculation (PR #184).
Feb-12-2022: Version 2.13.0#
Dorp python 3.6 support, and dependencies of numpy and matplotlib versions are updated:
Python >= 3.7
numpy >= 1.15.0
matplotlib >= 2.2.2
Oct-28-2021: Version 2.12.0#
Matplotlib built-in mathtext replaced LaTeX renderer with
text.usetex
to avoid requiring latex installation.Aiming modernizing phonopy code, required python version and package versions were changed to
Python >= 3.6
numpy >= 1.11
matplotlib >= 2.0
For developers, flake8, black, pydocstyle, and isort were introduced. See
REAEME.md
and.pre-commit-config.yaml
.
Jul-8-2021: Version 2.11.0#
Maintenance release. C-methods were changed to use dense shortest vectors (
Primitive.get_smallest_vectors()
) format. But the front end still uses current formatshape=(size_super, size_prim, 27, 3)
.
Jun-10-2021: Version 2.10.0#
Fix the contents of
entropy-volume.dat
andCv-volume.dat
in QHA were swapped. (Issue #144 by @prnvrvs)Implementation of writing
helmholtz-volume_fitted.dat
in QHA. (PR #149 by @kgmat)
Mar-17-2021: Version 2.9.3#
Fix
MANIFEST.in
to provide necessary files to compile.
Mar-17-2021: Version 2.9.2#
Fix a bug to make the initial symmetry search slow.
Jan-29-2021: Version 2.9.1#
Release for making pypi wheel of py3.9
Jan-28-2021: Version 2.9.0#
Fleur interface was made by @neukirchen-212.
Improvement of
phonopy-bandplot
by @kgmat (PR#131, #132, #134)
Sep-29-2020: Version 2.8.1#
Fix vasprun.xml expat parser (issues #129)
Sep-22-2020: Version 2.8.0#
CASTEP interface was made by @ladyteam.
It was made to give more information in
gruneisen.yaml
(@ab5424, PR#127).Fix and update of
phonopy-bandplot
(@kgmat PR#125, commit 816a12a9)
July-31-2020: Version 2.7.1#
Release for pypi and conda packaging
July-22-2020: Version 2.7.0#
Spglib was removed from phonopy source code tree. Now phonopy depends on spglib. So spglib has to be installed separately. But for normal cases, it is handled by the package manager.
A new way of using phonopy from command line is proposed at phonopy-load command.
Castep interface was added by @ladyteam.
May-3-2020: Version 2.6.1#
Release for pypi and conda packaging
May-2-2020: Version 2.6.0#
Collection of minor fixes and internal updates
Mar-29-2020: Version 2.5.0#
New options,
--include-*
, to write summary inphonopy.yaml
. See .FHI-aims interface (
--aims
) was created by Florian Knoop.phonopy-gruneisen
and--symmetry
option were updated to be able to handle most of build-in calculator interfaces.Update spglib version to v1.14.1.
phonopy-dispmanager
was removed.Let new force calculator interface be implemented easier by centralizing those interface related stuffs in
phonopy.interface.calculator
.
Dec-22-2019: Version 2.4.2#
Collection of minor updates: adding docstrings, refactoring group velocity code, and updating examples.
Nov-16-2019: Version 2.4.1#
Fix a bug on Phonopy.save reported by PR#104
Nov-13-2019: Version 2.4.0#
CP2K interface is provided by Tiziano Müller.
Many minor bug fixes and updates.
Sep-1-2019: Version 2.3.2#
It was forgotten to increment version number at v2.3.1. Now it is made to be v2.3.2 just for incrementing the number.
Aug-29-2019: Version 2.3.1#
Fix alm wrapper to follow the lastest basis vector matrix form.
Aug-29-2019: Version 2.3.0#
New setting tag FC_CALCULATOR was implemented. With this, an external force constants calculator can be used. Currently only ALM (
FC_CALCULATOR = alm
or--alm
option) is supported. By using ALM, we can compute force constants with any number of displacements in each supercell. Any number of supercells with displacements can be also handled with it if ordinary least square fitting can be solved for force constants. RANDOM_DISPLACEMENTS and RANDOM_SEED were implemented to use with ALM.For the external force constants calculator, new file format of
FORCE_SETS
was introduced. See Type 2FORCE_SETS
format.
Jul-21-2019: Version 2.2.0#
Collection of minor updates.
Spglib update to v1.13.0.
Jun-19-2019: Version 2.1.4#
Bug fix of
Cp-temperature_polyfit.dat
calculation in QHA (by@ezanardi
).
Apr-17-2019: Version 2.1.3#
TURBOMOLE interface is provided by Antti Karttunen (
--turbomole
).
Mar-24-2019: Version 2.1.2#
PDOS = AUTO
(--pdos="auto"
) was implemented.
Feb-27-2019: Version 2.1.1#
User interface bug fix release.
Feb-26-2019: Version 2.1#
Spglib update to v1.12.1.
(Experimental)
phonopy
command acceptsphonopy.yaml
type file as an input crystal structure by-c
option. WhenDIM
and any structure file are not given,phonopy_disp.yaml
(primary) orphonopy.yaml
(secondary) is searched in the current directory. Thenphonopy.yaml
type file is used as the input, semi-automatic phonopy mode is invoked, which means:(1)
supercell_matrix
in thephonopy.yaml
type file is used if it exists. (2)primitive_matrix
in thephonopy.yaml
type file is used if it exists. Otherwise, setPRIMITIVE_AXES = AUTO
whenPRIMITIVE_AXES
is not given. (3) NAC params are read (NAC = .TRUE.
) if NAC params are contained (primary) in thephonopy.yaml
type file or ifBORN
file exists in the current directory (secondary). (4) Forces and displacements are read from thephonopy.yaml
type file if those exist instead of readingFORCE_SETS
in the current directory. (5) Calculator name (such asqe
) is read if it is contained in thephonopy.yaml
type file.Possible usages are:
For PhononDB at Kyoto-U (http://phonondb.mtl.kyoto-u.ac.jp/ph20180417/index.html) raw data, phonons are easily calculated, e.g., by
% phonopy -c phonon.yaml --band auto --mesh 100 -p
.If
phonopy_params.yaml
is created using API ofphonopy.save()
(Save parameters (phonopy.save)), phonopy’s essential data may be easily passed to other people only by this file.phonopy_disp.yaml
is used instead of calculator option and input structure file. For example--qe -c NaCl.in
is replaced by-c phonopy_disp.yaml
.
Jan-16-2019: Version 2.0#
disp.yaml
is replaced byphonopy_disp.yaml
. For the backward compatibility, whenphonopy_disp.yaml
is not found,disp.yaml
is used.New calculator interface for DFTB+ written by Ben Hourahine.
Minor update of the look of band structure plot. The format in
band.yaml
for treating labels was changed.MESH
accepts a length value, which works in the same way as VASP automatic k-mesh generation (see MESH, MP, or MESH_NUMBERS).For plotting DOS, it is changed to choose linear tetrahedron method as default, but not smearing method.
Output file name of projected DOS was renamed from
partial_dos.dat
toprojected_dos.dat
.
API change at version 2.0#
Phonopy.get_band_structure()
is deprecated. Instead usePhonopy.get_band_structure_dict()
.Phonopy.get_mesh()
is deprecated. Instead usePhonopy.get_mesh_dict()
.Phonopy.set_band_structure()
is deprecated. Instead usePhonopy.run_band_structure()
whereis_eigenvectors
keyword argument is replaced bywith_eigenvectors
.Phonopy.set_mesh()
is deprecated. Instead usePhonopy.run_mesh()
whereis_eigenvectors
keyword argument is replaced bywith_eigenvectors
.Previous behaviour of
Phonopy.run_mesh()
is achieved byphonopy.mesh.run()
.Phonopy.set_qpoints_phonon()
is deprecated. UsePhonopy.run_qpoints()
whereis_eigenvectors
keyword argument is replaced bywith_eigenvectors
.Phonopy.get_qpoints_phonon()
is deprecated. Instead usePhonopy.get_qpoints_dict()
.Phonopy.get_group_velocity()
is deprecated. UsePhonopy.mode.group_velocities
attribute orPhonopy.get_*mode*_dict()['group_velocities']
, where*mode*
isband_structure
,mesh
, orqpoints
.Phonopy.get_group_velocities_on_bands()
is deprecated.Phonopy.get_mesh_grid_info()
is deprecated.Phonopy.set_iter_mesh()
is deprecated. UsePhonopy.mesh()
withuse_iter_mesh=True
.Phonopy.itermesh
was removed. IterMesh instance is stored in phonopy.mesh.Phonopy.set_group_velocity()
is deprecated. No need to call.gv_delta_q
can be set atPhonopy.__init__()
.Phonopy.set_unitcell()
is deprecated.Phonopy.set_total_DOS()
is deprecated. UsePhonopy.run_total_dos()
.Phonopy.get_total_DOS()
is deprecated. UsePhonopy.get_total_dos_dict()
.Phonopy.write_total_DOS()
is deprecated. UsePhonopy.write_total_dos()
.Phonopy.plot_total_DOS()
is deprecated. UsePhonopy.plot_total_dos()
.Phonopy.set_partial_DOS()
is deprecated. UsePhonopy.run_projected_dos()
.Phonopy.get_partial_DOS()
is deprecated. UsePhonopy.get_projected_dos_dict()
.Phonopy.write_partial_DOS()
is deprecated. UsePhonopy.write_projected_dos()
.Phonopy.plot_partial_DOS()
is deprecated. UsePhonopy.plot_projected_dos()
.Phonopy.partial_dos
attribute is deprecated. UsePhonopy.projected_dos
attribute.Phonopy.set_thermal_properties()
is deprecated. UsePhonopy.run_thermal_properties()
.Phonopy.get_thermal_properties()
is deprecated. UsePhonopy.get_thermal_properties_dict()
.Phonopy.set_thermal_displacements()
is deprecated. UsePhonopy.run_thermal_displacements()
.Phonopy.get_thermal_displacements()
is deprecated. UsePhonopy.get_thermal_displacements_dict()
.Phonopy.set_thermal_displacement_matrices()
is deprecated. UsePhonopy.run_thermal_displacement_matrices()
.Phonopy.get_thermal_displacement_matrices()
is deprecated. UsePhonopy.get_thermal_displacements_matrices_dict()
.New
Phonopy.auto_total_dos()
.New
Phonopy.auto_partial_dos()
.
Nov-22-2018: Version 1.14.2#
This is the release for preparing features for future and is not well tested.
Code refactoring to ease the development of calculator interface. Most of calculator interface dependent codes are moved to
phonopy.interface.__init__.py
.For eary adaptors, two experimental features were made:
Convenient Phonopy instance loader and crystal structure yaml parser (
phonopy.load()
andphonopy.read_cell_yaml()
).Automatic band paths generation using SeeKpath (https://seekpath.readthedocs.io/) (
BAND = AUTO
). Installation of SeekPath is needed.
Nov-17-2018: Version 1.14.0#
From this version, a trial to follow Semantic Versioning starts.
Automatic determination of transformation matrix from the input unit cell to the primitive is implemented (
PRIMITIVE_AXES = AUTO
or--pa='auto'
).Spglib update to v1.11.1.
Experimental support for dynamical structure factor (Dynamic structure factor).
Experimental support in phonopy-QHA for temperature dependent energy input (–efe option) from a file. To create this input file for a simple electron free energy was made for VASP (
phonopy-vasp-efe
).
Jun-20-2018: Version 1.13.2#
FULL_FORCE_CONSTANTS
tag is created (FULL_FORCE_CONSTANTS).Minor update of script to use QE’s
q2r.x
output (this).Updates and fixes of CRYSTAL and SIESTA interfaces.
Updates of labels of irreducible representations of crystallographic point groups.
Apr-21-2018: Version 1.13.0#
Non-analytical term correction by Gonze et al. (Correction by dipole-dipole interaction) is implemented and now this is the default NAC method. The former default method by Wang et al. (Interpolation scheme at general q-points with non-analytical term correction) can be invoked by using
NAC_METHOD
tag (NAC_METHOD).
Jan-31-2018: Version 1.12.6#
Force constants file formats of
FORCE_CONSTANTS
andforce_constants.hdf5
are extended to support smaller size force constants. Backward compatibility is preserved. See FORCE_CONSTANTS and force_constants.hdf5. To write out force constants, the compact format is chosen as the default for usual cases.Performance improvement of phonopy and spglib by Michael Lamparski which is effective especially for larger unit cell systems.
Jan-7-2018: Version 1.12.4#
For thermal displacements (and its matrices),
FMIN
(--fmin
) andFMAX
(--fmax
) can be used to limit phonons included to the summation as the minimum and maximum frequencies, respectively. Instead,CUTOFF_FREQUENCY
(--cutoff-freq
) does not work for thermal displacements.The way of symmetrization for translation invariance is modified. As a result,
FC_SYMMETRY
became a Boolean, i.e.,FC_SYMMETRY = .TRUE.
(--fc-symmetry
), and no need to specify a number.Experimental support to parse Quantum ESPRESSO
q2r.x
output from python script.
Nov-8-2017: Version 1.12.2#
Command option parser of the phonopy tools is replaced from
optparse
toargparse
.The behaviours of
-f
,--fz
, and--fc
options are slightly changed. The filenames used with these options were the positional arguments previously. Now they are the command-line arguments, i.e., filenames have to be put just after the option name like-f vasprun.xml-001 vasprun.xml-002 ...
.New tags (options),
FC_FORMAT
(--fc-format
),READFC_FORMAT
(read-fc-format
),WRITEFC_FORMAT
(write-fc-format
),BAND_FORMAT
(--band-format
),MESH_FORMAT
(--mesh-format
), andQPOINTS_FORMAT
(--qpoints-format
) were implemented.HDF5
tag is deprecated.New tags
READ_FORCE_CONSTANTS
andWRITE_FORCE_CONSTANTS
were made. They are equivalent to existing options of--readfc
and--writefc
. Using them, reading and writing force constants are separably controlled.
Oct-19-2017: Version 1.12.0#
The names of auxiliary tools and
gruneisen
are changed, for which the prefixphonopy-
is added to the old names to avoid accidental conflict with other filenames already existing underbin
.outcar-born
is renamed tophonopy-vasp-born
. Similarlygruneisen
is renamedphonopy-gruneisen
. Please find these changes at Auxiliary tools and Calculation of mode Grüneisen parameters.
Oct-2-2017: Version 1.11.14#
6/m and 1 point groups are added for irreps dataset.
band.hdf5
is output instead ofband.yaml
when using--hdf5
option together.Spglib update to v1.9.10. By this, symmetry search for supercells with large number of dimensions may become significantly faster.
It is changed so that
mesh.yaml
ormesh.hdf5
is not written out in thermal displacements calculations (TDISP
,TDISPMAT
,TDISPMAT_CIF
). This is done to reduce the memory consumption of this calculation with dense mesh sampling.And many minor updates.
June-18-2017: Version 1.11.12#
Maintenance release with many minor fixes after v1.11.10.
-1,and -3 point groups are added for irreps dataset.
PRETEND_REAL was made.
--vasprunxml
option foroutcar-born
Mar-31-2017: Version 1.11.10#
Maintenance release with many fixes.
Feb-7-2017: Version 1.11.8#
CRYSTAL code interface (--crystal) is added by Antti Karttunen.
Different vasprun.xml (expat) parser is under testing.
Dec-14-2016: Version 1.11.6#
--fz
option comes back. See --fz.spglib update to v1.9.9
Oct-23-2016: Version 1.11.2#
TDISPMAT_CIF
(--tdm_cif
) for CIF output for thermal displacement is added (TDISPMAT_CIF).spglib update to v1.9.7
Aug-29-2016: Version 1.11.0#
FPITCH
(--fpicth
) is made (FMIN, FMAX, and FPITCH).Minor update of
gruneisen
.Tentatively
phonopy.yaml
andphonopy_disp.yaml
are written when running phonopy.In Phonopy-API, from this version, to create displacements in supercells internally the phonopy object, the
generate_displacements
method has to be called explicitly along with thedistance
argument. See Phonopy API for Python.
Jul-17-2016: Version 1.10.10#
MOMEMT and MOMENT_ORDER tags are implemented to calculate phonon moments.
qpoints.hdf5
is written with the--hdf5
option. Dynamical matrices are also stored inqpoints.hdf5
withWRITEDM = .TRUE.
(--writedm
option).
Apr-22-2016: Version 1.10.8#
XYZ_PROJECTION tag is created for PDOS.
--vasp option is created to explicitly show VASP is used to generate
band.yaml
as the calculator.spglib update to v1.9.2
Feb-7-2016: Version 1.10.4#
More keywords are written in
band.yaml
.Default NAC unit conversion factors (BORN (optional))
Collection of many minor fixes and updates
Jan-25-2016: Version 1.10.2#
Python 3 support
Many fixes
spglib update to v1.9.0
Oct-20-2015: Version 1.10.0 (release for testing)#
An experimental release for testing python 3 support. Bug reports are very appreciated.
Oct-20-2015: Version 1.9.7#
Siesta interface (
--elk
option) was added (Siesta & phonopy calculation) by Henrique Pereira Coutada Miranda.WRITE_MESH = .FALSE.
(--nowritemesh
) tag was added (WRITE_MESH).
Aug-12-2015: Version 1.9.6#
--hdf5
option. Some output files can be written in hdf5 format. See HDF5.Improve tetrahedron method performance in the calculation of DOS and PDOS.
Spglib update to version 1.8.2.1.
July-11-2015: Version 1.9.5#
Elk interface (
--elk
option) was added (Elk & phonopy calculation).Spglib update to version 1.8.1.
Feb-18-2015: Version 1.9.4#
Fixed to force setting
MESH_SYMMETRY = .FALSE.
(--nomeshsym
) when PDOS is invoked.
Feb-10-2015: Version 1.9.3#
MAGMOM
tag is now available (MAGMOM).Spglib update.
Jan-4-2015: Version 1.9.2#
Behaviors of
--wien2k
,--abinit
,--pwscf
options have been changed. Now they are just to invoke those calculator modes without a unit cell structure file. The unit cell structure file is specified using--cell
(-c
) option orCELL_FILENAME
tag. See Choice of force calculator, Wien2k & phonopy calculation, Abinit & phonopy calculation, and Quantum ESPRESSO (QE) & phonopy calculation.For the
gruneisen
command,--factor
,--nomeshsym
,--wien2k
,--abinit
, and--pwscf
options are implemented. See Force calculator interfaces and Command options.In phonopy-API, timing to call
Phonopy.set_dynamical_matrix
is changed to reduce the number of calls of this function. This may raise timing issue to phonopy-API users.Band-DOS (band-PDOS) plot is implemented.
Oct-30-2014: Version 1.9.1.3#
Experimental support for Abinit. See --qe and Quantum ESPRESSO interface.
Oct-29-2014: Version 1.9.1.2#
Experimental support for Abinit. See --abinit and ABINIT interface.
FHI-aims modulation output. Some more examples for
phonopy-FHI-aims
.
Oct-17-2014: Version 1.9.1.1#
Supercell matrix support (9 elements) for the
MODULATION
tag.Improve the speed to create supercell.
Many minor changes to clean-up code badly written.
Aug-28-2014: Version 1.9.0#
Use a native cElementTree of Python as VASP XML parser and stop using lxml. The native cElementTree is built in after Python 2.5. So Python 2.4 or before will not be supported from this phonopy version. This migration to cElementTree was made by shyuep.
Aug-12-2014: Version 1.8.5#
Supercell creation behavior may change due to the change of algorithm. Though it used its own independent routine, now it uses the
Supercell
class to build supercellSpglib update (1.6.1-alpha)
Experimental option
--fc_computation_algorithm="regression"
to compute force constants from forces and displacements using linear regression with displaying standard deviation, by KL(m).
June-23-2014: Version 1.8.4.2#
Symmetrization of Born effective charge of
outcar-born
is improved.-v
option shows Born effective charges and dielectric constants when NAC is set.Bug fix to include cutoff frequency to the displacement distance matrix.
Yaml output formats for band, mesh, q-points, modulation modes were slightly modified.
Bug fix in finding equivalent atoms in supercell that has lower symmetry than the original unit cell.
Apr-5-2014: Version 1.8.4.1#
Fix irreps for non-zero q-point of nonsymmorphic case
Mar-31-2014: Version 1.8.4#
Implementation of analytical derivative of dynamical matrix in C, which improves the performance of group velocity calculation.
Minor change of python module for group velocity.
Feb-17-2014: Version 1.8.3#
A collection of small fixes in interface.
Spglib update (spglib-1.6.0)
Change in
phonopy/file_IO/write_FORCE_SETS_*
.
Feb-8-2014: Version 1.8.2#
vasprun.xml
of VASP 5.2.8 is only specially parsed to treat special wrong character.Python module interface is updated and modified.
set_post_process
,set_force_sets
will be obsolete.set_displacements
is obsolete.
Jan-9-2014: Version 1.8.0#
This version is dangerous. A lot of code is modified internally.
Tetrahedron method is implemented for total and partial DOS. This is activated by
--thm
option.The display output with
-v
option is enriched.Symmetrization for
outcar-born
is implemented (Experimental).Cutoff-frequency
CUTOFF_FREQUENCY
(--cutoff_freq
) is implemented to ignore frequencies lower than this cutoff frequency to calculate thermal properties and thermal displacements.
Dec-4-2013: Version 1.7.5#
--mass
option is created to shortcut of theMASS
tag.--fc_spg_symmetry
option is created to symmetrize force constants.Symmetry finder update (spglib version 1.5.2)
Oct-3-2013: Version 1.7.4#
Thermal displacement matrix is implemented. See TDISPMAT and Thermal displacement.
PDOS with projection along arbitrary direction was implemented. See PROJECTION_DIRECTION.
partial_dos.dat
format was changed. XYZ projected PDOS is not output. Instead atom projected PDOS (sum of XYZ projected PDOS) is written. See Output files.DOS and PDOS python interface was modified. The keyword of
omega_something
is changed tofreq_something
.gruneisen
didn’t run because it didn’t follow the move of thefile_IO.py
file location. This is fixed.The formula of non-analytical term correction implemented in phonopy is not translational invariant in reciprocal space. This induces tiny difference of the choice of equivalent q-points being different by reciprocal primitive vectors. Now in the mesh sampling mode (
MP
), q-points are automatically moved to inside first-Brillouin-zone.In the mesh sampling mode, consistency of symmetry of mesh numbers to crystal symmetry is checked. If the symmetry disagrees with crystal symmetry, mesh symmetrization (equivalent to
MESH_SYMMETRY = .FALSE.
) is disabled.Wien2k interface is updated to adapt Wien2k-13.
Fix the problem that only Vinet EOS worked in phonopy-qha.
Sep-17-2013: Version 1.7.3#
Fix. Segmentation fault happens in some specific systems (e.g. Kubuntu 12.04 32bit) due to a different behavior of numpy array creation.
Group velocity for degenerate phonon mode is calculated slightly different from older version and now it is symmetrized by site-symmetry of q-point.
Aug-4-2013: Version 1.7.2#
group_velocity/__init__.py
is moved tophonon
directory.hphonopy/file_IO.py
is moved to top directory.New
harmonic/derivative_dynmat.py
: Analytical derivatives of dynamical matrixGroup velocity is computed by analytical derivatives of dynamical matrix in the default configuration instead of previous finite difference method. Group velocity calculation with the finite difference method can be still activated by
--gv_delta_q
option.Force constants solver was partially rewritten. The order and shape of matrices in the formula is rearranged (Modified Parlinski-Li-Kawazoe method).
July-14-2013: Version 1.7.1#
--pdos
option was created. This is same asPDOS
tag.Group velocity with degenerate modes was improved.
Jun-21-2013: Version 1.7#
The tag
CHARACTER_TABLE
was renamed toIRREPS
(IRREPS), and the option of--ct
was renamed to--irreps
as well. To show Ir-representations along with characters,SHOW_IRREPS
tag (or--show_irreps
option) is used. The output file name was also renamed toirreps.yaml
. In the ir-reps calculation, display and file outputs were modified to show the arguments of complex value characters.Numpy array types of ‘double’ and ‘intc’ for those arrays passed to numpy C-API are used.
thermal_displacement.py
is slightly modified for the preparation to include thermal displacement matrix.Symmetry finder update (spglib 1.4.2).
Apr-13-2013: Version 1.6.4#
Group velocity can be calculated using
GROUP_VELOCITY
tag or--gv
option (GROUP_VELOCITY).Non-analytical term correction is implemented in C, which accelerates the calculation speed.
Feb-7-2013: Version 1.6.3#
Nov-13-2012: Version 1.6.2#
A small fix of FHIaims.py.
Nov-4-2012: Version 1.6.1#
Implementation of database of character table for another type of point group -3m.
A new option
--irreps
orIRREPS
tag (Experimental).character_table.yaml
output.Eigenvectors output in
modulation.yaml
was recovered.
Oct-22-2012: Version 1.6#
Experimental support of band connection. (BAND_CONNECTION)
Experimental support of mode Grüneisen parameter calculation. (Calculation of mode Grüneisen parameters)
Format of
MODULATION
tag was modified. (MODULATION)Phonopy is controlled by command line options more than before.
--qpoints
,--modulation
and--anime
options are prepared.Symmetry finder update.
Implementation of database of character table for the point group 32. Fix -3m database.
June-29-2012: Version 1.5#
Bug fix on plotting PDOS with labels.
The array structures of qpoints, distances, frequencies, eigenvalues, eigenvectors in BandStructure are changed to the lists of those values of segments of band paths. For qpoints, frequencies, eigenvalues, eigenvectors, the previous array structures are recovered by numpy.vstack and for distances, numpy.hstack.
Experimental support on thermal displacement.
Experimental support on fitting DOS to a Debye model (DEBYE_MODEL) implemented by Jörg Meyer.
May-22-2012: Version 1.4.2#
Bug fix on showing the values of thermal properties. No bug in plot and yaml.
May-21-2012: Version 1.4.1#
Avoid list comprehension with else statement, because it is not supported in old python versions.
May-13-2012: Version 1.4#
--writefc
option is implemented.In using
MODULATION
tag, phase factor for each mode can be specified as the third value of each mode in degrees.Arguments of
get_modulation
in Phonopy module were modified. The phase factor is now included inphonon_modes
.Class
Phonopy
was refactored. All private variables were renamed as those starting with an underscore. Some basic variables are obtained with the same variable names without the underscore, which was implemented by the functionproperty
.The labels of segments of band structure plot are specified by
BAND_LABELS
(BAND_LABELS).--band
option is implemented.GAMMA_CENTER
tag and--gc
,--gamma_center
option are implemented (MESH, MP, or MESH_NUMBERS).phonopy-qha
was polished. Most of the code was moved tophonopy/qha/__init__.py
.Phonopy::get_mesh
andPhonopy::get_band_structure
were modified. Instead of eigenvalues, frequencies are returned.The order of return values of
Phonopy::get_thermal_properties
was changed as numpy arrays of temperatures, Helmhotlz free energies, entropies, and heat capacities at constant volume.Arguments of the class
ThermalProperties
,Dos
, andPartialDOS
were changed. Instead of eigenvalues, frequencies are used.The default sigma value used for total and partial DOS was changed to (max_frequency - min_frequency) / 100.
Symmetry finder update.
Mar-20-2012: Version 1.3#
C implementations of a few parts of
force_constants.py
to speed up.spglib update.
Many small modifications.
License is changed to the new BSD from the LGPL.
Oct-13-2011: Version 1.2.1#
Bug fix of the option
--dim
with 9 elements.
Oct-12-2011: Version 1.2#
Closing support of the
--nac_old
option.The option
--nomeshsym
is available on the manual.Symmetry finder update that includes the bug fix of Wyckoff letter assignment.
Showing site-symmetry symbols with respective orientations in the output of
--symmetry
option.Code cleanings of
settings.py
,force_constant.py
, etc.Starting implementation of
character_table.py
(IRREPS).
Sep-19-2011: Version 1.1#
--readfc
option is implemented.A bit of clean-up of the code
dynamical_matrix.py
,force_constant.py
and_phonopy.c
to make implementations similar to the formulations often written in text books.
Sep-5-2011: Version 1.0#
settings.py
is moved tophonopy/cui/Phonopy
. The configure parser from a file and options is modified.Usage of
MODULATION
tag was changed.The option
--nosym
is available on the manual.
Aug-8-2011: Version 0.9.6#
Symmetry finder update
Wyckoff positions are shown with
--symmetry
option
Jun-7-2011: Version 0.9.5.1#
Bug fix of
get_surrounding_frame
incells.py
by Jörg Meyer and Christian Carbogno.
Errata of document#
The cell matrix definition of Atoms
class was transposed.
Jun-3-2011: Version 0.9.5#
Wien2k interface is updated (Wien2k & phonopy calculation), but this is still quite experimental support.
More information is involved in
disp.yaml
. Along this modification, supercells with displacements can be created solely fromdisp.yaml
usingdispmanager
.Instead of
TRANSLATION
tag,FC_SYMMETRY
is created (FC_SYMMETRY).Closing support of
--fco
option.Add a few more examples in the
example
directory.Symmetry finder update
propplot
is updated for the--gnuplot
option.
Errata of document#
The example of FORCE_SETS
was wrong and was fixed. The explanation of the
document is correct.
Apr-18-2011: Version 0.9.4.2#
In the setting tag
BAND
, now comma,
can be used to disconnect the sequence of band paths (Band structure tags).dispmanager
, an auxiliary tool for modifyingdisp.yaml
, is developed.Symmetry finder update to spglib-1.0.3.1. Almost perfect casting to a Bravais lattice is achieved using
--symmetry
option.The setting tags
TRANSLATION
,PERMUTATION
, andMP_REDUCE
are ceased.
Feb-26-2011: Version 0.9.4.1#
Wien2k interface bug fix
Feb-20-2011: Version 0.9.4#
Big phonopy-interface change was imposed. Some of filenames and formats of input and output files are modified. There is no default setting filename like
INPHON
(setting file is passed as the first argument). Some of tag names and those usage are also modified. Please first check Examples for the new usage.List of changes:
Setting file has to be passed to phonopy as the first argument.
FORCES is replaced by FORCE_SETS (Force file (FORCE_SETS)).
DISP is replaced by disp.yaml.
LSUPER tag is removed. Please use -d option.
NDIM and MATDIM tags are replaced by DIM tag (DIM).
Band structure setting tags are changed to BAND tag (Band structure tags).
DOS tag is renamed to DOS_RANGE tag (Phonon density of states (DOS) tags).
These changes are applied only for the phonopy interface. Internal simulation code has not been touched, so physical results would not be affected. If you have any questions, please send e-mail to phonopy Mailing list.
phonopy-FHI-aims
had not worked in some of previous versions. Now it works by Jörg Meyer and Christian Carbogno.Directory structure of the code was changed.
Symmetry finder update to spglib-1.0.2
[Experimental] Finding Bravais lattice using
--symmetry
option.[Experimental] Modulated structure along specified phonon modes by
MODULATION
tag (MODULATION).
Jan-21-2011: Version 0.9.3.3#
Animation file output update (Create animation file). The
ANIME
tag format was changed.
Jan-12-2011: Version 0.9.3.2#
phonopy-qha
is updated. A few options are added (Options). Calculation under pressure is supported by--pressure
option.Primitive cell search and Bravais lattice output are integrated into the symmetry search with
--symmetry
option.
Errata of document#
There were mistakes in the documents for the
PRIMITIVE_AXIS
andMATDIM
. The 9 values are read from the first three to the last three as respective rows of the matrices defined.
Dec-30-2010: Version 0.9.3.1#
Bug fix of
-f
option.The output filenames of
phonopy-qha
are modified and summarized at Output files.
Dec-5-2010: Version 0.9.3#
Nov-26-2010: Version 0.9.2#
spglib update (ver. 1.0.0)
ASE.py is removed. Compatible class and functions, Atoms, write_vasp, and read_vasp, are implemented.
A
vasprun.xml
parser wrapper is implemened to avoid the brokenPRECFOCK
in vasprun.xml of VASP 5.2.8.
Sep-22-2010: Version 0.9.1.4#
The new tag
ANIME_TYPE
supportsxyz
andxyz_jmol
formats by Jörg Meyer and Christian Carbogno, and alsoA set of
POSCAR` files corresponding to animation frames.Fix bugs in
trim_cell
andPrimitive.__supercell_to_primitive_map
incells.py
. When :math:M_s^{-1}M_p
is not symmetric, the supercell was not created correctly.phonopy-FHI-aims
update by jm.
Aug-24-2010: Version 0.9.1.3#
Update symmetry finder of spglib. Now precision is in Cartesian distance.
The animation output for
arc
didn’t work. Now it works.Qpoint mode didn’t work with bugs. Now it works.
--vasp
option is renamed to--cell
or-c
.The new options
--symmetry
,--displacement
or-d
,--dim
,--primitive_axis
are implemented.The option
--ndim
is replaced with--dim
with-d
option.
June-10-2010: Version 0.9.1.2#
The code on non-analytical term correction is included in the
DynamicalMatrix
class. Data sets read byparse_BORN
are set byset_non_analytical_term
and gotten byget_non_analytical_term
. The q-vector direction (only direction is used in the non-analytical term correction) is set byset_q_non_analytical_term
. However for emprical damping function, some distance is used, i.e., when a q-point is getting away, non-analytical term is weaken. For this purpose, the second argument ofset_q_non_analytical_term
is used.At the same time, a small problem on the previous implementation was found. When a reduced q-point is out of the first Brillouin zone, it is not correctly handled. Currently it is fixed so as that when absolute values of elements of the reduced q-point are over 0.5, they are reduced into -0.5 < q < 0.5.
[Attention] The previous
--nac
option is moved to--nac_old
.--nac
is used for different method of the non-analytical term correction at general q-points. This will be documented soon.Bug fix on
write_FORCES
infile_IO.py
. When order of displacements inDISP
file is not ascending order of atom indices, it was not correctly re-ordered. Because the default order of phonopy is ascending order, usually there is no problem for the most users.phonopy-FHI-aims
adapted to extensions of dynamical_matrix with respect to non-analytical corrections
added support for animation infrastructure
moved several options to control.in
by Jörg Meyer and Christian Carbogno
May-11-2010: Version 0.9.1.1#
phonopy-FHI-aims
adapted to split of dos array into the two seperate omega, dos arrays in TotalDOS class by Jörg Meyer.
May-10-2010: Version 0.9.1#
The methods of get_partial_DOS and get_total_DOS are added to the Phonopy class.
Apr-12-2010: Version 0.9.0.2#
spglib bug was fixed. If the crystal structure has non-standard origin, the translation was not correctly handled. This problem happened after version 0.9.0.
Apr-12-2010: Version 0.9.0.1#
spglib update
Apr-10-2010: Version 0.9.0#
Phonopy module (
__init.py__
) is heavily revised and the scriptphonopy
is rewritten using the phonopy module. Therefore there may be bugs. Be careful. Document of the phonopy module will be updated gradually.A small Wien2k interface document is added (Wien2k & phonopy calculation).
A script
phonopy-FHI-aims
and its examples are added by Jörg Meyer.spglib update
Mar-10-2010: Version 0.7.4#
spglib update
Animation mode (Create animation file)
Feb-10-2010: Version 0.7.3#
Bug fix for Wien2k mode
Jan-12-2010: Version 0.7.2#
[Experimental] Non-analytical term correction was implemented.
Dec-8-2009: Version 0.7.1 released#
Auxiliary tools
propplot
is added.Memory consumption is reduced when using
-f
option to handle large vasprun.xml files.
Nov-24-2009: Version 0.7.0 released#
Auxiliary tools
bandplot
andpdosplot
are prepared.Formats of
band.yaml
,mesh.yaml
, andqpoints.yaml
are slightly modified.There was bug in
PERMUTATION
tag to calculate symmetrized force constants. Now it is fixed. Usually this is not necessary to set because this does not affect to result.Symmetry finder spglib is updated.
PM
tag is implemented. See Setting tags. Behaviors in the previous versions arePM = AUTO
.
Oct-14-2009: Version 0.6.2 released#
Installation process was changed slightly. See Installation.
The command
phonopy
is stored in thebin
directory.phonopy.py
is renamed tophonopy
.setup system is improved by Maxim V. Losev.
--fz
tag was implemented experimentally. This is supposed to enable to subtract residual forces on atoms in equilibrium structure from those in structure with atomic displacements.