A Python tool for visualizing atomic systems and properties of condensed matter.
Project description
XtraCrysPy
A Python tool for visualizing atomic systems and properties of condensed matter.
Features:
- Plot molecular systems with minimal setup
- Plot systems from DFT input- or output- files
- Interact with the system to caluclate distances, angles, or receive atomic information
- Display relaxation steps from QE relax output files
- Display reciprocal space features
- Plot real space iso-surfaces (charge density, etc)
- Plot reciprocal iso-surfaces (Fermi surface, spin-texture, etc)
- Band structure and DoS plots from QE or PAOFLOW data
- Electron Transport plots from PAOFLOW data
Supported File Types:
- Quantum ESPRESSO input or output
- POSCAR
- CIF (in progress)
- XSF
- BXSF (coming soon)
Requirements:
- python 3.8
- numpy 1.19
- matplotlib 3.5
- fury 0.8
Installation (only use --user if you do not have permission to install python packages):
python setup.py install
python setup.py install --user
Usage:
Display an atomic model from inputfile, with the examples/main.py script: python main.py
Control Inputs: 'u' : Toggle UI visibility 'a' : Toggle Axis visibility SHIFT + 's' : Take snapshot CTRL + 'w' : Exit Arrow Keys : Rotate model SHIFT + Arrow Keys : Translate camera CTRL + Arrow Keys (+ SHIFT) : Rotate (or Translate) in smaller steps
See examples directory for crystal and Brillouin zone plotting:
From scratch: python caffeine.py python silicon_fcc.py
From inputfile (with main.py script): python main.py python main.py <bond_length>
From inputfile (programmatic): python SnTe_2D.py python example_cif.py python example_qe_in.py python example_poscar.py
Relax QE outputfile: python example_relax.py
Charge Density: python example_charge_density.py
Reciprocal Space: python example_BZ.py
Fermi Surfaces: python example_fermi_surface1.py python example_fermi_surface2.py python example_fermi_surface_clip.py python example_colored_fermi_surface.py python example_textured_fermi_surface_clip.py