Releases: faccts/opi
Releases · faccts/opi
OPI version 2.0.0
What's Changed
Breaking Changes
- Minimum required ORCA version is now 6.1.1.
Older ORCA versions are no longer supported. ORCA version 6.1.0 can still be used by setting up theCalculator
without the version check and disabling it in theOutput, but it is no longer supported. - Remove redundant simple keywords. #48
Output.gbw_json_filewas replaced byOutput.gbw_json_files(list of JSON files). #83property_json_fileandgbw_json_filesare now properties, allowing custom JSON file names to be set via setters. #116 #172
Added
Input
- Added support for adding arbitrary options to blocks which will be printed in the block along with the other options. #61
- Added class methods to initialize
Structureclass: #96from_ase(): from Atoms object of ASEfrom_list(): from a listfrom_xyz_block(): to directly read XYZ stringfrom_trj_xyz(): reads multi-XYZ files and returns list of Structure objects. #138
- Added property
Structure.nelectronsto count number of electrons. #117 - Added
UserWarningfor if multiplicity inStructureand number of electrons are invalid. #127 - Added
Structure.set_ls_multiplicity()which set the low-spin multiplicity on theStructure. #127 - Functions to check if multiplicity of given structure is physically reasonable. #127
- Added
Propertiesclass for reading (relative) energies from comment line of multi-XYZ files. #151 - Extension of DFT related keywords in
BlockMethod. #173 - Addition of strict argument to
BaseStructureFile. #189
Calculator
- Added
get_version()andcheck_version()to get ORCA version from main binary and return or check it against minimum required version for OPI respectively. #112 - Added
Calculator.write_and_run()to write the ORCA.inpfile and execute the calculation in one go. #124
Output
- Added getter helper functions for easier access to various
Outputattributes such as:get_structure()function to access the (optimized) structure. #10 #34get_final_energy()andget_energies()for access to the final energy and contributions to it. #32 #49get_gradient()for access to the nuclear gradient. #56get_mos(),get_homo(),get_lumo(), for access to molecular orbitals. #56 #83get_s2()for SCF S², and several getters for thermo corrections and atomic charges. #83get_ir()for access to IR intensities which are stored inIrMode. #168
- Addition of functions in
Outputto check if geometry optimization and SCF have converged. #12 - Added
Output.print_graph()that shows which fields in the output are populated. #84 - Initial support for
orca_plot, which allows plotting of molecular orbitals, densities and spin-densities. #60 - Add parameters to
Output.parse()function to control whether respective JSON file is parsed or not. #33 - Added support for parsing multiple GBW files. #83
- Added
Element.from_atomic_number()to get correspondingElementfrom atomic number. #52 - Added
atomic_numbertoElementclass. #93 - Allow variable suffixes when creating gbw JSON files. #147
PropertyResultsandGbwResultsobjects can now be initialized from JSON files. #159
Tests
- Added example tests. These run the examples from the example folder using the local ORCA installation (not for CI). They are marked by the marker "examples". #137
- Introduction of OPI unit tests (For CI use). These tests are marked with marker "unit":
External Methods
Fixed
- Fixed the links on the tutorial start page. #2
- Fix to
fragprocattribute inBlockFrag. #43 - Fixed bug where
%moinpblock was printed without quotation marks around the path. #50 - Fixed
nucattribute in nmr to include index 0. #89 - Change type annotation for fragments to
StrictNonNegativeIntfor the Solvator. #90 - Change type annotation for
MayerPopulationAnalysis.nbondordersprinttoStrictNonNegativeInt. #99 - Renamed
xyzfraglibtoxzyfraglibinBlockFrag. #98 - Solved error using CPCM with
epsilon=inf. #101 - Fixed bug in
OrcaVersionnot recognizing '-f.x' tags in ORCA version string. #112 - Fixed
opi.__version__which would previously always show '0.0.0'. #122 - Fixed lookup of ORCA binaries on Windows. #123
- Fixed several Windows compatibility issues. #134
- Fixed reading of structures from files with empty lines at the end. #138
- Fixed inconsistent indexing in
Structure.add_atom(). #152 - Fixed inconsistency in return type of
_buffermethod inStructure. #151 - Fixed error in formatting of
QMMMblock attributes. #190 - Fixed values of block options being automatically converted to lowercase. #191
- Fixed header of documentation showing always OPI version 1.x. #194
Changed
- Configuration of a path to Open MPI is now optional. #17
Elementenum is now case-insensitive. #52Calculatorclass now does ORCA binary version check by default, but it can be turned off. #112Calculator.write_input()now returns boolean that says whether an existing input has been overwritten. #124- Overwriting existing input can be controlled using
forceargument.
- Overwriting existing input can be controlled using
Calculator.run()now returns boolean that indicates whether the ORCA calculation terminated normally. #124- If Ruff alters source code then Nox exits with non-zero-status. #126
- Calculator.write_input() now delegates formatting to
Input.format_before_coords()andInput.format_after_coords(). #155
New Contributors
- @cplett made their first contribution in #4
- @ShiyaoJ made their first contribution in #29
- @nakul680 made their first contribution in #43
- @Anselmoo made their first contribution in #76
- @ChemMatt made their first contribution in #90
- @frederic-bender made their first contribution in #101
- @jak713 made their first contribution in #108
- @JacksonBurns made their first contribution in #105
- @tonyzamyatin made their first contribution in #102
- @MattBurn made their first contribution in #181
Full Changelog: v1.0.0...v2.0.0
OPI version 1.0.1
Many thanks to Hagen Neugebauer (@haneug), Markus Bursch (@maburs) and Shiyao Ju (@ShiyaoJ) for contributing to this release.
Documentation
- Fix links on the tutorial start page (#2)
- DOCS: fixed github link injection (#22)
- Fixed typos in the documentation (#29)
- Fixed erroneous "pip install opi" on PyPI.
Full Changelog: v1.0.0...v1.0.1