Loading...
Searching...
No Matches
q3::NormConservingPlanewaveStressTensorCalculator Class Reference

#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 ()
 

Detailed Description

Definition at line 40 of file init.hpp.

Constructor & Destructor Documentation

◆ NormConservingPlanewaveStressTensorCalculator()

q3::NormConservingPlanewaveStressTensorCalculator::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" 
)
inline

Definition at line 42 of file init.hpp.

Member Function Documentation

◆ compute()

void q3::NormConservingPlanewaveStressTensorCalculator::compute ( )
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.

  1. DFT+U (Hubbard) stress — zero when no U is applied. Kept out of 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().


The documentation for this class was generated from the following file: