schrodinger.application.matsci.espresso.qeinput module

Classes and functions to deal with XML input generation for Quantum Espresso.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.matsci.espresso.qeinput.DataType(engine, path)

Bases: tuple

engine

Alias for field number 0

path

Alias for field number 1

schrodinger.application.matsci.espresso.qeinput.b2fs(val)

Convert from bool to fortran bool string.

Parameters

val (bool) – Value to convert

Return type

str

Returns

Converted bool

schrodinger.application.matsci.espresso.qeinput.validate_value(name, value, allowed_values)

Check that value is in list of allowed values.

Parameters
  • name (str) – Name of the variable

  • value (str or int or float) – Value of the variable

  • allowed_values (list) – List of values

Raises

ValueError – If value is not in list

class schrodinger.application.matsci.espresso.qeinput.GenericType

Bases: object

Generic class for different input types.

__init__()

Initialize GenericType object and update attributes from data.

updateWithData(data)

Update attributes from data. Set object attribute from data. Example: self.attribute = self.data.get(attribute)

Parameters

data (dict) – Dictionary of settings

class schrodinger.application.matsci.espresso.qeinput.BandsType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to bands.

TOT_CHARGE_KEY = 'total_charge'
TOT_MAG_KEY = 'total_magnetization'
MIN_EMPTY_BANDS = 10
DEFAULTS = {'nbnd': 0, 'nbnd_empty_percent': 20.0, 'occupations': 'smearing', 'smearing_degauss': 0.01, 'smearing_type': 'gaussian', 'total_charge': 0.0, 'total_magnetization': -10000.0}
__init__()

Initialize object.

setNBands(nbands)

Set _nbands. This is different than self.nbdn. nbnd is coming from the CFG, this value can come from other places, like PPs.

Parameters

nbands (int) – Number of bands

getNbnd()

Get nbnb value.

Raises

ValueError – If number of bands is zero or None (boolean False)

Return int nbnd

Number of bands

strIn(nbnd)

Generate .in block.

Parameters

nbnb (int) – Number of bands

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.BasisType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to basis.

GAMMA_ONLY_KEY = 'gamma_only'
SPLINE_PS_KEY = 'spline_ps'
DEFAULTS = {'ecutrho': 0.0, 'ecutwfc': 0.0, 'fft_grid': [], 'fft_smooth_grid': [], 'gamma_only': False, 'spline_ps': False}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.ElectronControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to electron control.

STARTINGPOT_KEY = 'startingpot'
STARTINGWFC_KEY = 'startingwfc'
DEFAULTS = {'conv_thr': 1e-06, 'diago_cg_maxiter': 20, 'diago_full_acc': False, 'diago_thr_init': 0.0, 'diagonalization': 'davidson', 'max_steps': 100, 'mixing_beta': 0.7, 'mixing_mode': 'plain', 'mixing_ndim': 8, 'real_space_q': False, 'startingpot': None, 'startingwfc': None}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.KpointsType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to k-points.

KPTS_MESH_KEY = 'kpts_mesh'
AUTOMATIC_BAND = 'automatic'
DEFAULTS = {'kpts_band': False, 'kpts_band_line_density': 20, 'kpts_dens': 0, 'kpts_dens_force_gamma': False, 'kpts_list': [], 'kpts_mesh': [6, 6, 6, 1, 1, 1], 'kpts_spacing': 0, 'kpts_spacing_force_gamma': False}
KPTS_TYPES = {'kpts_band', 'kpts_dens', 'kpts_list', 'kpts_mesh', 'kpts_spacing'}
loadFromStructure(struct, use_symmetry)

Load data from structure.

Parameters
  • struct (structure.Structure) – Structure used for k-point generation

  • use_symmetry (bool) – If true use the symmetry

static getSpgSymbol(struct, use_symmetry)

Given a structure get its space group.

Parameters
  • struct (structure.Structure) – Input structure

  • use_symmetry (bool) – Whether to convert to conventional cell and reassign the space group

static getMeshShift(do_shift)

Get MP mesh shift.

Parameters

do_shift (bool) – Whether to do shift or not (Gamma centered)

Return type

list[int]

Returns

K-point mesh shift

getFromSpacing(spacing, force_gamma=False)

Get MP mesh from K-point spacing.

