#include <init.hpp>
Public Member Functions | |
| NormConservingPlanewaveStressTensorCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, const KPointsGrid &kpoint_grid, const NormConservingPlanewaveKohnShamSCFState &scf_state, const Matrix< Real > &projector_overlap_coefficients, StressTensorContributions &result, const std::string &nonlocal_stress_derivative_method="analytical") | |
| void | compute () |
|
inline |
|
inline |
Atomic and ortho-atomic projectors have complete stress derivatives for every dataset family. Keep this refusal for any future projector type until its derivative is implemented and validated.
nonlocal because it is a different derivative (the Hubbard projector's, not the KB projector's) and reporting them merged would hide a term worth 29% of the total pressure on silicon at U = 3 eV behind a much larger one.Definition at line 58 of file init.hpp.
References q3::ExchangeCorrelationStressTensorCalculator::compute(), q3::CoreCorrectionStressTensorCalculator::compute(), q3::HubbardStressTensorCalculator::compute(), q3::LocalPseudopotentialStressTensorCalculator::compute(), q3::NonlocalPseudopotentialStressTensorCalculator::compute(), q3::UltrasoftAugmentationStressTensorCalculator::compute(), q3::log::debug(), q3::NormConservingPlanewaveKohnShamSCFState::hubbard_projector_type, q3::NormConservingPlanewaveKohnShamQuantumSystem::pseudopotential_basis(), q3::NormConservingPlanewaveKohnShamSCFState::quantum_system(), q3::HubbardStressTensorCalculator::supports(), and q3::log::warn().
Referenced by q3::compute_stress().