Change Log

Contents

Change Log#

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 by np.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 also phonopy_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 from phonopy_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 format shape=(size_super, size_prim, 27, 3).

Jun-10-2021: Version 2.10.0#

  • Fix the contents of entropy-volume.dat and Cv-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 in phonopy.yaml. See summary.

  • 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 2 FORCE_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 accepts phonopy.yaml type file as an input crystal structure by -c option. When DIM and any structure file are not given, phonopy_disp.yaml (primary) or phonopy.yaml (secondary) is searched in the current directory. Then phonopy.yaml type file is used as the input, semi-automatic phonopy mode is invoked, which means:

    (1) supercell_matrix in the phonopy.yaml type file is used if it exists. (2) primitive_matrix in the phonopy.yaml type file is used if it exists. Otherwise, set PRIMITIVE_AXES = AUTO when PRIMITIVE_AXES is not given. (3) NAC params are read (NAC = .TRUE.) if NAC params are contained (primary) in the phonopy.yaml type file or if BORN file exists in the current directory (secondary). (4) Forces and displacements are read from the phonopy.yaml type file if those exist instead of reading FORCE_SETS in the current directory. (5) Calculator name (such as qe) is read if it is contained in the phonopy.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 of phonopy.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 by phonopy_disp.yaml. For the backward compatibility, when phonopy_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 to projected_dos.dat.

API change at version 2.0#

  • Phonopy.get_band_structure() is deprecated. Instead use Phonopy.get_band_structure_dict().

  • Phonopy.get_mesh() is deprecated. Instead use Phonopy.get_mesh_dict().

  • Phonopy.set_band_structure() is deprecated. Instead use Phonopy.run_band_structure() where is_eigenvectors keyword argument is replaced by with_eigenvectors.

  • Phonopy.set_mesh() is deprecated. Instead use Phonopy.run_mesh() where is_eigenvectors keyword argument is replaced by with_eigenvectors.

  • Previous behaviour of Phonopy.run_mesh() is achieved by phonopy.mesh.run().

  • Phonopy.set_qpoints_phonon() is deprecated. Use Phonopy.run_qpoints() where is_eigenvectors keyword argument is replaced by with_eigenvectors.

  • Phonopy.get_qpoints_phonon() is deprecated. Instead use Phonopy.get_qpoints_dict().

  • Phonopy.get_group_velocity() is deprecated. Use Phonopy.mode.group_velocities attribute or Phonopy.get_*mode*_dict()['group_velocities'], where *mode* is band_structure, mesh, or qpoints.

  • Phonopy.get_group_velocities_on_bands() is deprecated.

  • Phonopy.get_mesh_grid_info() is deprecated.

  • Phonopy.set_iter_mesh() is deprecated. Use Phonopy.mesh() with use_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 at Phonopy.__init__().

  • Phonopy.set_unitcell() is deprecated.

  • Phonopy.set_total_DOS() is deprecated. Use Phonopy.run_total_dos().

  • Phonopy.get_total_DOS() is deprecated. Use Phonopy.get_total_dos_dict().

  • Phonopy.write_total_DOS() is deprecated. Use Phonopy.write_total_dos().

  • Phonopy.plot_total_DOS() is deprecated. Use Phonopy.plot_total_dos().

  • Phonopy.set_partial_DOS() is deprecated. Use Phonopy.run_projected_dos().

  • Phonopy.get_partial_DOS() is deprecated. Use Phonopy.get_projected_dos_dict().

  • Phonopy.write_partial_DOS() is deprecated. Use Phonopy.write_projected_dos().

  • Phonopy.plot_partial_DOS() is deprecated. Use Phonopy.plot_projected_dos().

  • Phonopy.partial_dos attribute is deprecated. Use Phonopy.projected_dos attribute.

  • Phonopy.set_thermal_properties() is deprecated. Use Phonopy.run_thermal_properties().

  • Phonopy.get_thermal_properties() is deprecated. Use Phonopy.get_thermal_properties_dict().

  • Phonopy.set_thermal_displacements() is deprecated. Use Phonopy.run_thermal_displacements().

  • Phonopy.get_thermal_displacements() is deprecated. Use Phonopy.get_thermal_displacements_dict().

  • Phonopy.set_thermal_displacement_matrices() is deprecated. Use Phonopy.run_thermal_displacement_matrices().

  • Phonopy.get_thermal_displacement_matrices() is deprecated. Use Phonopy.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() and phonopy.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#