Parameters
  • spacing (float) – K-point spacing in 1/A

  • force_gamma (bool) – If True, enforce Gamma-centered mesh

Return type

list of 6 floats

Returns

First 3 floats represent the number of kpoints in grid directions, next 3 floats, offsets in the corresponding direction

getNKpts()

Get total number of k-points based on k-points definition. If k-points type is defined, throw a ValueError.

Return type

int

Returns

Number of k-points

Raises

ValueError – If k-points type is not defined

matdynStr()

Get kpoint list suitable for matdyn input.

Return type

str

Returns

Kpoint list

static kptsMeshStr(kpts_mesh)

Convert K-points mesh to string.

Parameters

kpts_mesh (list[int]) – K-points mesh with shifts

Return type

str

Returns

K-points mesh string

static kptsListStr(kpts_list, with_weight=True)

Convert K-points list to string.

Parameters

kpts_list (list) – K-points list

Return type

str

Returns

K-points list string

class schrodinger.application.matsci.espresso.qeinput.SpinType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to spin.

DEFAULTS = {'spin_type': 'cs'}
SPIN_NON_LSDA_ID = 1
SPIN_LSDA_ID = 2
__init__()

Initialize SpinType object from string.

Parameters

data (dict) – Dictionary of settings

getNSpin()

Get nspin based on the spin settings.

Returns

Spin type in the PW integer representation

Return type

int

static strIn(spin_type)

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.VdwType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to vdw type.

DFTD3_TBD_KEY = 'dftd3_threebody'
DEFAULTS = {'correction': '', 'dftd3_threebody': True, 'dftd3_version': 3, 'london_rcut': 200, 'london_s6': 0.75, 'xdm_a1': 0.6836, 'xdm_a2': 1.5045}
__init__()

Initialize VdwType object from dictionary.

Parameters

data (dict) – Dictionary of settings

strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.HybridType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to hybrid functional type.

SCREEN_PARAM_KEY = 'screening_parameter'
DEFAULTS = {'ecutfock': None, 'ecutvcut': 0.7, 'exxdiv_treatment': 'gygi-baldereschi', 'qpts_mesh': [1, 1, 1], 'qpts_spacing': 0.0, 'screening_parameter': 0.106, 'x_gamma_extrapolation': True}
__init__()

Initialize object.

loadFromStructure(struct, use_symmetry)

Load data from structure.

Parameters
  • struct (structure.Structure) – Structure used for k-point generation

  • use_symmetry (bool) – If true use the symmetry

setLRC(is_lrc)

Set _is_lrc value.

Parameters

is_lrc (bool) – Whether this belongs to LRC or hybrid functional

strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.DftUType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to Dft U.

DEFAULTS = {'dftu_type': '', 'projection_type': 'atomic', 'structure_type': None}
static strIn(mag_species, projection_type)

Generate HUBBARD .in block.

Parameters
  • mag_species (qeu.MagSpecies) – Mag species of the structure

  • projection_type (str) – Projection type

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.DftType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to dft type.

DEFAULTS = {'dftu': {'dftu_type': '', 'projection_type': 'atomic', 'structure_type': None}, 'functional': '', 'hybrid': {'ecutfock': None, 'ecutvcut': 0.7, 'exxdiv_treatment': 'gygi-baldereschi', 'qpts_mesh': [1, 1, 1], 'qpts_spacing': 0.0, 'screening_parameter': 0.106, 'x_gamma_extrapolation': True}, 'vdw': {'correction': '', 'dftd3_threebody': True, 'dftd3_version': 3, 'london_rcut': 200, 'london_s6': 0.75, 'xdm_a1': 0.6836, 'xdm_a2': 1.5045}}
property vdw
property hybrid

Get hybrid attribute (self._hybrid).

Returns

Hybrid attribute

Return type

HybridType

property dftu

Get DftU attribute from self._dftu.

Returns

Hybrid attribute

Return type

HybridType

class schrodinger.application.matsci.espresso.qeinput.PseudopotentialsType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to pseudopotentials.

DEFAULTS = {'species': {}}
setStructureType(struct_type)

Set structure_type in self.struct_type and atom types in self.st_species.

Parameters

struct_type (StructureType) – Structure type used to calculate number of valence electrons in the cell

getData()

