A Python tool for visualizing atomic systems and properties of condensed matter.
Project description
XtraCrysPy
A Python tool for visualizing atomic systems and spatial properties of condensed matter.
Features:
- Plot molecular systems with minimal setup
- Plot systems from DFT or MD input/output files
- Interact with the system to caluclate distances, angles, or receive atomic information
- Display relaxation or MD steps from QE relax output or LAMMPS trajectory files. (CP2K xyz coming soon)
- Display reciprocal space features
- Plot real space iso-surfaces (charge density, etc)
- Plot reciprocal iso-surfaces (Fermi surface, spin-texture, etc)
Supported File Types:
- Quantum ESPRESSO input or output
- POSCAR
- CIF
- XSF
- CP2K
- BXSF (coming soon)
- Any ASE supported format
Requirements:
- python 3.8
- numpy 1.19
- fury 0.8 (Use the latest GitHub commit. The latest release contains a bug with cylinder orientation used for drawing bonds.)
- ase
Installation:
INSTALLATION NOTE: Use FURY master branch from GitHub. The latest release contains a bug causing misaligned cylinder orientation. (only use --user if you do not have permission to install python packages)
- python setup.py install
- python setup.py install --user
Control Inputs:
- 'u' : Toggle UI visibility
- 'a' : Toggle Axis visibility
- 'b' : Toggle Boundary visiblity
- '>' : Step forward in relax or MD
- '<' : Step backward in relax or MD
- CTRL + ('>' or '<') : Step 5% through the relaxation or MD steps
- SHIFT + 'c' : Reset camera to default position
- 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
Display an atomic model from inputfile, with the examples/main.py script:
- python main.py <input_file>
- python main.py <input_file> <bond_distance>
Examples:
Available in the examples directory
From scratch:
- python caffeine.py
- python silicon_fcc.py
From inputfile (with main.py script):
- python main.py <input_file>
- python main.py <input_file> <bond_distance>
From inputfile (programmatic):
- python SnTe_2D.py
- python example_cif.py
- python example_cp2k.py
- python example_qe_in.py
- python example_poscar.py
Relax QE outputfile:
- python example_relax.py
LAMMPS MD trajectory:
- python example_lammps_md.py
Charge Density:
- python example_charge_density.py
Reciprocal Space:
- python example_BZ.py
Fermi Surfaces:
- python example_isosurface1.py
- python example_isosurface2.py
- python example_isosurface_clip.py
- python example_colored_isosurface.py
- python example_textured_isosurface_clip.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file XtraCrysPy-0.7.8-py3-none-any.whl
.
File metadata
- Download URL: XtraCrysPy-0.7.8-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96844c8fdd7e0f598c661c7094e5c294a092d4bfb865538a212975fffdf774bc |
|
MD5 | f0efdcb8feee471871e9a2d4f367fe79 |
|
BLAKE2b-256 | 5a7c6e3bad6ac9cfbc945e60b824b5f3b81251ec1b969102812ca38b4bd5c8a1 |