Jan-31-2018: Version 1.12.6#

  • Force constants file formats of FORCE_CONSTANTS and force_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) and FMAX (--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 to argparse.

  • 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), and QPOINTS_FORMAT (--qpoints-format) were implemented. HDF5 tag is deprecated.

  • New tags READ_FORCE_CONSTANTS and WRITE_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 prefix phonopy- is added to the old names to avoid accidental conflict with other filenames already existing under bin. outcar-born is renamed to phonopy-vasp-born. Similarly gruneisen is renamed phonopy-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 of band.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 or mesh.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 for outcar-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 and phonopy_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 the distance 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 in qpoints.hdf5 with WRITEDM = .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#

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#

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#

Oct-30-2014: Version 1.9.1.3#

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 supercell

  • Spglib 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 the MASS 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, TMAX, TMIN, and TSTEP 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 to freq_something.

  • gruneisen didn’t run because it didn’t follow the move of the file_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 to phonon directory.

  • hphonopy/file_IO.py is moved to top directory.

  • New harmonic/derivative_dynmat.py: Analytical derivatives of dynamical matrix

  • Group 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 as PDOS tag.

  • Group velocity with degenerate modes was improved.

Jun-21-2013: Version 1.7#

  • The tag CHARACTER_TABLE was renamed to IRREPS (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 to irreps.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#

  • Arbitral projection direction is allowed for thermal displacements calculation. (TDISP, TMAX, TMIN, and TSTEP)

  • A new tag WRITEDM and an option --writedm are implemented. Dynamical matrices are written into qpoints.yaml when this is used together with the QPOINTS mode. (WRITEDM)

Nov-13-2012: Version 1.6.2#

Nov-4-2012: Version 1.6.1#

  • Implementation of database of character table for another type of point group -3m.

  • A new option --irreps or IRREPS tag (Experimental).

  • character_table.yaml output.

  • Eigenvectors output inmodulation.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. (Create modulated structure)

  • 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 in phonon_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 function property.

  • 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 to phonopy/qha/__init__.py.

  • Phonopy::get_mesh and Phonopy::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, and PartialDOS 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 to phonopy/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 in cells.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 from disp.yaml using dispmanager.

  • 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 modifying disp.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, and MP_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 (Create modulated structure).

Jan-21-2011: Version 0.9.3.3#

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 and MATDIM. 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#

  • The license is changed to LGPL.

  • MASS tag is recreated (MASS).

  • --mp option is created. This works like the MP tag.

  • Improvement of phonopy-qha both in the code and manual.

  • The bug in --fco option was fixed.

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 broken PRECFOCK in vasprun.xml of VASP 5.2.8.

Sep-22-2010: Version 0.9.1.4#

  • The new tag ANIME_TYPE supports xyz and xyz_jmol formats by Jörg Meyer and Christian Carbogno, and also A set ofPOSCAR` files corresponding to animation frames.

  • Fix bugs in trim_cell and Primitive.__supercell_to_primitive_map in cells.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 by parse_BORN are set by set_non_analytical_term and gotten by get_non_analytical_term. The q-vector direction (only direction is used in the non-analytical term correction) is set by set_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 of set_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 in file_IO.py. When order of displacements in DISP 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 script phonopy 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#

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 and pdosplot are prepared.

  • Formats of band.yaml, mesh.yaml, and qpoints.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 are PM = AUTO.

Oct-14-2009: Version 0.6.2 released#

  • Installation process was changed slightly. See Installation.

  • The command phonopy is stored in the bin directory. phonopy.py is renamed to phonopy.

  • 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.