Get pseudopotentials file paths and other related data from the database having the same functional and family.

Return type

dict, float, float, float

Returns

Dict with paths to PPs ({‘element’: ‘path’}), number of valence electrons, max ecutwfc, max ecutrho for elements

class schrodinger.application.matsci.espresso.qeinput.StructureType(structs, to_primitive, *, niggli_reduce=False, log=None)

Bases: object

Class to generate QE input XML section related to structure.

X = 0
Y = 1
Z = 2
__init__(structs, to_primitive, *, niggli_reduce=False, log=None)

Initialize StructureType object.

Parameters
  • struct – Structure(s) to generate XML from

  • to_primitive (bool or None) – Whether to use primitive (True), conventional (False), don’t run spglib (None)

  • niggli_reduce (bool) – Whether to Niggli reduce cell

static getSymmetrizedCell(struct, space_group, to_primitive, *, niggli_reduce=False, log=None)

Get symmetrized cell using spglib.

Parameters
  • struct (structure.Structure) – Input structure

  • space_group (str) – Space group

  • to_primitive (bool) – Whether to obtain primitive (True) or conventional (False)

  • niggli_reduce (bool) – Whether to Niggli reduce cell

  • log (method) – Log function

getAtomicStructureIn()

Get ATOMIC_POSITIONS and CELL blocks.

Return type

str

Returns

.in string block

getAtomicStructure()

Generate XML input related to atomic_structure.

Return type

str

Returns

cell xml data

getStartingMagDotIn()

Get starting_magnetization lines.

Return type

str

Returns

.in string block

static getAtomicSpeciesIn(ppfiles, mag_species)

Get ATOMIC_SPECIES block.

Parameters
  • dict({str – str}) ppfiles: Dictionary containing paths to PPs ({‘Element’: ‘Path’})

  • mag_species (qeu.MagSpecies) – Mag species of the structure

Return type

str

Returns

.in string block

getAtomicSpecies(ppfiles)

Generate XML input related to atomic species.

Param

Dictionary containing paths to PPs ({‘Element’: ‘Path’})

Return type

str

Returns

species xml data

fetchPPDB(functional)

Get pseudopotentials file paths and other related data from the database having the same functional and family.

Parameters

functional (str) – DFT Functional (one of the DFT_FUNCTIONALS)

Return type

dict, float, float, float

Returns

Dict with paths to PPs ({‘element’: ‘path’}), number of valence electrons, max ecutwfc, max ecutrho for elements

alignStructWithPlane(vector_index)

Slide structure (self.struct) along the axis such that all atoms are on top of the plane perpendicular to the axis defined by vector_index.

Parameters

vector_index (int) – Vector index (X or Y or Z) to align structure to the perpendicular plane

validateStruct(struct)

Validate provided structure against self.struct.

Parameters

struct (schrodinger.structure.Structure) – Structure to validate

Raises

ValueError – If number of atoms or atomic types differ compared to the initial structure (self.structure)

class schrodinger.application.matsci.espresso.qeinput.ControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to control.

FORCES_KEY = 'forces'
RESTART_MODE_KEY = 'restart_mode'
DEFAULTS = {'calculation_type': '', 'disk_io': 'low', 'etot_conv_thr': 1e-05, 'forc_conv_thr': 0.001, 'forces': False, 'max_retries': None, 'max_seconds': 10000000.0, 'no_fail': False, 'prefix': '', 'press_conv_thr': 0.5, 'relax_steps': 50, 'restart_mode': 'from_scratch', 'retry_preempted': False, 'stress': False, 'title': 'Default Title', 'wall_time': 0, 'wf_collect': False, 'wf_keep': False}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.SymmetryType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to symmetry.

USE_SYMM_KEY = 'use_symmetry'
USE_PRIM_KEY = 'use_primitive'
USE_CONV_KEY = 'use_conventional'
NIGGLI_REDUCE = 'niggli_reduce'
USE_ALL_FRAC_KEY = 'use_all_frac'
NO_INV_KEY = 'noinv'
DEFAULTS = {'niggli_reduce': False, 'noinv': False, 'use_all_frac': False, 'use_conventional': False, 'use_primitive': False, 'use_symmetry': False}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.FreePositionsType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to Cartesian atomic constraints.

