Skip to main content

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.

Alt text Alt text

Alt text Alt text

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


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

XtraCrysPy-0.7.8-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

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

Hashes for XtraCrysPy-0.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 96844c8fdd7e0f598c661c7094e5c294a092d4bfb865538a212975fffdf774bc
MD5 f0efdcb8feee471871e9a2d4f367fe79
BLAKE2b-256 5a7c6e3bad6ac9cfbc945e60b824b5f3b81251ec1b969102812ca38b4bd5c8a1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page