|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <core_correction.hpp>
Public Member Functions | |
| CoreCorrectionForceCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, const NormConservingPlanewaveBasis &pseudopotential_basis) | |
| std::vector< Vector3D > | compute (const std::vector< Complex > &exchange_correlation_potential_g) |
Definition at line 27 of file core_correction.hpp.
|
inline |
Definition at line 29 of file core_correction.hpp.
|
inline |
Gamma-only stores only the positive half sphere, and this summand is even under G -> -G (the imaginary part is odd and G_alpha is odd), so the omitted half contributes as much again. Verified against QE's own force decomposition at Gamma (‘verbosity='high’`), where Q3 was exactly half.
F_{s,α} = Ω G_α ρ_core(|G|) Im[V_XC(G) e^{+iGτ_s}] (full sphere, no ×2) Structure factor must be e^{+iGτ} = compute_phase_factor_conjugate.
Definition at line 36 of file core_correction.hpp.
References q3::compute_phase_factor_conjugate(), q3::Crystal::convert_from_crystal_to_cartesian(), q3::PlanewaveBasis::first_nonzero_g_index(), q3::PlanewaveBasis::g_vectors(), q3::NormConservingPlanewaveBasis::has_nonlinear_core_correction(), q3::NormConservingPlanewaveBasis::interpolate_core_charge_density(), q3::PlanewaveBasis::is_gamma_only(), q3::Crystal::number_of_atoms(), q3::PlanewaveBasis::number_of_g_vectors(), q3::NormConservingPlanewaveBasis::pseudopotential_set(), q3::Crystal::species_type_index(), q3::constants::two_pi, and q3::Crystal::two_pi_over_lattice_parameter().
Referenced by q3::NormConservingPlanewaveForceCalculator::compute().