DEFAULTS = {}
class PWallType(prefac, expval, cutoff)

Bases: tuple

cutoff

Alias for field number 2

expval

Alias for field number 1

prefac

Alias for field number 0

static saveConstraint(data, atom)

Static method to save Cartesian atomic constraint.

Parameters
  • data (list of 3 integers) – Cartesian constraints for each coordinate: 1 - not constrained, 0 - constrained (QE convention)

  • atom (structure._StructureAtom) – Atom to add/modify constraint to

Raises

ValueError – If data is not a list of 3 elements

static savePotentialWallConstraint(struct, prefac, expval, cutoff)

Save potential wall constraint. External force = prefac * exponent * Exp(-exponent). Force is only applied on atoms within the cutoff.

Parameters
  • struct (structure.Structure) – Structure to add constraint to as a property

  • prefac (float) – Prefactor

  • expval (float) – Exponent value

  • cutoff (float) – Cutoff (in A)

static getPotentialWallConstraint(struct)

Get potential wall constraint if present from the structure.

Parameters

struct (structure.Structure) – Structure to read from

Return type

str, PWallType

Returns

Potential wall barrier XML string or empty string, wall params or None

static saveTorsionConstraint(struct, indices)

Static method to save torsion angle constraint.

Parameters
  • struct (structure.Structure) – Structure to add constraint to as a property

  • indices (list) – Atomic indices that describe a torsion angle

Raises

ValueError – If data is not a list of 3 elements

static getTorsionConstraint(struct)

Get torsion constraints if present from the structure.

Parameters

struct (structure.Structure) – Structure to read from

Return type

str, int

Returns

Torsion constraints XML string and number of constraints

static saveDistanceConstraint(struct, indices, target=None)

Save distance constraint.

Parameters
  • struct (structure.Structure) – Structure to add constraint to as a property

  • indices (list) – Atomic indices to use (2 atoms are required)

  • target (float) – Target distance in Angstrom

Raises

ValueError – If indices is not an list of 2

static getDistanceConstraint(struct)

Get distance constraints if present from the structure.

Parameters

struct (structure.Structure) – Structure to read from

Return type

str, int

Returns

Distance constraints XML string, number of constraints

class schrodinger.application.matsci.espresso.qeinput.InputType(data)

Bases: object

Class to generate QE input XML section related to input.

__init__(data)

Initialize InputType object from the string.

Param

Tuple that contains XML for different part of the input

class schrodinger.application.matsci.espresso.qeinput.NEBInputType(data)

Bases: schrodinger.application.matsci.espresso.qeinput.InputType

Class to generate QE input XML section related to NEB input.

strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.PHInputType(data)

Bases: schrodinger.application.matsci.espresso.qeinput.InputType

Class to generate QE input XML section related to PHonon input.

class schrodinger.application.matsci.espresso.qeinput.MdType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate XML section related to MD control.

DEFAULTS = {'deltat': 1.0, 'ion_temperature': 'rescale-v', 'nraise': 1, 'pot_extrapolation': 'atomic', 'tempw': 300.0, 'timestep': 2.0, 'wfc_extrapolation': 'none'}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

property dt_au
class schrodinger.application.matsci.espresso.qeinput.IonControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE ionic control XML section related to control.

ION_DYNAMICS_KEY = 'ion_dynamics'
REFOLD_POS_KEY = 'refold_pos'
DEFAULTS = {'dynamics': {'deltat': 1.0, 'ion_temperature': 'rescale-v', 'nraise': 1, 'pot_extrapolation': 'atomic', 'tempw': 300.0, 'timestep': 2.0, 'wfc_extrapolation': 'none'}, 'ion_dynamics': 'bfgs', 'refold_pos': False}
property dynamics

Getter for the dynamics attribute.

Return type

MdType

Returns

dynamics object

strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.CellControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE cell control XML section related to control.

CELL_DYNAMICS_KEY = 'cell_dynamics'
PRESSURE_KEY = 'pressure'
CELL_FACTOR_KEY = 'cell_factor'
CELL_DOFREE_KEY = 'cell_dofree'
REINIT_GVECS = 'reinit_gvecs'
DEFAULTS = {'cell_dofree': 'all', 'cell_dynamics': 'bfgs', 'cell_factor': 2.0, 'pressure': 0.0, 'reinit_gvecs': False}
CELL_DOFREE_XML = {'2Dshape': 'fix_area', '2Dxy': 'fix_xy', 'shape': 'fix_volume', 'volume': 'isotropic'}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.EsmType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to esm type.

