diff --git a/README.md b/README.md index b3bf55c..78fcd63 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@ Calculate high temperature thermal elasticity in Python. ## Installation -The package can be installed with `pip` package manager. +The package can be installed with `pip` package manager: + +At the command prompt, one should navigate to the directory that contains the +`setup.py` script and execute `pip install .`. Then, the package should be ready for use. ## Usage @@ -79,6 +82,40 @@ See [GitHub pages][1]. [1]: https://mineralscloud.github.io/cij +## Structure of the `cij` package + +The cij package is written in Python 3. The Python source code is located in the `cij` sub-folder. +Input for three examples in the `examples` sub-folder, documentation in the `docs` sub-folder, and the installation script `setup.py`. + +The Python code is organized into several modules: + +- **`cij.core`**: Core functionalities + - `calculator`: The calculator that controls the workflow. + - `mode_gamma`: Interpolate phonon frequencies and calculate mode Grüneisen parameters. + - `phonon_contribution`: Calculate phonon *cij*ph. + full_modulus – Interpolate *cij*st vs. *V*, and calculate *cijS* and *cijT*. +tasks – Handles the ordering of *cij*ph calculation. + +- **`cij.util`**: Methods used in the main program + - `voigt`: Convert between Voigt (*cij*) and regular (*cijkl*) notations of elastic coefficients. + - `units`: Handle unit conversion. + +- **`cij.io`**: Input output functions and classes. +- **`cij.plot`**: Plotting functionalities. +- **`cij.cli`**: Command-line programs + - `cij run` (main.py) – Perform a SAM-Cij calculation. + - `cij run-static` (`static.py`) – Calculate static elastic properties. + - `cij extract` (`extract.py`) – Extract calculation results for a specific *T* or *P* to a table. + cij extract-geotherm (geotherm.py) – Extract calculation results along geotherm PT (given as input) to a table. + - `cij plot` (`plot.py`) – Convert output data table to PNG plot. + - `cij modes` (`modes.py`) – Plot phonon frequency interpolation results. + - `cij fill` (`fill.py`) – Fill all the non-zero terms for elastic coefficients given the constraint of a crystal system. + +- **`cij.data`**: Data distributed with the program, e.g., the relationship between *cij*’s for different crystal systems, the naming scheme for output files, etc. +- **`cij.misc`**: Miscellaneous functionalities that are not used in the main program, e.g., methods that facilitate the preparation of input files. + + + ## Author The code in this repo is initially authored by Chenxing Luo.