Skip to content

0.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Aug 20:03
· 81 commits to main since this release

Version 0.2.0 brings with it many new features as well as major changes to the public API. The public API will be more stable in future versions and will be completely stable after version 1.0.0.

New features

  • Atomic Raman tensors (ARTs) implemented in ARTModel, a subclass of InterpolationModel.
  • Workflow for building polarizability models
    • Utilities in ramannoodle.structure.displace to generate displaced structures for polarizability calculations, whose results are fed into polarizability models.
    • Dummy models to ensure these displaced structures cover all degrees of freedom before carrying out expensive polarizability calculations.
  • Model masking allows degrees of freedom in InterpolationModel and ARTModel to be enabled and disabled (masked) on the fly. This allows the calculation of partial Raman spectra, which are useful when studying point defects, for example.
  • Polarizability models implement __repr__, which helps users track model state. This is especially handy when using ramannoodle in Jupyter notebooks.
  • Read/write support for VASP POSCAR files.
  • DOFWarning, which warns when a degree of freedom's data does not span zero (i.e. the equilibrium structure). This is not fatal, but is undesirable in nearly all cases.

Major API changes

  • Restructured and reorganized packages and modules, including renaming ramannoodle.symmetry to ramannoodle.structure.
  • Added ramannoodle.io.generic, which implements generic IO functionality. Subpackages, such as ramannoodle.io.vasp.poscar, are now the preferred way to read and write files.
  • Changed getters/setters to properties.
  • Arguments use fractional coordinates by default. Cartesian arguments now have the cart_ prefix.

Minor enhancements and bugfixes

  • NDArray shape checking functions are more flexible.
  • Added additional tests to achieve >95% coverage.
  • Renamed StructuralSymmetry to ReferenceStructure.

Documentation updates

  • Documentation has a much higher level of polish.
  • Clarified units, both in docstrings and in the guides.
  • Added new guides
    • Full tutorial covering displaced structure generation and dummy models.
    • Masking tutorial
    • Guide to interfacing with first principles codes, including information on supported file formats.
  • Added logo to sidebar.
  • Added a developer guide.

Full Changelog: v0.1.1-alpha...0.2.0