- Changes:
- Fixed structure factor formula in docs (
|F(Q, nu)|
->|F(Q, \\nu)|^2
ande^(Q.r)
->e^(iQ.r)
)
- Fixed structure factor formula in docs (
- Breaking Changes:
- New Features:
- Euphonic can now read Phonopy input! See the docs for details.
- Improvements:
- Added
fall_back_on_python
boolean keyword argument toForceConstants.calculate_qpoint_phonon_modes
to control whether the Python implementation is used as a fallback to the C extension or not, see #35 - Added
--python-only
option tosetup.py
to enable install without the C extension
- Added
- Bug fixes:
- On reading CASTEP phonon file header information, switch from a fixed number of lines skipped to a search for a specific line, fixing issue #23
- Fix NaN frequencies/eigenvectors for consecutive gamma points, see #25
- Fix issue saving plots to file with dispersion.py, see #27
- Fix incorrect frequencies at gamma point when using dipole correction in C, #45
- Bug fixes:
- Add MANIFEST.in for PyPI distribution
- Bug fixes:
- Cannot easily upload C header files to PyPI without an accompanying source file, so refactor C files to avoid this
- There are several breaking changes:
- Changes to the object instantiation API. The former interface
InterpolationData(seedname)
has been changed to ``InterpolationData.from_castep(seedname)`,` in anticipation of more codes being added which require more varied arguments. - Changes to the Debye-Waller calculation API when calculating the structure
factor. The previous
dw_arg
kwarg accepted either a seedname or length 3 list describing a grid. The new kwarg is nowdw_data
and accepts aPhononData
orInterpolationData
object with the frequencies calculated on a grid. This is to make it clearer to the user exactly what arguments are being used when calculating phonons on the grid. - Changes to parallel functionality. The previous parallel implementation
based on Python's multiprocessing has been removed and replaced by a
C/OpenMP version. This has both better performance and is more robust. As
a result the
n_procs
kwarg tocalculate_fine_phonons
has been replaced byuse_c
andn_threads
kwargs.
- Changes to the object instantiation API. The former interface
- Improvements:
- The parallel implementation based on Python's multiprocessing has been removed and now uses C/OpenMP which both has better performance and is more robust
- Documentation has been moved to readthedocs and is more detailed
- Clearer interface for calculating the Debye-Waller factor
- Better error handling (e.g. empty
InterpolationData
objects, Matplotlib is not installed...)
- Bug fixes:
- Fix gwidth for DOS not being converted to correct units
- Fix qwidth for S(Q,w) broadening being incorrectly calculated