diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 65ab065..89ba1b4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,25 +1,29 @@ Change log ========== +v2.0.1 +~~~~~~ +- Minor documentation and website updates. + v2.0.0 ------- +~~~~~~ - Reduce the sum over band transitions to the energy mesh (min(-6, -energy_max), max(6, energy_max)) to make parsing of VASP optics more efficient. - Switch to semantic versioning. v23.6.3 -------- +~~~~~~~ - Remake PyTASER MP example workflow - Update PyPI releasing workflow - Update minor MPRester API issue v23.6.2 ------- +~~~~~~~ - Add multiprocessing functionality to dramatically speed up parsing of large kpoint sets / large numbers of electronic bands, and add example notebook and HPC script for this. v23.6.1 ------- +~~~~~~~ - Add functionality to parse orbital derivatives from `VASP` optics calculations, to incorporate oscillator strengths in the prediction of TAS spectra. - Add functionality to save and load `Tas` objects to `json` file, to save time on re-analysing later on. diff --git a/README.md b/README.md index ea58a87..23dc6f4 100644 --- a/README.md +++ b/README.md @@ -26,16 +26,16 @@ experiments. The main features include: To install the module with pip (recommended): ``` -pip install --user pytaser +pip install pytaser ``` To install directly from the git repository: ``` -pip install --user git+https://github.com/WMD-group/PyTASER +pip install git+https://github.com/WMD-group/PyTASER ``` To do a manual build and installation: ``` python3 setup.py build -python3 setup.py install --user +python3 setup.py install ``` PyTASER is compatible with Python 3.9+ and relies on a number of open-source packages, specifically: @@ -70,14 +70,23 @@ Alternatively, you can set up a file in Python to run it in the command line of python3 ``` -If using your own, locally calculated data, please follow [this](https://pytaser.readthedocs.io/en/latest/dft_examples.html) workflow. -Otherwise, use the MP-integrated workflow [here](https://pytaser.readthedocs.io/en/latest/jdos_examples.html). +If using your own, locally calculated data, please follow [this](https://github.com/WMD-group/PyTASER/blob/main/examples/PyTASER_DFT_Example.ipynb) workflow. +Otherwise, use the MP-integrated workflow [here](https://github.com/WMD-group/PyTASER/blob/main/examples/PyTASER_MP_Example.ipynb). # Contributing -We appreciate any contributions in the form of a pull request. -Additional test cases/example spectra performed with PyTASER would be welcomed. -Please feel free to reach out to us if there are any questions or suggestions. +We appreciate any contributions in the form of a pull request. Please see the [Contributing](https://pytaser.readthedocs.io/en/latest/contributing.html) documentation for more details. +Additional analysis/example spectra performed with `PyTASER` would be welcomed. + +Please feel free to reach out to us via the [Issue Tracker](https://github.com/WMD-group/PyTASER/issues) if there are any questions or suggestions. + +# Testing + +Unit tests are in the `tests` directory and can be run from the top directory using pytest. Automatic testing is run on the master and develop branches using GH Actions. + +Please run tests and add new tests for any new features whenever submitting pull requests. + +# Future Work Future topics we plan to build on: diff --git a/docs/source/conf.py b/docs/source/conf.py index d76e5ce..f28e420 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,7 +24,7 @@ author = "Savyasanchi Aggarwal" # The full version, including alpha/beta/rc tags -release = "1.0.0" +release = "2.0.0" # -- General configuration --------------------------------------------------- @@ -70,7 +70,7 @@ "home_page_in_toc": True, } -html_logo = "_static/docs/PyTASER.png" +html_logo = "_static/PyTASER.png" html_title = "PyTASER" # If true, SmartyPants will be used to convert quotes and dashes to diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index 3f3eccc..4d1b3a9 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -56,8 +56,8 @@ How to Make a **Great** Pull Request We have a few tips for writing good PRs that are accepted into the main repo: -- Use the Google Code style for all of your code. Find an example `here - `__. +- Use the Black Code style for all of your code. Find an example `here + `__. - Your code should have (4) spaces instead of tabs. - If needed, update the documentation. - **Write tests** for new features! Good tests are 100%, absolutely necessary diff --git a/docs/source/index.rst b/docs/source/index.rst index be0b25e..fb933f3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -4,6 +4,7 @@ contain the root `toctree` directive. + Welcome to PyTASER's documentation! =================================== @@ -25,6 +26,7 @@ Welcome to PyTASER's documentation! .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://img.shields.io/badge/code%20style-black-000000.svg + ============ Introduction ============ @@ -39,13 +41,15 @@ experimental spectra. The main features include: * Consideration of non-magnetic and magnetic materials * Capability to input calculated bandstructures and density of states inputs with support for https://materialsproject.org. +========== Background -=========== +========== TAS is a powerful pump-probe tool to characterise the excited states of materials. It can be used to understand microscopic processes in photochemical and electrochemical transformations, including phenomena such as electron trapping and carrier recombination. The drawback is that TAS spectra are difficult to interpret, especially for crystals where the specific valence and conduction band structure can give rise to complex features. Our goal here is to predict TAS features from first-principles starting from the most simple models of static excitations through to the kinetics of relaxation of the excited state back to the ground state. +============ Installation ============ @@ -68,6 +72,7 @@ To do a manual build and installation: python3 setup.py build python3 setup.py install +=================================== Developer’s installation (optional) =================================== @@ -93,6 +98,7 @@ Install the code with the command: This command tries to obtain the required packages and their dependencies and install them automatically. +============ Dependencies ============ @@ -102,6 +108,7 @@ Dependencies * `numpy `__, `scipy `__ for data structures and unit conversion * `matplotlib `__ for plotting the spectra +============= Visualisation ============= @@ -112,25 +119,41 @@ Alternatively, you can setup a ``Python`` file to run it in the command line of python3 +If using your own, locally calculated data, please follow `this workflow `__. Otherwise, please use the MP-integrated workflow as shown `here `__. + +============ Contributing ============ -We appreciate any contributions in the form of a pull request. -Additional test cases/example spectra performed with ``PyTASER`` would be welcomed. -Please feel free to reach out to us if there are any questions or suggestions. +We appreciate any contributions in the form of a pull request. Please see the `Contributing `__ Documentation for more details. +Additional analysis/example spectra performed with ``PyTASER`` would be welcomed. + +Please feel free to reach out to us via the `Issue Tracker `__ if there are any questions or suggestions. + +======= +Testing +======= + +Unit tests are in the ``tests`` directory and can be run from the top directory using pytest. Automatic testing is run on the master and develop branches using Github Actions. + +Please run tests and add new tests for any new features whenever submitting pull requests. + +=========== +Future Work +=========== Future topics we plan to build on: * Incorporating finite-temperature effects (particularly for indirect bandgaps) -* Description of more complex optical processes (e.g. stimulated emission) -* Direct treatment of pump-probe time delay +* Direct treatment of pump-probe time delay and relaxation kinetics * Incorporating spin-flip processes for spin-polarised systems * Description of defective crystals +================ Acknowledgements ================ -Developed by Savyasanchi Aggarwal and Alex Ganose. Aron Walsh helped to design the project. Thanks to group members for their support, especially Seán Kavanagh, Youngwon Woo, Anahita Manchala and Liam Harnett-Caulfield. +Developed by Savyasanchi Aggarwal, Seán Kavanagh, Youngwon Woo and Alex Ganose. Aron Walsh designed and led the project. Thanks to group members for their support, especially Anahita Manchala and Liam Harnett-Caulfield. .. toctree:: diff --git a/examples/PyTASER_MP_Example.ipynb b/examples/PyTASER_MP_Example.ipynb index fbf8b0d..988b1b6 100644 --- a/examples/PyTASER_MP_Example.ipynb +++ b/examples/PyTASER_MP_Example.ipynb @@ -71,7 +71,7 @@ "id": "e859d8ac-ed7c-4346-81cb-2dafe03db618", "metadata": {}, "source": [ - "# GaAs" + "## GaAs" ] }, { diff --git a/setup.py b/setup.py index f12e900..7ca211e 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name="pytaser", - version="2.0.0", + version="2.0.1", description="TAS prediction tool", url="https://pytaser.readthedocs.io/en/latest/", author="Savyasanchi Aggarwal",