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_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

XtraCrysPy-0.7.7.tar.gz (26.8 kB view hashes)

Uploaded Source

Built Distributions

XtraCrysPy-0.7.7-py3.9.egg (75.0 kB view hashes)

Uploaded Source

XtraCrysPy-0.7.7-py3-none-any.whl (31.6 kB view hashes)

Uploaded Python 3

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