BC_KEY = 'bc'
BC_W_KEY = 'offset'
BC_EFIELD_KEY = 'efield'
DEFAULTS = {'bc': 'bc1', 'efield': 0.0, 'offset': 0.0}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.BoundaryType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to boundary conditions type.

ASSUME_ISOLATED_KEY = 'assume_isolated'
ESM_KEY = 'esm'
EFERMI_KEY = 'efermi'
RELATIVE_POT_KEY = 'relative_pot'
DEFAULTS = {'assume_isolated': '', 'efermi': 0.0, 'esm': {'bc': 'bc1', 'efield': 0.0, 'offset': 0.0}, 'relative_pot': None}
property esm

Getter for the esm attribute.

Return type

EsmType

Returns

esm object

property lfcp

Return lfcp string in the direct input only.

Return type

str

Returns

lfcp string

property fcp

Return &FCP block string (if needed) in the direct input only.

Return type

str

Returns

&FCP block string, empty string if not needed

class schrodinger.application.matsci.espresso.qeinput.NEBPathType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate QE input XML section related to the NEB path.

MIMAGE_KEY = 'minimum_image'
NIMAGE_KEY = 'nimages'
DEFAULTS = {'climbing_image': 'no-CI', 'esm': False, 'esm_efermi': 0.0, 'esm_first_image_charge': 0.0, 'esm_last_image_charge': 0.0, 'minimum_image': True, 'nimages': 4, 'nsteps': 50, 'optimization_scheme': 'broyden', 'optimize_first_last': False, 'path_thr': 0.05, 'restart_mode': 'from_scratch', 'string_method': 'neb', 'use_masses': False}
strIn()

Generate .in block.

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.PHControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate phonon control input XML section related to control.

QPTS_MESH_KEY = 'qpts_mesh'
QPTS_SPACING_KEY = 'qpts_spacing'
START_IRR_KEY = 'start_irr'
LAST_IRR_KEY = 'last_irr'
RECOVER_KEY = 'recover'
ONLY_INIT = 'only_init'
DEFAULTS = {'alpha_mix': 0.7, 'epsil': None, 'fpol': None, 'last_irr': None, 'ldisp': True, 'lraman': None, 'niter_ph': 100, 'nmix_ph': 4, 'only_init': None, 'prefix': '', 'qpts_mesh': [1, 1, 1], 'recover': None, 'start_irr': None, 'tr2_ph': 1e-12, 'trans': True, 'zeu': None, 'zue': None}
setStructure(struct)

Copy structure into self.struct.

Parameters

struct (structure.Structure) – Structure used for k-point generation (‘kpts_dens’ case)

static getTodoAtoms(struct)

Given a structure, get atom indices that are not completely fixed.

Parameters

struct (structure.Structure) – Input structure

Return type

list[int]

Returns

Sorted unique atom indices that are not completely fixed

strIn(nat_todo)

Generate .in block.

Parameters

nat_todo (list[int]) – Atom indices that are not completely fixed

Return type

str

Returns

.in string block

class schrodinger.application.matsci.espresso.qeinput.PHDynmatType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Class to generate dynmat control input.

DEFAULTS = {'asr': None, 'axis': None, 'loto_2d': None, 'lperm': None, 'lplasma': None, 'q_dir': [0, 0, 0], 'remove_interaction_blocks': None}
setRemoveIntBlocksFromStruct(struct)

Check if the structure has any atoms fixed, in this case enable remove_interaction_blocks option.

class schrodinger.application.matsci.espresso.qeinput.ElasticType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Elastic settings class.

STRAIN_DEFO_KEY = 'deformation_matrix'
DEFAULTS = {'deformation_matrix': []}
class schrodinger.application.matsci.espresso.qeinput.ElasticControlType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Elastic control class.

NORM_STRAINS_KEY = 'norm_strains'
SHEAR_STRAINS_KEY = 'shear_strains'
DEFAULTS = {'norm_strains': [-0.01, -0.005, 0.005, 0.01], 'shear_strains': [-0.06, -0.03, 0.03, 0.06]}
class schrodinger.application.matsci.espresso.qeinput.GIPAWType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

