Source code for aiida_quantumespresso.common.types

# -*- coding: utf-8 -*-
"""Module with common data types."""
import enum


[docs]class ElectronicType(enum.Enum): """Enumeration to indicate the electronic type of a system."""
[docs] METAL = 'metal'
[docs] INSULATOR = 'insulator'
[docs] AUTOMATIC = 'automatic'
[docs]class RelaxType(enum.Enum): """Enumeration of known relax types."""
[docs] NONE = 'none' # All degrees of freedom are fixed, essentially performs single point SCF calculation
[docs] POSITIONS = 'positions' # Only the atomic positions are relaxed, cell is fixed
[docs] VOLUME = 'volume' # Only the cell volume is optimized, cell shape and atoms are fixed
[docs] SHAPE = 'shape' # Only the cell shape is optimized at a fixed volume and fixed atomic positions
[docs] CELL = 'cell' # Only the cell is optimized, both shape and volume, while atomic positions are fixed
[docs] POSITIONS_VOLUME = 'positions_volume' # Same as `VOLUME` but atomic positions are relaxed as well
[docs] POSITIONS_SHAPE = 'positions_shape' # Same as `SHAPE` but atomic positions are relaxed as well
[docs] POSITIONS_CELL = 'positions_cell' # Same as `CELL` but atomic positions are relaxed as well
[docs]class SpinType(enum.Enum): """Enumeration to indicate the spin polarization type of a system."""
[docs] NONE = 'none'
[docs] COLLINEAR = 'collinear'
[docs] NON_COLLINEAR = 'non_collinear'
[docs] SPIN_ORBIT = 'spin_orbit'
[docs]class RestartType(enum.Enum): """Enumeration of ways to restart a calculation in Quantum ESPRESSO."""
[docs] FULL = 'full'
[docs] FROM_SCRATCH = 'from_scratch'
[docs] FROM_CHARGE_DENSITY = 'from_charge_density'
[docs] FROM_WAVE_FUNCTIONS = 'from_wave_functions'