Properties Calc/WkChain Improvements and Testing changes
-
Large improvement/refactor of properties calculations and workchains:
- Rename
cry_->prop_ - Renamed
crystal17.fermi->crystal17.newk - Subclass calculations from base
PropAbstractCalculation;- all calculation take as input a wf_folder and parameter dict
- all calculations output a result dict
- no longer options to symlink wf_folder (it doesn't work)
- wf_folder can now be a standard folder (or remote)
- Add raw parsers for parsing properties stdout and gaussian cube files.
- Parsers all use
read_properties_stdoutto parse standard output data, and check for errors,
also exit codes are saved for each step, then the highest priority code is returned at the end. - Changed inputs/outputs of
crystal17.fermi. - Add
crystal17.ech3calculation and parser (stores cube files asGaussianCubedata objects). - Updated CryPropertiesWorkChain to run multiple properties calculation.
- Add creation of VESTA file, from cube data file.
crystal17.doss; fix parsing of projections.- Update band_gap calcfunction, to use correct energy units format.
- Add documentation:
calc_doss,workflow_properties,calc_ech3.
- Rename
-
Improve CRYSTAL main stdout parser.
- Extract mulliken orbital and shell populations.
- parse 0D (MOLECULE) cartesian coordinates
- improve regex for removing PROCESS and Fortran warning lines
- ignore
all open_hca: getaddr_netdev ERRORlines, that can occur before program start. - fix issues with computations that converge after the 1st cycle.
-
Add fort.9 raw parser.
-
Symmetry: allow for use of symbol (rather than kind) to define
inequivalent sites. -
Improved
BasisSetData.set_fileandBasisSetData.upload_basisset_family,
to acceptpathlib.Pathand filelike objects. -
Programatically Access Resource Files:
Non-python files (JSON schema and raw files) are now accessed programatically,
using theimportlib_resourcespackage.
This means that (a) they can be accessed even if the package is zipped and,
(b) these files can be moved to a separate package in the future. -
Replace Travis flake8/version tests with a pre-commit test:
- Updated
pre-commitandyapfversions have been updated, and pre-commit run -ahas been applied to the repository.- Added conda test, to check the
conda_dev_env.ymlworks.
- Updated
-
Add pytest plugin configuration:
- Use pytest command-line arguments to control run configuration.
- Replace
MOCK_CRY17_EXECUTABLESenvironmental variable with
pytest --cry17-no-mock,
andCRY17_TEST_WORKDIRwithpytest --cry17-workdir "test_workdir". - Add
--cry17-skip-exec, for skipping tests call executable. - Add
pytest-notebookdependency and test function, to test and regenerate tutorial notebooks.
-
GULP: improve ReaxFF parser:
- correctly handle read/write of
Xsymbol - allow reaxff tolerance value to be set, when reading file to dict.
- correctly handle read/write of