Variables | |
| constexpr Real | ANGSTROM_TO_BOHR = 1.0 / BOHR_RADIUS_ANGSTROM |
| Ångström → Bohr (ANGSTROM_AU) | |
| constexpr Real | ATOMIC_MASS_UNIT_RY = ATOMIC_MASS_UNIT_SI / ELECTRON_MASS_SI / 2.0 |
| AMU → Rydberg atomic units (AMU_RY) | |
| constexpr Real | ATOMIC_MASS_UNIT_SI = 1.66053906660e-27 |
| constexpr Real | BOHR_RADIUS_ANGSTROM = BOHR_RADIUS_SI * 1.0e10 |
| Bohr radius in Ångströms (BOHR_RADIUS_SI * 1e10; BOHR_RADIUS_ANGSTROM) | |
| constexpr Real | BOHR_RADIUS_SI = 0.529177210903e-10 |
| constexpr Real | BOLTZMANN_CONSTANT_RY = BOLTZMANN_CONSTANT_SI / RYDBERG_SI |
| Boltzmann constant in Rydberg units (K_BOLTZMANN_RY) | |
| constexpr Real | BOLTZMANN_CONSTANT_SI = 1.380649e-23 |
| constexpr Real | default_starting_magnetization = 0.2 |
| constexpr Real | degrees_to_radians = pi / 180.0 |
| constexpr Real | ELECTRON_CHARGE_SI = 1.602176634e-19 |
| constexpr Real | electron_charge_squared_rydberg = 2.0 |
| constexpr Real | ELECTRON_MASS_SI = 9.1093837015e-31 |
| constexpr Real | ELECTRONVOLT_SI = 1.602176634e-19 |
| constexpr Real | epsilon_1e_minus_12 = 1.0e-12 |
| constexpr Real | epsilon_1e_minus_14 = 1.0e-14 |
| constexpr Real | epsilon_1e_minus_16 = 1.0e-16 |
| constexpr Real | epsilon_1e_minus_4 = 1.0e-4 |
| constexpr Real | epsilon_1e_minus_6 = 1.0e-6 |
| constexpr Real | epsilon_1e_minus_8 = 1.0e-8 |
| constexpr Real | four_pi = 4.0 * pi |
| constexpr Real | HARTREE_SI = 4.3597447222071e-18 |
| constexpr Real | HARTREE_TO_EV = HARTREE_SI / ELECTRONVOLT_SI |
| Hartree → eV (AUTOEV) | |
| constexpr Real | hubbard_anderson_secant_minimum_denominator = 1e-24 |
| constexpr Real | hubbard_anderson_theta_limit = 0.9 |
| constexpr int | hubbard_damping_trigger_iterations = 3 |
| constexpr int | non_self_consistent_field_maximum_davidson_iterations = 200 |
| constexpr int | non_self_consistent_field_minimum_davidson_basis_expansion_factor = 4 |
| constexpr Real | pi = 3.14159265358979323846 |
| constexpr Real | PLANCK_CONSTANT_SI = 6.62607015e-34 |
| constexpr Real | RY_TO_EV = HARTREE_TO_EV / 2.0 |
| constexpr Real | RYDBERG_SI = HARTREE_SI / 2.0 |
| constexpr Real | RYDBERG_TO_KILOBAR |
| Rydberg → kbar (RY_KBAR): 10 * AU_GPA / 2. | |
| constexpr Real | SPEED_OF_LIGHT_SI = 2.99792458e+8 |
| constexpr Real | spin_degeneracy = 2.0 |
| constexpr Real | sqrt2 = 1.41421356237309504880 |
| constexpr Real | sqrt_pi = 1.77245385090551602729 |
| constexpr Real | two_pi = 2.0 * pi |
|
inlineconstexpr |
Ångström → Bohr (ANGSTROM_AU)
Definition at line 140 of file constants.hpp.
Referenced by q3::Wannier90Exporter::export_to_directory(), q3::import_wannier90_files(), and q3::CubeVolumetricFieldReader::read().
|
inlineconstexpr |
AMU → Rydberg atomic units (AMU_RY)
Definition at line 143 of file constants.hpp.
|
inlineconstexpr |
Definition at line 121 of file constants.hpp.
|
inlineconstexpr |
Bohr radius in Ångströms (BOHR_RADIUS_SI * 1e10; BOHR_RADIUS_ANGSTROM)
Definition at line 137 of file constants.hpp.
Referenced by q3::build_material_json(), q3::Wannier90Exporter::export_to_directory(), q3::import_wannier90_files(), q3::YAMLInputParser::parse_material(), and q3::XsfVolumetricFieldWriter::write().
|
inlineconstexpr |
Definition at line 120 of file constants.hpp.
|
inlineconstexpr |
Boltzmann constant in Rydberg units (K_BOLTZMANN_RY)
Definition at line 150 of file constants.hpp.
|
inlineconstexpr |
Definition at line 114 of file constants.hpp.
|
inlineconstexpr |
Starting magnetization applied to every species when a spin-polarized (LSDA) run gives no starting_magnetization at all: large enough to break spin symmetry so a magnetic ground state can be found, small enough not to bias the SCF toward an artificial high-moment minimum. Explicit user values — including explicit zeros — are always honored instead.
Definition at line 43 of file constants.hpp.
Referenced by q3::PlanewavePseudopotentialKohnShamSCFIterator::effective_species_magnetizations().
Definition at line 29 of file constants.hpp.
Referenced by q3::get_lattice_vectors_from_cell_parameters().
|
inlineconstexpr |
Definition at line 115 of file constants.hpp.
|
inlineconstexpr |
Definition at line 32 of file constants.hpp.
Referenced by q3::calculate_local_potential_at_q(), q3::calculate_local_potential_long_range_at_q(), q3::calculate_local_potential_long_range_derivative_at_q(), q3::calculate_local_potential_short_range_at_q(), q3::EwaldStressTensorCalculator::compute(), q3::HartreeStressTensorCalculator::compute(), q3::KineticStressTensorCalculator::compute(), q3::MakovPayneCorrectionCalculator::compute(), q3::MartynaTuckermanCorrectionCalculator::compute(), q3::XC_LibXC::compute(), q3::XC_LibXC::compute_gradient_corrected(), q3::XC_LibXC::compute_gradient_corrected_spin(), q3::XC_LibXC::compute_spin(), q3::PlanewaveKohnShamSCFIterator::hartree_metric_prefactor(), and q3::PlanewaveKohnShamSCFIterator::magnetization_metric_weight().
|
inlineconstexpr |
Definition at line 117 of file constants.hpp.
|
inlineconstexpr |
Definition at line 116 of file constants.hpp.
|
inlineconstexpr |
Definition at line 156 of file constants.hpp.
|
inlineconstexpr |
Definition at line 157 of file constants.hpp.
|
inlineconstexpr |
Definition at line 158 of file constants.hpp.
|
inlineconstexpr |
Definition at line 153 of file constants.hpp.
|
inlineconstexpr |
Definition at line 154 of file constants.hpp.
|
inlineconstexpr |
Definition at line 155 of file constants.hpp.
Definition at line 26 of file constants.hpp.
Referenced by q3::calculate_core_charge_density_at_q(), q3::calculate_local_potential_at_q(), q3::calculate_local_potential_long_range_at_q(), q3::calculate_local_potential_long_range_derivative_at_q(), q3::calculate_local_potential_short_range_at_q(), q3::HartreeStressTensorCalculator::compute(), q3::paw_one_center::compute_one_center_xc_gradient_corrected(), q3::paw_one_center::compute_one_center_xc_gradient_corrected_spin(), q3::compute_real_spherical_harmonic(), q3::compute_real_spherical_harmonics_batch(), q3::PlanewaveKohnShamSCFIterator::hartree_metric_prefactor(), q3::PlanewaveKohnShamSCFIterator::magnetization_metric_weight(), q3::paw_one_center::solve_radial_hartree(), q3::tabulate_atomic_wavefunctions_in_q_space(), and q3::transform_spherical_bessel().
|
inlineconstexpr |
Definition at line 118 of file constants.hpp.
|
inlineconstexpr |
Hartree → eV (AUTOEV)
─── Derived unit conversion factors ──────────────────────────────────────── Each is a dimensional identity over the SI values above, evaluated in IEEE-754 double at compile time. The names in parentheses are the corresponding Quantum ESPRESSO constants, given only so a reader can cross-check a value against a published number; they are labels, not the source of the definitions.
Definition at line 134 of file constants.hpp.
Referenced by q3::QEInputParser::parse().
|
inlineconstexpr |
Smallest |r - r_prev|^2 for which an Anderson secant step is trusted.
Two nearly identical residuals make the secant denominator vanish and the extrapolation coefficient explode; below this the step degrades to plain damping, which is slower but never wild. Kept beside the other DFT+U mixing knobs so tuning the occupation mixer means reading one place, not two.
Definition at line 107 of file constants.hpp.
Referenced by q3::HubbardOccupationMixer::blend().
|
inlineconstexpr |
Clamp on the Anderson extrapolation coefficient for the DFT+U occupation matrix.
The two-point secant is exact only where the residual map is locally linear. Away from that it can ask for an arbitrarily long step, so the coefficient is bounded: inside the bound Anderson does its work, at the bound the update is still a damped step in the descent direction rather than a leap.
Definition at line 97 of file constants.hpp.
Referenced by q3::HubbardOccupationMixer::blend().
|
inlineconstexpr |
How many non-monotone iterations of the DFT+U occupation matrix it takes before the SCF starts damping it.
Damping perturbs the converged answer at first order in its own lag, so it is switched on by evidence rather than by default and a monotonically converging run must never trip it. Three tolerates the isolated backward step a well-behaved run can take while the wavefunctions settle, and is reached almost immediately by a genuine oscillation, which alternates every iteration.
Definition at line 56 of file constants.hpp.
Referenced by q3::HubbardOccupationMixer::blend().
|
inlineconstexpr |
How many Davidson iterations a non-self-consistent pass allows each k-point.
A self-consistent run re-diagonalizes every iteration, so the solver's own short cap only defers work to the next one. A non-self-consistent pass diagonalizes once and keeps whatever a capped solve leaves unconverged: copper's fourteen-band 4x4x4 capture takes 17 of the solver's 20 iterations at a basis four times the band count, and ran into them at twice, with up to seven bands unconverged at 48 of 140 k-point solves. The cap bounds a pathological solve; a converging one exits as soon as every band meets the tolerance, and one that does not is reported.
Definition at line 70 of file constants.hpp.
Referenced by q3::NonSelfConsistentFieldFlavor::run_calculation().
|
inlineconstexpr |
The smallest Davidson working basis, as a multiple of the band count, that a non-self-consistent pass runs with unless the deck names a factor itself.
The pass seeds each k-point from its neighbour's vectors and keeps what the solver returns. With a basis only twice the band count Davidson can settle on eigenpairs that skip a state the seed lacks, and every residual test still passes: copper's sixteen-band NSCF against direct diagonalization of the same Hamiltonian has band 16 1.18 eV high at one k-point at a factor of 2 – a state skipped – and more than 1 meV off at 15 of 64, against 1.2 meV at one k-point at 4. A self-consistent run re-diagonalizes every iteration and recovers, so the smaller default stays there; a deck that names a smaller factor keeps it for the pass too, and is warned.
Definition at line 86 of file constants.hpp.
Referenced by q3::non_self_consistent_field_davidson_basis_expansion_factor(), and q3::NonSelfConsistentFieldFlavor::run_calculation().
|
inlineconstexpr |
Definition at line 24 of file constants.hpp.
Referenced by q3::PlanewaveHydrogenicOrbitalSet::build(), q3::paw_one_center::build_angular_grid(), q3::build_material_json(), q3::EwaldStressTensorCalculator::compute(), q3::MakovPayneCorrectionCalculator::compute(), q3::compute_real_spherical_harmonic(), q3::compute_real_spherical_harmonics_batch(), q3::GaussianSmearing::entropy_weight(), q3::MarzariVanderbiltSmearing::entropy_weight(), q3::MethfesselPaxtonSmearing::entropy_weight(), q3::paw_one_center::gauss_legendre_nodes(), q3::generate_deterministic_unit_vectors(), q3::MarzariVanderbiltSmearing::occupation(), and q3::MethfesselPaxtonSmearing::occupation().
|
inlineconstexpr |
─── Physical constants, SI (NIST 2018 CODATA) ───────────────────────────── Identical to the values Quantum ESPRESSO uses.
Definition at line 113 of file constants.hpp.
|
inlineconstexpr |
Definition at line 161 of file constants.hpp.
Referenced by q3::BerkeleyGWExchangeCorrelationFile::write_to_file().
|
inlineconstexpr |
Definition at line 119 of file constants.hpp.
|
inlineconstexpr |
Rydberg → kbar (RY_KBAR): 10 * AU_GPA / 2.
Definition at line 146 of file constants.hpp.
Referenced by q3::assemble_total_stress_and_log().
|
inlineconstexpr |
Definition at line 122 of file constants.hpp.
|
inlineconstexpr |
Definition at line 33 of file constants.hpp.
|
inlineconstexpr |
Definition at line 28 of file constants.hpp.
|
inlineconstexpr |
Definition at line 27 of file constants.hpp.
Definition at line 25 of file constants.hpp.
Referenced by q3::UltrasoftPlanewaveBasis::add_augmentation_charges(), q3::PlanewaveHydrogenicOrbitalSet::build(), q3::build_atomic_orbitals_g_space(), q3::EwaldStressTensorCalculator::compute(), q3::CoreCorrectionStressTensorCalculator::compute(), q3::LocalPseudopotentialStressTensorCalculator::compute(), q3::UltrasoftForceCalculator::compute(), q3::MartynaTuckermanCorrectionCalculator::compute(), q3::LocalPseudopotentialForceCalculator::compute(), q3::CoreCorrectionForceCalculator::compute(), q3::InterpolatedDensityOfStatesCalculator::compute(), q3::NormConservingPlanewaveWavefunctionInitializer::compute_atomic_wavefunctions(), q3::compute_kleinman_bylander_projectors(), q3::compute_ultrasoft_effective_d_matrix(), q3::NormConservingPlanewaveBasis::init(), q3::CoreChargeData::initialize(), q3::PlanewavePseudopotentialKohnShamSCFIterator::initialize_charge_density_from_atomic_superposition(), q3::PlanewaveKohnShamSCFIterator::magnetization_metric_weight(), q3::lattice_fourier_transform::internal::phase(), q3::GuidedPhaseBranch::phase_of(), q3::UltrasoftPlanewaveEffectivePotential::precompute_structure_factors(), q3::internal::record_lattice(), q3::tabulate_core_charge_density_in_g_space(), and q3::tabulate_local_potential_in_g_space().