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

#include <augmentation.hpp>

Public Member Functions

 UltrasoftAugmentationStressTensorCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, const NormConservingPlanewaveKohnShamQuantumSystem &quantum_system, const std::vector< std::vector< Complex > > &potential_g_by_spin, const std::vector< Matrix< Real > > &coefficients_by_spin, StressTensorContributions &result)
 
void compute ()
 

Detailed Description

Definition at line 48 of file augmentation.hpp.

Constructor & Destructor Documentation

◆ UltrasoftAugmentationStressTensorCalculator()

q3::UltrasoftAugmentationStressTensorCalculator::UltrasoftAugmentationStressTensorCalculator ( const Crystal &  crystal_structure,
const PlanewaveBasis &  planewave_basis,
const NormConservingPlanewaveKohnShamQuantumSystem &  quantum_system,
const std::vector< std::vector< Complex > > &  potential_g_by_spin,
const std::vector< Matrix< Real > > &  coefficients_by_spin,
StressTensorContributions &  result 
)
inline

Definition at line 50 of file augmentation.hpp.

Member Function Documentation

◆ compute()

void q3::UltrasoftAugmentationStressTensorCalculator::compute ( )
inline

Symmetrized once over the spin-summed tensor rather than per channel. Symmetrization is linear, so the two are identical; doing it here keeps the accumulation loop free of it.

Definition at line 64 of file augmentation.hpp.

References q3::StressTensorContributions::augmentation, and q3::NormConservingPlanewaveKohnShamQuantumSystem::has_ultrasoft().

Referenced by q3::NormConservingPlanewaveStressTensorCalculator::compute().


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