|
inlineconstexpr |
Threshold below which a spherical Bessel function argument is treated as zero.
Definition at line 158 of file tolerances.hpp.
Referenced by q3::spherical_bessel(), and q3::spherical_bessel_batch().
|
inlineconstexpr |
Threshold below which a cell volume is treated as zero (uninitialized).
Definition at line 104 of file tolerances.hpp.
Referenced by q3::PlanewaveChargeDensity::get_total_charge().
|
inlineconstexpr |
Threshold below which a D-matrix element is treated as zero.
Definition at line 99 of file tolerances.hpp.
Referenced by q3::UltrasoftPseudopotentialOverlapOperator::build_dense_matrix(), q3::NonlocalPseudopotentialForceCalculator::compute(), q3::UltrasoftForceCalculator::compute(), and q3::PlanewaveDirectDiagonalizer::solve().
|
inlineconstexpr |
Default number of q-points for atomic wavefunction interpolation tables.
Definition at line 114 of file tolerances.hpp.
Referenced by q3::NormConservingPlanewaveWavefunctionInitializer::initialize_interpolation_table().
|
inlineconstexpr |
Default q-grid spacing (in atomic units) for radial Fourier transform interpolation tables.
Definition at line 109 of file tolerances.hpp.
Referenced by q3::BetaFunctionTable::initialize().
|
inlineconstexpr |
Default symmetry precision for spglib operations (in Bohr).
Definition at line 134 of file tolerances.hpp.
|
inlineconstexpr |
Definition at line 66 of file tolerances.hpp.
Referenced by q3::PlanewaveDavidsonDiagonalizer::solve().
|
inlineconstexpr |
Empty (unoccupied) bands converge to a looser tolerance than occupied bands: their eigenvalues do not enter the total energy, so tight convergence is wasted work. The effective empty-band tolerance is max(empty_band_tolerance_relaxation_factor * tolerance, empty_band_tolerance_floor).
Both numbers are iteration-path knobs, not answers: they decide when a band stops being refined, never what it converges to, so no result in the test suite distinguishes these values from neighbouring ones. The floor is what stops the relaxed tolerance chasing the occupied one down as the SCF tightens; the factor is small enough that a badly-converged empty band still cannot pollute the subspace it spans.
Definition at line 65 of file tolerances.hpp.
Referenced by q3::PlanewaveDavidsonDiagonalizer::solve().
|
inlineconstexpr |
Default threshold for energy consistency checks.
Definition at line 231 of file tolerances.hpp.
|
inlineconstexpr |
Rounding tolerance for energy cutoff comparisons (G-vector inclusion).
Definition at line 129 of file tolerances.hpp.
Referenced by q3::FFTGridSizer::calculate_grid_dimensions(), q3::GVectorsGrid::estimate_maximum_plane_waves_per_kpoint(), q3::GVectorsGrid::generate(), q3::PlanewaveBasis::initialize_kpoint_data(), and q3::PlaneWaveSelector::select().
|
inlineconstexpr |
Ewald summation convergence check threshold.
Also used by MartynaTuckermanCorrectionCalculator's convergence-parameter search (select_convergence_parameters()), which bounds the same kind of erf/erfc-smoothed reciprocal-space truncation error, at the same value Quantum ESPRESSO uses when it sets up its own Martyna-Tuckerman correction.
Definition at line 226 of file tolerances.hpp.
Referenced by q3::EwaldStressTensorCalculator::compute(), q3::EwaldForceCalculator::compute(), and q3::compute_ewald().
|
inlineconstexpr |
Electron-count slack that still counts as "on the plateau" when bracketing a gap to place E_F at its midpoint.
Across a gap the smeared electron count equals the target only up to the occupation tails, so the upper-edge bisection needs a tolerance rather than an exact equality. Loose enough to span a real gap's residual tails. A metal has a bracket too, this slack over its density of states, and the midpoint of that one would leave half the slack in the cell as extra charge; the calculator tells the two apart by comparing the bracket with the smearing width, not by this value.
Definition at line 177 of file tolerances.hpp.
|
inlineconstexpr |
Convergence threshold for Fermi energy bisection.
Definition at line 163 of file tolerances.hpp.
|
inlineconstexpr |
How far a fractional translation component may sit from 1/n and still be read as 1/n when the FFT grid is asked to be divisible by n.
The translations come from spglib and are accurate to the symmetry precision it was given, so the bound has to be at least that loose; it is two orders looser so that tightening that precision never starts rejecting a genuine fraction. What it must separate is coarser than either number by far: the closest competing value for the smallest accepted denominator is 1/6 against 1/5 or 1/7, 0.03 away, and the difference that motivated checking at all – 0.375 read as 1/3 – is 0.04 away.
Definition at line 148 of file tolerances.hpp.
Referenced by q3::FFTGridSizer::fft_factor_for_fractional_translation().
|
inlineconstexpr |
Threshold below which a Gaunt coefficient is considered insignificant.
Definition at line 71 of file tolerances.hpp.
Referenced by q3::generate_gaunt_coefficients().
|
inlineconstexpr |
Initial eigenvalue diagonalization tolerance for early SCF iterations.
Definition at line 206 of file tolerances.hpp.
Referenced by q3::PlanewaveKohnShamSCFIterator::set_diagonalization_tolerance().
|
inlineconstexpr |
Threshold below which a vector norm squared is treated as zero in iterative solvers. Used in Davidson diagonalizer for residual norm and orthogonalization checks.
Definition at line 39 of file tolerances.hpp.
Referenced by q3::GPUPlanewaveSubspaceManager::orthogonalize_batch(), and q3::SerialPlanewaveSubspaceManager::orthogonalize_batch().
|
inlineconstexpr |
Threshold for the sum of |k_x| + |k_y| + |k_z| (in crystal coordinates) below which a k-point is treated as the Gamma point.
Definition at line 242 of file tolerances.hpp.
|
inlineconstexpr |
How far n * k may sit from the common grid offset, in units of the grid step, and still count as a point of an n-division grid when a grid is recovered from an explicit k-point list.
Listed coordinates carry their printing noise, ~1e-10, which the largest grid tried (1000 divisions) magnifies to ~1e-7. A point genuinely off an n-division grid, k = p/m, misses it by at least 1/m of a step – 1e-3 for the finest grid tried. A q0 displacement of the whole list is common to every point, so it moves the offset rather than the test.
Definition at line 201 of file tolerances.hpp.
Referenced by q3::BerkeleyGWCommonHeader::complete_kpoint_grid().
|
inlineconstexpr |
How far a k-point weight sum may sit from the spin degeneracy and still count as a Brillouin-zone sampling.
Loose because the sum is built from symmetry multiplicities over a point count and carries ordinary rounding; the case it exists to catch misses by whole integers rather than by rounding, since a band path gives every point weight 1 and its sum is the number of points.
Definition at line 188 of file tolerances.hpp.
|
inlineconstexpr |
Relative width of a shell of lattice vectors: two |R| closer than this share a shell when the decay of a real-space Hamiltonian is measured on its outermost one.
Definition at line 270 of file tolerances.hpp.
|
inlineconstexpr |
Minimum overlap-matrix eigenvalue accepted by Lowdin orthogonalization. Below this the atomic-orbital overlap S is treated as singular (linearly dependent orbitals) and S^{-1/2} would amplify noise by >= 1e5.
Definition at line 78 of file tolerances.hpp.
Referenced by q3::compute_lowdin_transform().
|
inlineconstexpr |
Floor for adaptive eigenvalue tolerance to prevent numerical issues.
Definition at line 211 of file tolerances.hpp.
Referenced by q3::KohnShamSCFIterator::diagonalization_threshold(), q3::KohnShamSCFIterator::perform_iteration(), and q3::NonSelfConsistentFieldFlavor::run_calculation().
|
inlineconstexpr |
Minimum electron density value to prevent division by zero in XC functionals.
Definition at line 216 of file tolerances.hpp.
Referenced by q3::XC_LibXC::compute_spin().
|
inlineconstexpr |
Minimum finite difference step for numerical derivatives.
Definition at line 33 of file tolerances.hpp.
|
inlineconstexpr |
Threshold below which a floating-point value is treated as numerically zero. Used for quantities like overlap coefficients, azimuthal angles, etc.
Definition at line 28 of file tolerances.hpp.
Referenced by q3::EwaldStressTensorCalculator::compute(), q3::HartreeStressTensorCalculator::compute(), q3::CoreCorrectionStressTensorCalculator::compute(), q3::LocalPseudopotentialStressTensorCalculator::compute(), q3::NonlocalPseudopotentialForceCalculator::compute(), q3::PlanewavePseudopotentialKohnShamSCFIterator::compute_effective_potential_from_density(), q3::find_g_zero_plane_wave_index(), and q3::PlanewaveBasis::initialize_kpoint_data().
|
inlineconstexpr |
Threshold below which an occupation number is treated as zero (unoccupied).
Definition at line 119 of file tolerances.hpp.
Referenced by q3::PlanewavePseudopotentialKohnShamSCFIterator::accumulate_hubbard_occupation_and_potential(), q3::UltrasoftPlanewavePseudopotentialKohnShamSCFIterator::accumulate_projector_overlaps(), q3::KineticStressTensorCalculator::compute(), q3::HubbardStressTensorCalculator::compute(), q3::NonlocalPseudopotentialStressTensorCalculator::compute(), q3::HubbardForceCalculator::compute(), and q3::NonlocalPseudopotentialForceCalculator::compute().
|
inlineconstexpr |
Minimum denominator value for preconditioner in iterative eigensolvers.
Definition at line 50 of file tolerances.hpp.
Referenced by q3::GPUPlanewaveSubspaceManager::apply_preconditioner(), q3::SerialPlanewaveSubspaceManager::apply_preconditioner(), and q3::SerialPlanewaveSubspaceManager::apply_preconditioner_to_columns().
|
inlineconstexpr |
Truncation radius (Bohr) for radial integration.
Definition at line 94 of file tolerances.hpp.
Referenced by q3::NormConservingPlanewaveBasis::compute_mesh_truncation_sizes(), and q3::tabulate_atomic_wavefunctions_in_q_space().
|
inlineconstexpr |
Finite difference step size for numerical gradient computation in reciprocal space.
Definition at line 153 of file tolerances.hpp.
|
inlineconstexpr |
Floor on the magnitude a relative change is measured against, so that an objective that has reached exactly zero has a relative change at all.
Definition at line 45 of file tolerances.hpp.
Referenced by q3::ConvergenceWindow::has_converged().
|
inlineconstexpr |
Threshold below which a smearing width is treated as zero (insulating).
Definition at line 124 of file tolerances.hpp.
Referenced by q3::PlanewaveKohnShamSCFIterator::resolve_number_of_bands(), and q3::SmearingScheme::uses_smearing().
|
inlineconstexpr |
Relative finite difference step scale for stress tensor gradient computation.
Definition at line 236 of file tolerances.hpp.
|
inlineconstexpr |
─── Physics-Specific Thresholds ───────────────────────────────────────────── These encode domain knowledge about DFT, plane-wave methods, or specific physical quantities. Whether to truncate radial integrations at a finite radius.
Definition at line 89 of file tolerances.hpp.
Referenced by q3::NormConservingPlanewaveBasis::compute_mesh_truncation_sizes(), and q3::tabulate_atomic_wavefunctions_in_q_space().
|
inlineconstexpr |
Modulus of a diagonal neighbour overlap M_nn(k,b) below which the Berry phase of Wannier function n – its centre and its spread – is undefined: the gauge has collapsed.
Definition at line 256 of file tolerances.hpp.
|
inlineconstexpr |
How negative the gauge-invariant spread may come out, per Wannier function in bohr squared, before it is read as overlaps that are not between orthonormal states rather than as rounding. Omega_I cannot be negative.
Definition at line 263 of file tolerances.hpp.
|
inlineconstexpr |
Smallest singular value of the trial-orbital projection A(k) below which the orbitals are taken not to span the target manifold at that k-point: the projection gauge A (A^dagger A)^(-1/2) is then singular, and is refused.
Definition at line 249 of file tolerances.hpp.
|
inlineconstexpr |
─── Pure Mathematical Thresholds ──────────────────────────────────────────── These are numerical-analysis constants independent of any physical domain. Threshold below which a vector magnitude is treated as zero.
Definition at line 22 of file tolerances.hpp.
Referenced by q3::PlanewaveBlochOverlapCalculator::add_augmentation_contribution(), 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::EwaldForceCalculator::compute(), q3::compute_ewald(), q3::UltrasoftPlanewaveBasis::compute_q_g_single(), q3::compute_real_spherical_harmonic(), q3::GVectorsGrid::generate(), q3::PlanewavePseudopotentialKohnShamSCFIterator::initialize_charge_density_from_atomic_superposition(), q3::LocalPotentialTable::interpolate(), q3::UniformQGridTable::interpolate(), q3::SymmetryAnalyzer::reduce_kpoints(), q3::PlanewaveChargeDensitySymmetrizer::symmetrize(), q3::PlanewaveChargeDensitySymmetrizer::symmetrize_from_g_space(), and q3::tabulate_atomic_charge_density_in_g_space().