\(\newcommand{\AA}{\text{Å}}\)

CRYSTALClear.convert#

Functions that do conversion between data / file formats

cry_ase2gui(structure, gui_file=None, vacuum=None, symmetry=True)#

Transform an ASE Structure object into a Pymatgen structure object and then a CRYSTAL structure (gui) object. Vacuum layer is set to 500 Angstrom as the default of CRYSTAL for low symmstry systems

Parameters:
  • structure (ASE Structure) – ASE Structure object.

  • gui_file (str) – CRYSTAL gui / fort.34 file.

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the length of non-periodic direction to 500 Angstrom. Low dimensional systems only.

  • symmetry (bool) – Perform symmetry analysis.

cry_bands2pmg(band, output, labels=None)#

Transform a CRYSTAL bands object into a Pymatgen bands object. No projection is available for now.

Parameters:
  • band (str|Band) – CRYSTAL fort.25 or BAND.DAT file or CRYSTALClear Band object

  • output (str) – CRYSTAL properties output file

  • labels (list[str]) – K point labels to display in the band structure.

Returns:

BandStructureSymmLine – Pymatgen band structure object.

cry_gui2ase(gui, vacuum=None, **kwargs)#

Transform a CRYSTAL structure (gui) file into an ASE atoms object.

Parameters:
  • gui (str|Crystal_gui) – CRYSTAL gui / fort.34 file or CRYSTALClear gui object

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of ASE atoms object. Low dimensional systems only.

  • **kwargs – Passed to ASE Atoms constructor

Returns:

Atoms – ASE atoms object.

cry_gui2cif(gui, cif_file_name, vacuum=None, **kwargs)#

Read a CRYSTAL structure (gui) file and save a cif file. The CifWriter object of Pymatgen is called. By default, symprec = 0.01 is used.

Parameters:
  • gui (str|Crystal_gui) – CRYSTAL gui / fort.34 file or CRYSTALClear gui object

  • cif_file_name (str) – Name (including path) of the cif file to be saved

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of Pymatgen atoms object. Low dimensional systems only.

  • **kwargs – Passed to Pymatgen CifWriter.

cry_gui2pmg(gui, vacuum=None, molecule=True)#

Transform a CRYSTAL structure (gui) object into a Pymatgen Structure object.

Parameters:
  • gui (str|Crystal_gui) – CRYSTAL gui / fort.34 file or CRYSTALClear gui object

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of Pymatgen object. Low dimensional systems only.

  • molecule (bool) – Generate a Molecule Pymatgen object for 0D structures.

Returns:

Structure or Molecule – Pymatgen Structure or Molecule object.

cry_gui2xyz(gui, xyz_file_name, **kwargs)#

Transform a CRYSTAL structure (gui) file into an XYZ file.

Parameters:
  • xyz_file_name (str) – Name of the XYZ file to be saved.

  • gui (str) – CRYSTAL gui / fort.34 file.

  • **kwargs – Passed to Pymatgen XYZ object.

cry_out2ase(output, vacuum=None, initial=False, **kwargs)#

Transform a CRYSTAL output object into an ASE atoms object.

Parameters:
  • output (str|Crystal_output) – Crystal output file or Crystal_output object

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of ASE atoms object. Low dimensional systems only.

  • initial (bool) – Read the last geometry of the output file.

  • **kwargs – Passed to ASE Atoms constructor

Returns:

Atoms – ASE atoms object.

cry_out2cif(output, cif_file_name, vacuum=None, initial=False, **kwargs)#

Read geometry from a CRYSTAL output file and save it as a CIF file. The CifWriter object of Pymatgen is called. By default, symprec = 0.01 is used.

Parameters:
  • output (str|Crystal_output) – Crystal output file or Crystal_output object

  • cif_file_name (str) – Name (including path) of the CIF file to be saved.

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of Pymatgen atoms object. Low dimensional systems only.

  • initial (bool) – Read the last geometry of the output file.

  • **kwargs – Passed to Pymatgen CifWriter.

cry_out2pmg(output, vacuum=None, initial=False, molecule=True)#

Read geometry from a CRYSTAL output file and save it as a pymatgen structure object.

Parameters:
  • output (str|Crystal_output) – Crystal output file or Crystal_output object

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the pbc attribute of Pymatgen object. Low dimensional systems only.

  • initial (bool) – Read the last geometry of the output file.

  • molecule (bool) – Generate a Molecule Pymatgen object for 0D structures.

Returns:

Structure – Pymatgen Structure object.

cry_out2xyz(output, xyz_file_name, initial=False, **kwargs)#

Read geometry from a CRYSTAL output file and save it as an XYZ file.

Parameters:
  • output (str|Crystal_output) – Crystal output file or Crystal_output object

  • xyz_file_name (str) – Name (including path) of the XYZ file to be saved.

  • initial (bool) – Read the last geometry of the output file.

  • **kwargs – Passed to Pymatgen XYZ object.

cry_pmg2gui(structure, gui_file=None, pbc=None, vacuum=None, symmetry=True, zconv=None, **kwargs)#

Save a pymatgen Structure object into a CRYSTAL gui file. Vacuum layer is set to 500 Angstrom as the default of CRYSTAL for low symmstry systems.

Parameters:
  • structure (Structure | Molecule) – Pymatgen Structure / Molecule object.

  • gui_file (str) – CRYSTAL gui / fort.34 file.

  • pbc (list) – 1*3 boolian list. Implements periodicity along x, y and z directions. If none, the code will read it from input structure.

  • vacuum (float) – Vacuum distance. Unit: Angstrom. If none, set the length of non-periodic direction to 500 Angstrom. Low dimensional systems only.

  • symmetry (bool) – Do symmetry analysis.

  • zconv (list[list[int, int]]) – 1st element: The index of atom; 2nd element: The new conventional atomic number.

  • **kwargs – Passed to Pymatgen SpacegroupAnalyzer object. Valid only if symmetry=True.