ES Interface
Each of the interfaces uses subclass of the DFTCoordinates
class to parse the output.
Note
The interfaces are in beta stage. Please let us know if you encounter any errors.
Quantum Espresso
- class PWCoordinates(filename, pwtype=None, to_angstrom=False)
Coordinates of the system from the PW data of Quantum Espresso. Subclass of the DFTCoordinates.
With initiallization reads either output or input of PW module of QE.
- Parameters
filename (str) – name of the PW input or output.
pwfile (str) – Name of PW input or output file. If the file doesn’t have proper extension, parameter pw_type should indicate the type.
pwtype (str) – Type of the coord_f. if not listed, will be inferred from extension of pwfile.
to_angstrom (bool) – True if automatically convert the units of
cell
andcoordinates
to Angstrom.
- parse_output(filename, to_angstrom=False)
Method to read coordinates of atoms from PW output into the PWCoordinates instance.
- Parameters
filename (str) – the name of the output file.
to_angstrom (bool) – True if automatically convert the units of
cell
andcoordinates
to Angstrom.
- Returns
None
- parse_input(filename, to_angstrom=False)
Method to read coordinates of atoms from PW input into the PWCoordinates instance.
- Parameters
filename (str) – the name of the output file.
to_angstrom (bool) – True if automatically convert the units of
cell
andcoordinates
to Angstrom.
- cell_from_system(sdict)
Function to obtain cell from namelist SYSTEM read from PW input.
- Parameters
sdict (dict) – Dictinary generated from namelist SYSTEM of PW input.
- Returns
Cell is 3x3 matrix with entries:
[[a_x b_x c_x] [a_y b_y c_y] [a_z b_z c_z]],
where a, b, c are crystallographic vectors, and x, y, z are their coordinates in the cartesian reference frame.
- Return type
ndarray with shape (3,3)
- celldms_from_abc(ibrav, abc_list)
Obtain celldms from ibrav value and a, b, c, cosab, cosac, cosbc parameters.
Using ibrav value and abc parameters from PW input generate celldm array, necessary to construct cell parameters. For details about abc and ibrav values see PW input documentation.
- Parameters
ibrav (int) – ibrav parameter of PW input.
abc_list (list) – List, of 6 parameters: a, b, c, cosab, cosac, cosbc
- Returns
list of 6 values, from which cell can be generated.
- Return type
celldm (list)
- read_gipaw_tensors(lines, keyword=None, start=None, conversion=1)
Helper function to read GIPAW tensors from the list of lines.
- Parameters
lines (list of str) – List of strings contraining lines from the file. Output of open(file).readlines().
keyword (str) – Keyword in the line which indicates the beginning of the tensor data block.
start (int) – Index of the line which indicates the beginning of the tensor data block.
conversion (float) – Conversion factor from GIPAW units to the ones, used in this package.
- Returns
Array of tensors.
- Return type
ndarray with shape (n, 3, 3)
- read_hyperfine(filename, spin=1)
Function to read hyperfine couplings from GIPAW output.
- Parameters
filename (str) – Name of the GIPAW hyperfine output.
spin (float) – Spin of the central spin. Default 1.
- Returns
Tuple containing:
ndarray with shape (n,): Array of Fermi contact terms.
ndarray with shape (n, 3,3): Array of spin dipolar hyperfine tensors.
- Return type
tuple
- read_efg(filename)
Function to read electric field gradient tensors from GIPAW output.
- Parameters
filename (str) – Name of the GIPAW EFG-containing output.
- Returns
Array of EFG tensors.
- Return type
ndarray with shape (n, 3,3)
- read_qe_namelists(input_string)
Read Fortran-like namelists from the large string.
- Parameters
input_string (str) – String representation of the QE input file.
- Returns
Dictionary, containing dicts for each namelist found in the input string.
- Return type
dict
- get_ctype(lin)
Get coordinates type from the line of QE input/output.
- Parameters
str – Line from QE input/output containing string with coordinates type.
- Returns
type of the coordinates.
- Return type
str
ORCA
- class ORCACoordinates(orca_output)
Coordinates of the system from the ORCA output. Subclass of the DFTCoordinates.
With initialization reads output of the ORCA.
- Parameters
orca_output (str or list of str) – either name of the output file or list of lines read from that file.
- alat
The lattice parameter in angstrom.
- Type
float
- cell
cell is 3x3 matrix with entries:
\[\begin{split}[&[a_x\ b_x\ c_x]\\ &[a_y\ b_y\ c_y]\\ &[a_z\ b_z\ c_z]]\end{split}\]where a, b, c are crystallographic vectors, and x, y, z are their coordinates in the cartesian reference frame.
- Type
ndarray with shape (3, 3)
- coordinates
array with the coordinates of atoms in the cell.
- Type
ndarray with shape (n, 3)
- names
array with the names of atoms in the cell.
- Type
ndarray with shape (n,)
- cell_units
Units of cell coordinates: ‘bohr’, ‘angstrom’, ‘alat’.
- Type
str
- coordinates_units
Units of atom coordinates: ‘crystal’, ‘bohr’, ‘angstrom’, ‘alat’.
- Type
str
- read_output(orca_output)
Method to read coordinates of atoms from ORCA output into the ORCACoordinates instance.
- Parameters
orca_output (str or list of str) – either name of the output file or list of lines read from that file.
Base class
- class DFTCoordinates
Abstract class of a container of the DFT output coordinates.
- alat
The lattice parameter in angstrom.
- Type
float
- cell
cell is 3x3 matrix with entries:
\[\begin{split}[&[a_x\ b_x\ c_x]\\ &[a_y\ b_y\ c_y]\\ &[a_z\ b_z\ c_z]]\end{split}\]where a, b, c are crystallographic vectors and x, y, z are their coordinates in the cartesian reference frame.
- Type
ndarray with shape (3, 3)
- coordinates
Array with the coordinates of atoms in the cell.
- Type
ndarray with shape (n, 3)
- names
Array with the names of atoms in the cell.
- Type
ndarray with shape (n,)
- cell_units
Units of cell coordinates: ‘bohr’, ‘angstrom’, ‘alat’.
- Type
str
- coordinates_units
Units of atom coordinates: ‘crystal’, ‘bohr’, ‘angstrom’, ‘alat’.
- Type
str
- to_angstrom(inplace=False)
Method to transform cell and coordinates units to angstroms.
- Parameters
inplace (bool) – if True changes attributes inplace. Otherwise returns copy.
- Returns
Instance of the subclass with units of coordinates and cell of Angstroms.
- Return type
DFTCoordinates or subclass
- get_angstrom(coordinate, units)
Change given coordinates to angstrom.
- Parameters
coordinates (ndarray with shape (n, 3) or (3,)) – Coordinates to change.
units (str) – Initial units of the coordinates.
- Returns
Coordinates in angstrom.
- Return type
ndarray (n, 3)
- change_to_angstrom(coordinates, units, alat=None, cell=None)
Change coordinates to angstrom.
- Parameters
coordinates (ndarray with shape (n, 3) or (3,)) – Coordinates to change.
units (str) – Initial units of the coordinates.
alat (float) – The lattice parameter in angstrom.
cell (ndarray with shape (3,3)) –
cell is 3x3 matrix with entries:
\[\begin{split}[&[a_x\ b_x\ c_x]\\ &[a_y\ b_y\ c_y]\\ &[a_z\ b_z\ c_z]]\end{split}\]where a, b, c are crystallographic vectors, and x, y, z are their coordinates in the cartesian reference frame.
- Returns
Coordinates in angstrom.
- Return type
ndarray with shape (n, 3)
- fortran_value(value)
Get value from Fortran-type variable.
- Parameters
value (str) – Value read from Fortran-type input.
- Returns
value in Python format.
- Return type
value (bool, str, float)
- yield_index(word, lines, start=0, case_sensitive=False)
Generator which yields indexes of the lines containing specific word.
- Parameters
word (str) – Word to find in the line.
lines (list of str) – List of strings contraining lines from the file. Output of open(file).readlines().
start (int) – First index from which to start search.
case_sensitive (bool) – If True looks for the exact match. Otherwise the search is case insensitive.
- Yields
i (int) – Index of the line containing word.
- find_first_index(word, lines, start=0, case_sensitive=False)
Function to find first appearance of the index in the list of lines.
- Parameters
word (str) – Word to find in the line.
lines (list of str) – List of strings contraining lines from the file. Output of open(file).readlines().
start (int) – First index from which to start search.
case_sensitive (bool) – If True looks for the exact match. Otherwise the search is case insensitive.
- Returns
Index of the first line from the start containing word.
- Return type
i (int)
- set_isotopes(array, isotopes=None, inplace=True, spin_types=None)
Function to set the most common isotopes for the array containing DFT output. If some other isotope is specified, the A tensors are scaled accordingly.
- Parameters
- Returns
Array with DFT spins with correct isotopes.
- Return type
array (BathArray)