A python framework for the CRYSTAL code. Forked from CRYSTALpytools.
📚 Take a look at the full Documentation.
- Band structure and DOSS
- Elastic properties (Young and shear moduli, linear compressibility, Poisson ratio)
- Harmonic and anharmonic IR and Raman spectra
- Electron densities and laplacian topological analysis
- Transport properties
- Extraction of information from CRYSTAL .out file
Public releases of the code are distributed through Pypi.
The following will be installed if not already present:
- Python 3.x
- pymatgen>=2022
- numpy
- mendeleev
- ase
- Create a conda environment (suggested)
conda create --name crystalclear python=3.9
- Activate the environment (suggested)
conda activate crystalclear
- Install
pip install CRYSTALClear
In order to use any of the feature available in the package the user need to generate a CRYSTAL object through the crystal_io module. Three classes are available to the user for different use cases:
- Crystal_output: To extract informations and generate the object required to plot from any .out file of the CRYSTAL package.
- Properties_output: To generate the objects required to plot any of quantities stored in the .DAT and .f25 files generated by the PROPERTIES module.
- External_unit: To generate the objects required to plot any of the quantites stored in .DAT and .f25 file generated by CRYSTAL.
from CRYSTALClear.crystal_io import class
#Crystal_output
data = class(file).function(*args,**kwargs)
#Properties_output and External_unit
data = class().functione(file)Once the object is generated the user can generate the desired plot using the functions in the plot module
import CRYSTALClear.plot as CCplt
CCplt.function(data,*args,**kwargs)The function will return one (or a list of) matplotlib object(s) that the user can easily modify as any other plot produced with the library.
Contributions are what make the open source community such an amazing place to be, learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
- Website: https://www.crystal.unito.it
- Email: crystalunito@gmail.com
- Instagram: @crystaldevs