gipaw.x input file class.

JOBTYPE = 'jobtype'
Q_GIPAW = 'q_gipaw'
SPLINE_PS = 'spline_ps'
USE_NMR_MACROSCOPIC_SHAPE = 'use_nmr_macroscopic_shape'
DIAG = 'diagonalization'
DIAG_TYPE = {'Conjugate Gradient': 'cg', 'Davidson': 'david'}
DEFAULTS = {'diagonalization': 'david', 'jobtype': 'nmr', 'q_gipaw': 0.01, 'spline_ps': True, 'use_nmr_macroscopic_shape': False}
class schrodinger.application.matsci.espresso.qeinput.EpsilonType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Epsilon.x input file class.

SMEARTYPES = ['lorentz', 'gauss']
CALCULATIONS = ['eps', 'jdos', 'offdiag']
INTERSMEAR_KEY = 'intersmear'
INTRASMEAR_KEY = 'intrasmear'
DEFAULTS = {'calculation': 'eps', 'intersmear': 0.136, 'intrasmear': 0.0, 'nw': 60, 'prefix': '', 'shift': 0.0, 'smeartype': 'lorentz', 'wmax': 30.0, 'wmin': 0.0}
class schrodinger.application.matsci.espresso.qeinput.PPlotType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

pp.x input file class.

DEFAULTS = {'plot_num': 0, 'spin_component': 0}
class schrodinger.application.matsci.espresso.qeinput.HPType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

hp.x input file class.

QPTS_MESH_KEY = 'qpts_mesh'
QPTS_SPACING_KEY = 'qpts_spacing'
DISABLE_TYPE_KEY = 'disable_type_analysis'
DEFAULTS = {'disable_type_analysis': True, 'qpts_mesh': [2, 2, 2], 'qpts_spacing': 0}
class schrodinger.application.matsci.espresso.qeinput.TurboLanczosType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

turbo_lanczos.x input file class.

ITERMAX = 'itermax'
IPOL = 'ipol'
DEFAULTS = {'ipol': 4, 'itermax': 500}
class schrodinger.application.matsci.espresso.qeinput.TurboEelsType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

turbo_eels.x input file class.

APPROX = 'approximation'
ITERMAX = 'itermax'
Q_MESH = 'q_mesh'
CALC = 'calculator'
DEFAULTS = {'approximation': 'TDDFT', 'calculator': 'lanczos', 'itermax': 500, 'q_mesh': [0.1, 0, 0]}
class schrodinger.application.matsci.espresso.qeinput.TurboSpectrumType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

turbo_spectrum.x input file class.

ITERMAX = 'itermax'
ITERMAX0 = 'itermax0'
IPOL = 'ipol'
EELS = 'eels'
UNITS = 'units'
INC = 'increment'
START = 'start'
END = 'end'
DEFAULTS = {'eels': False, 'end': 2.5, 'increment': 0.001, 'ipol': 4, 'itermax': 500, 'itermax0': 500, 'start': 0.0, 'units': 0}
class schrodinger.application.matsci.espresso.qeinput.CustomNEBType(method: str = 'improvedtangent', opt_method: str = 'ode', nsteps: int = 50, path_thr: float = 0.05, climb: bool = True, use_pot: bool = True, use_wfc: bool = False)

Bases: NamedTuple

Tuple to hold custom neb input.

method: str

Alias for field number 0

opt_method: str

Alias for field number 1

nsteps: int

Alias for field number 2

path_thr: float

Alias for field number 3

climb: bool

Alias for field number 4

use_pot: bool

Alias for field number 5

use_wfc: bool

Alias for field number 6

class schrodinger.application.matsci.espresso.qeinput.DimerNEBType(nsteps: int = 50, max_force_thr: float = 0.05)

Bases: NamedTuple

Tuple to hold dimer NEB input.

nsteps: int

Alias for field number 0

max_force_thr: float

Alias for field number 1

class schrodinger.application.matsci.espresso.qeinput.CustomMDType

Bases: schrodinger.application.matsci.espresso.qeinput.GenericType

Type to hold custom MD options.

DEFAULTS = {'dft_only': False}