----------------------------------------------------------------------------
- Euphonic can now calculate neutron-weighted partial density of states, and
has new ``Spectra`` features to handle PDOS data:
- Added ``QpointPhononModes.calculate_pdos`` method
- Added ``QpointFrequencies.calculate_dos_map`` method
- New ``Spectrum1D.__add__`` method, which adds 2 spectra together
- New ``Spectrum1DCollection.__add__`` method, which concatenates 2 collections
- Enabled indexing of ``Spectrum1DCollection`` by a sequence
- Added ``Spectrum1DCollection.group_by`` method, which allows grouping and
summing spectra by metadata keys e.g. ``group_by('species')``
- Added ``Spectrum1DCollection.select`` method, which allows selection
of spectra by metadata keys e.g. ``select(species='Si')``
- Added ``Spectrum1DCollection.sum`` method, which sums all spectra in a
collection
- Added ``-w={'coherent-dos','incoherent-dos','coherent-plus-incoherent-dos'}``
neutron-weighted PDOS options to ``euphonic-dos`` and ``euphonic-powder-map``
- Added ``--pdos`` options for plotting specific species PDOS to
``euphonic-dos`` and ``euphonic-powder-map``
- Deprecated ``--weights`` command-line argument in favour of ``--weighting``
for consistency with ``calculate_pdos``
- Improvements:
- LICENSE and `CITATION.cff <https://citation-file-format.github.io/>`_
files are now included in Euphonic's installation
- Add ability to interactively change the colormap intensity limits
in ``euphonic-powder-map``
- ``euphonic-optimise-dipole-parameter`` can now read from Phonopy sources
- ``euphonic-optimise-dipole-parameter`` can now also be used for non-polar
materials to get general per-qpoint timings
- Dimensioned Euphonic properties (e.g. ``frequencies``, ``cell_vectors``)
now have setters so can be set, previously this would raise an
``AttributeError``
- Changes:
- The units of density of states as produced by ``calculate_dos`` have
changed from dimensionless to ``1/energy``
- The scaling of density of states has also changed. Previously the
integration would sum to 1 (if the ``x_data`` were converted to Hartree
units), now the integration will sum to 3N in the same units as ``x_data``
- ``StructureFactor.structure_factors`` have been changed to be in absolute
units per atom (rather than per unit cell) so will have changed by a
factor of `1/2*n_atoms`, this formulation change has been reflected in the
``calculate_structure_factor`` docstring
- The default unit of ``StructureFactor.structure_factors`` has been changed
from ``angstrom**2`` to ``millibarn``
- The unit of S(Q,w) as produced by ``StructureFactor.calculate_sqw_map``
has changed dimension from ``length**2`` to ``length**2/energy``. Also,
as its unit is derived from the input ``StructureFactor`` object, its
default units are now ``millibarn/meV``
- The ``eta_scale`` argument in ``calculate_qpoint_phonon_modes`` has been
deprecated, ``dipole_parameter`` should be used instead.
- This means the ``euphonic-optimise-eta`` script has been renamed to
``euphonic-optimise-dipole-parameter``.