Electrons input documentation ============================= Initialize from components and/or dictionary of options. Used to initialize class :class:`qimpy.dft.electrons.Electrons`. YAML template: -------------- .. parsed-literal:: :yamlparam:`qimpy.dft.electrons.Electrons:k-mesh`: :yamlcomment:`# Uniform k-point mesh for Brillouin-zone integration:` :yamlparam:`qimpy.lattice.Kmesh:offset`: (0.0, 0.0, 0.0) :yamlcomment:`# Offset of k-point mesh in k-mesh coordinates.` :yamlparam:`qimpy.lattice.Kmesh:size`: (1, 1, 1) :yamlcomment:`# Number of k per dimension, or minimum supercell size.` :yamlparam:`qimpy.lattice.Kmesh:use-inversion`: :yamlkey:`yes` :yamlcomment:`# Whether to use inversion in k-space to reduce k-points.` :yamlparam:`qimpy.dft.electrons.Electrons:k-path`: :yamlcomment:`# Path of k-points through Brillouin zone:` :yamlparam:`qimpy.lattice.Kpath:dk`: 0.0 :yamlcomment:`# Maximum distance between adjacent points on k-path.` :yamlparam:`qimpy.lattice.Kpath:points`: :yamlkey:`null` :yamlcomment:`# List of special k-points [kx, ky, kz, label] along path.` :yamlparam:`qimpy.dft.electrons.Electrons:spin-polarized`: :yamlkey:`no` :yamlcomment:`# Whether system has spin polarization / magnetization.` :yamlparam:`qimpy.dft.electrons.Electrons:spinorial`: :yamlkey:`no` :yamlcomment:`# Whether to perform relativistic / spin-orbit calculations.` :yamlparam:`qimpy.dft.electrons.Electrons:fillings`: :yamlcomment:`# Electron occupations and charge / magnetization control:` :yamlparam:`qimpy.dft.electrons.Fillings:charge`: 0.0 :yamlcomment:`# Net charge of electrons + ions in e units.` :yamlparam:`qimpy.dft.electrons.Fillings:smearing`: gauss :yamlcomment:`# Smearing method for setting electron occupations.` :yamlparam:`qimpy.dft.electrons.Fillings:sigma`: 0.002 :yamlcomment:`# Width of the smearing function in Hartrees.` :yamlparam:`qimpy.dft.electrons.Fillings:kT`: :yamlkey:`null` :yamlcomment:`# Specify temperature instead of sigma for Fermi smearing.` :yamlparam:`qimpy.dft.electrons.Fillings:mu`: nan :yamlcomment:`# Electron chemical potential in Hartrees.` :yamlparam:`qimpy.dft.electrons.Fillings:mu-constrain`: :yamlkey:`no` :yamlcomment:`# Whether to hold chemical potential fixed to mu.` :yamlparam:`qimpy.dft.electrons.Fillings:B`: 0.0 :yamlcomment:`# External magnetic field (only for spin-polarized modes).` :yamlparam:`qimpy.dft.electrons.Fillings:M`: 0.0 :yamlcomment:`# Total magnetization (only for spin-polarized modes).` :yamlparam:`qimpy.dft.electrons.Fillings:M-constrain`: :yamlkey:`no` :yamlcomment:`# Whether to hold magnetization fixed to M.` :yamlparam:`qimpy.dft.electrons.Fillings:n-bands`: atomic :yamlcomment:`# Specify number of bands or scheme to determine it.` :yamlparam:`qimpy.dft.electrons.Fillings:n-bands-extra`: x0.1 :yamlcomment:`# Number of extra bands retained by diagonalizers.` :yamlparam:`qimpy.dft.electrons.Electrons:basis`: :yamlcomment:`# Wavefunction basis set (plane waves):` :yamlparam:`qimpy.dft.electrons.Basis:ke-cutoff`: 20.0 :yamlcomment:`# Wavefunction kinetic energy cutoff in Hartrees.` :yamlparam:`qimpy.dft.electrons.Basis:real-wavefunctions`: :yamlkey:`no` :yamlcomment:`# Whether to use real wavefunctions (instead of complex).` :yamlparam:`qimpy.dft.electrons.Basis:grid`: :yamlcomment:`# Override parameters of grid for wavefunction operations:` :yamlparam:`qimpy.grid.Grid:ke-cutoff`: :yamlkey:`null` :yamlcomment:`# Kinetic-energy cutoff for grid in Hartrees.` :yamlparam:`qimpy.grid.Grid:shape`: :yamlkey:`null` :yamlcomment:`# Explicit grid dimensions [Nx, Ny, Nz].` :yamlparam:`qimpy.dft.electrons.Basis:fft-block-size`: 0 :yamlcomment:`# Number of wavefunction bands to FFT simultaneously.` :yamlparam:`qimpy.dft.electrons.Basis:mpi-block-size`: 0 :yamlcomment:`# Number of wavefunction bands to MPI transfer simultaneously.` :yamlparam:`qimpy.dft.electrons.Electrons:xc`: :yamlcomment:`# Exchange-correlation functional:` :yamlparam:`qimpy.dft.electrons.xc.XC:functional`: gga-pbe :yamlcomment:`# Name or list of names of exchange-correlation functionals.` :yamlparam:`qimpy.dft.electrons.xc.XC:plus-U`: :yamlcomment:`# Optional DFT+U correction:` :yamlparam:`qimpy.dft.electrons.xc.PlusU:U-values`: [:yamltype:`float`] :yamlcomment:`# Dictionary of U values by species and orbital names.` :yamlparam:`qimpy.dft.electrons.Electrons:fixed-H`: :yamlcomment:`# Fix Hamiltonian from checkpoint file of this name.` :yamlparam:`qimpy.dft.electrons.Electrons:save-wavefunction`: :yamlkey:`yes` :yamlcomment:`# Whether to save wavefunction in checkpoint.` :yamlparam:`qimpy.dft.electrons.Electrons:lcao`: :yamlcomment:`# Linear combination of atomic orbitals parameters:` :yamlparam:`qimpy.dft.electrons.LCAO:energy-threshold`: 1e-06 :yamlcomment:`# Energy convergence threshold in Hartrees.` :yamlparam:`qimpy.dft.electrons.LCAO:gradient-threshold`: 1e-08 :yamlcomment:`# Subspace-gradient convergence threshold (dimensionless).` :yamlparam:`qimpy.dft.electrons.Electrons:davidson`: :yamlcomment:`# Davidson diagonalization of Kohm-Sham Hamiltonian:` :yamlparam:`qimpy.dft.electrons.Davidson:n-iterations`: 100 :yamlcomment:`# Number of diagonalization iterations.` :yamlparam:`qimpy.dft.electrons.Davidson:eig-threshold`: 1e-08 :yamlcomment:`# Convergence threshold on eigenvalues in Hartrees.` :yamlparam:`qimpy.dft.electrons.Electrons:chefsi`: :yamlcomment:`# CheFSI diagonalization of Kohm-Sham Hamiltonian:` :yamlparam:`qimpy.dft.electrons.CheFSI:n-iterations`: 100 :yamlcomment:`# Number of diagonalization iterations.` :yamlparam:`qimpy.dft.electrons.CheFSI:eig-threshold`: 1e-08 :yamlcomment:`# Convergence threshold on eigenvalues in Hartrees.` :yamlparam:`qimpy.dft.electrons.CheFSI:filter-order`: 10 :yamlcomment:`# Order of the Chebyshev filter.` :yamlparam:`qimpy.dft.electrons.CheFSI:init-threshold`: 0.1 :yamlcomment:`# Eigenvalue threshold for initial Davidson steps.` :yamlparam:`qimpy.dft.electrons.Electrons:scf`: :yamlcomment:`# Self-consistent field (SCF) iteration parameters:` :yamlparam:`qimpy.dft.electrons.SCF:n-iterations`: 50 :yamlcomment:`# Number of self-consistent field iterations / cycles.` :yamlparam:`qimpy.dft.electrons.SCF:energy-threshold`: 1e-08 :yamlcomment:`# Energy convergence threshold in Hartrees.` :yamlparam:`qimpy.dft.electrons.SCF:residual-threshold`: 1e-07 :yamlcomment:`# Residual-norm convergence threshold.` :yamlparam:`qimpy.dft.electrons.SCF:n-consecutive`: 2 :yamlcomment:`# Number of consecutive iterations each threshold must be satisfied.` :yamlparam:`qimpy.dft.electrons.SCF:n-history`: 10 :yamlcomment:`# History size for Pulay mixing.` :yamlparam:`qimpy.dft.electrons.SCF:mix-fraction`: 0.5 :yamlcomment:`# Fraction of new variable mixed into current variable.` :yamlparam:`qimpy.dft.electrons.SCF:mix-fraction-mag`: 1.5 :yamlcomment:`# Different mix_fraction for magnetization components.` :yamlparam:`qimpy.dft.electrons.SCF:q-kerker`: 0.8 :yamlcomment:`# Characteristic wavevector for Kerker mixing.` :yamlparam:`qimpy.dft.electrons.SCF:q-metric`: 0.8 :yamlcomment:`# Characteristic wavevector controlling Pulay metric.` :yamlparam:`qimpy.dft.electrons.SCF:q-kappa`: :yamlkey:`null` :yamlcomment:`# Long-range cutoff wavevector for grand-canonical SCF.` :yamlparam:`qimpy.dft.electrons.SCF:n-eig-steps`: 2 :yamlcomment:`# Number of inner eigenvalue iterations for each SCF cycle.` :yamlparam:`qimpy.dft.electrons.SCF:eig-threshold`: 1e-08 :yamlcomment:`# Convergence threshold on eigenvalues in Hartrees.` :yamlparam:`qimpy.dft.electrons.SCF:mix-density`: :yamlkey:`yes` :yamlcomment:`# Whether to mix density or potential.` Component classes: ------------------ .. toctree:: :maxdepth: 1 Kmesh Kpath Fillings Basis XC LCAO Davidson CheFSI SCF Parameters: ----------- k-mesh ++++++ *Type:* :doc:`Kmesh `, *Default:* :yamlkey:`null` Uniform k-point mesh for Brillouin-zone integration. Specify only one of k_mesh or k_path. k-path ++++++ *Type:* :doc:`Kpath `, *Default:* :yamlkey:`null` Path of k-points through Brillouin zone. (Usually for band structure calculations.) Specify only one of k_mesh or k_path. spin-polarized ++++++++++++++ *Type:* :yamltype:`bool`, *Default:* :yamlkey:`no` Whether system has spin polarization / magnetization. (:yamlkey:`yes` if system breaks time reversal symmetry, else :yamlkey:`no`.) Spin polarization is treated explicitly with two sets of orbitals for up and down spins if spinorial = :yamlkey:`no`, and implicitly by each orbital being spinorial if spinorial = :yamlkey:`yes`. spinorial +++++++++ *Type:* :yamltype:`bool`, *Default:* :yamlkey:`no` Whether to perform relativistic / spin-orbit calculations. If :yamlkey:`yes`, calculations will use 2-component spinorial wavefunctions. fillings ++++++++ *Type:* :doc:`Fillings `, *Default:* :yamlkey:`null` Electron occupations and charge / magnetization control. basis +++++ *Type:* :doc:`Basis `, *Default:* :yamlkey:`null` Wavefunction basis set (plane waves). xc ++ *Type:* :doc:`XC `, *Default:* :yamlkey:`null` Exchange-correlation functional. fixed-H +++++++ *Type:* :yamltype:`string`, *Default:* Fix Hamiltonian from checkpoint file of this name. This is useful for band structure calculations along high-symmetry k-point paths, or for converging large numners of empty states. Default: don't fix Hamiltonian i.e. self-consistent calculation. save-wavefunction +++++++++++++++++ *Type:* :yamltype:`bool`, *Default:* :yamlkey:`yes` Whether to save wavefunction in checkpoint. Saving the wavefunction is useful for full post-processing capability directly from the checkpoint, at the expense of much larger checkpoint file. If :yamlkey:`no`, calculations can still use the converged density / potential to resume calculations, but require an initial non-self-consistent calculation. Default: :yamlkey:`yes`. lcao ++++ *Type:* :doc:`LCAO `, *Default:* :yamlkey:`null` Linear combination of atomic orbitals parameters. Set to :yamlkey:`no` to disable and to start with bandwidth-limited random numbers instead. (If starting from a checkpoint with wavefunctions, this option has no effect.) davidson ++++++++ *Type:* :doc:`Davidson `, *Default:* :yamlkey:`null` Davidson diagonalization of Kohm-Sham Hamiltonian. Specify only one of davidson or chefsi. chefsi ++++++ *Type:* :doc:`CheFSI `, *Default:* :yamlkey:`null` CheFSI diagonalization of Kohm-Sham Hamiltonian. Uses the Chebyshev Filter Subspace Iteration (CheFSI) method, which can be advantageous for large number of bands being computed in parallel over a large number of processes. Specify only one of davidson or chefsi. scf +++ *Type:* :doc:`SCF `, *Default:* :yamlkey:`null` Self-consistent field (SCF) iteration parameters.