Perturbopy v0.6.1
This package provides utilities to postprocess and test the Perturbo code, which is an open-source software to compute from first principles the scattering processes between charge carriers (electrons and holes) and phonons, defects, and photons in solid state materials, including metals, semiconductors, oxides, and insulators. Perturbo is written in modern Fortran, including efficient MPI and OpenMP parallelization, allowing to perform calculations efficient on supercomputers using up to ~100,000 cores. Read more about the main code Perturbo on the official documentation page: https://perturbo-code.github.io/index.html.
Perturbopy provides a user-friendly object-oriented environment to postprocess Perturbo calculations, such as band structure interpolation, electron transport, ultrafast carrier dynamics, and many more. Using Perturbopy, a user can easily load the Perturbo output files (HDF5 or YAML) into Python objects, perform calculations, and visualize data.
The second purpose of the Perturbopy package is to test the main Perturbo code. After a compilation of the Perturbo code on a new machine or after a new implementation, it is always a good practice to run the testsuite, verifying that the existing functionality was not affected, and add new test cases to ensure that the newly implemented features will be compatible with future implementations. Perturbopy, using the pytest package, provides extensive testing of Perturbo, allowing for both serial and parallel runs.
Find more about Perturbopy on its documentation website: https://perturbopy.readthedocs.io/. We are open to collaboration! Please create a fork and submit a pull request with detailed description of your work, and we will be happy to discuss and include your contribution.
What's Changed
- added template folders by @imaliyov in #1
- Test folders by @imaliyov in #2
- Add compare module by @imaliyov in #3
- run_interactive for NERSC Cori by @imaliyov in #4
- modifications to docs by @imaliyov in #5
- modifications to docs by @imaliyov in #6
- Profile+speedup+tmp_scratch+discrepancy_print by @spflores-CT in #7
- New test folders by @imaliyov in #8
- Modified the output files for trans-mag-rta and trans-mag-ita by @ddesai97 in #10
- Change indent from multiple of three to multiple of four by @hurricane642 in #11
- changed yml file path by @imaliyov in #18
- Add pytest.ini in order to separate the tests from configure.py by @hurricane642 in #19
- Update reference values for the ephr-2 after the change of the long-range part by @hurricane642 in #22
- Temporary solution for the problem of hdfdict/PyYAML by @hurricane642 in #21
- QE2PERT test suite for Perturbopy by @hurricane642 in #14
- Rename epwan/ephr to epr by @hurricane642 in #23
- Solution of the issue #24 by @hurricane642 in #25
- Move all testing functions into the source folder by @hurricane642 in #26
- Update tests for QE7.2 by @hurricane642 in #27
- Add friendly message error for the case of config_machine.yml 404 by @hurricane642 in #31
- Delete inputs and refs from the perturbopy, rename folders in the source code by @hurricane642 in #29
- Update testsuite docs and set default value of source folder by @hurricane642 in #32
- Make perturbopy compatible with pytest7.4 by @hurricane642 in #33
- First full version of perturbopy (all calculation modes implemented with tutorials) by @shaelyniyer in #36
- Add description for pypi by @hurricane642 in #37
- Added log option to plotting ephmat values by @shaelyniyer in #38
- Delete devel option, fix problems with tags and remove unneсessary test folders printing by @hurricane642 in #41
- Fix bugs with yml naming by @hurricane642 in #43
- Update README.md by @imaliyov in #44
- Added drift_vel and conc to DynaPP, cmap edits to ephmat, and trans compatibility with 2d materials by @shaelyniyer in #45
- Added extract drift vel to DynaRun by @shaelyniyer in #46
- change the version number by @hurricane642 in #47
- Added logo to website sidebar by @shaelyniyer in #48
- Add producing of error files in case of the fail of some comparisons by @hurricane642 in #49
- flake8 fixes for src/perturbopy by @shaelyniyer in #50
- Eliminate warning from division by zero by @hurricane642 in #51
- Speed up filtering by @hurricane642 in #52
- Update filtering in order to remove any waiting time by @hurricane642 in #53
- Change version number by @hurricane642 in #54
- Compare "Inf" and "Infinity" as equal by @pinkston3 in #55
- Fix issue with the virtual environment by @hurricane642 in #57
- Version 0.5.3 release by @hurricane642 in #58
- Swap reference and computed in the error message by @hurricane642 in #59
- Changing the pipeline for qe2pert tests: downloading required files instead of QE calculations. by @hurricane642 in #60
- Version update by @hurricane642 in #61
- Update docs for the testsuite by @hurricane642 in #62
- Fix link error for perturbo.x test by @hurricane642 in #63
New Contributors
- @imaliyov made their first contribution in #1
- @spflores-CT made their first contribution in #7
- @ddesai97 made their first contribution in #10
- @hurricane642 made their first contribution in #11
- @shaelyniyer made their first contribution in #36
- @pinkston3 made their first contribution in #55
Full Changelog: https://github.com/perturbo-code/perturbopy/commits/v0.6.1