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

#include <exchange_correlation.hpp>

+ Inheritance diagram for q3::PseudopotentialExchangeCorrelationStressTensorCalculator:

Public Member Functions

 PseudopotentialExchangeCorrelationStressTensorCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, const NormConservingPlanewaveBasis &pseudopotential_basis, const NormConservingPlanewaveKohnShamSCFState &scf_state, StressTensorContributions &result)
 
- Public Member Functions inherited from q3::ExchangeCorrelationStressTensorCalculator
 ExchangeCorrelationStressTensorCalculator (const Crystal &crystal_structure, const PlanewaveBasis &planewave_basis, const NormConservingPlanewaveKohnShamSCFState &scf_state, StressTensorContributions &result)
 
virtual ~ExchangeCorrelationStressTensorCalculator ()=default
 
void compute ()
 
- Public Member Functions inherited from q3::ExchangeCorrelationStressDensitySource
virtual ~ExchangeCorrelationStressDensitySource ()=default
 

Protected Member Functions

std::vector< Complex > build_spin_charge_density_g (int spin_index) const override
 
std::vector< Complex > build_total_charge_density_g () const override
 

Additional Inherited Members

- Protected Attributes inherited from q3::ExchangeCorrelationStressTensorCalculator
const Crystal & crystal_structure_
 
const PlanewaveBasis & planewave_basis_
 
StressTensorContributions & result_
 
const NormConservingPlanewaveKohnShamSCFState & scf_state_
 

Detailed Description

Definition at line 25 of file exchange_correlation.hpp.

Constructor & Destructor Documentation

◆ PseudopotentialExchangeCorrelationStressTensorCalculator()

q3::PseudopotentialExchangeCorrelationStressTensorCalculator::PseudopotentialExchangeCorrelationStressTensorCalculator ( const Crystal &  crystal_structure,
const PlanewaveBasis &  planewave_basis,
const NormConservingPlanewaveBasis &  pseudopotential_basis,
const NormConservingPlanewaveKohnShamSCFState &  scf_state,
StressTensorContributions &  result 
)
inline

Definition at line 28 of file exchange_correlation.hpp.

Member Function Documentation

◆ build_spin_charge_density_g()

std::vector< Complex > q3::PseudopotentialExchangeCorrelationStressTensorCalculator::build_spin_charge_density_g ( int  spin_index) const
inlineoverrideprotectedvirtual

Build the per-spin charge density including NLCC core charge. The core charge carries no net moment, so it is split evenly across the two spin channels (preserving core_up + core_down = core_total).

Reimplemented from q3::ExchangeCorrelationStressTensorCalculator.

Definition at line 60 of file exchange_correlation.hpp.

References q3::ExchangeCorrelationStressTensorCalculator::build_spin_charge_density_g(), and q3::NormConservingPlanewaveBasis::core_charge_density_reciprocal().

◆ build_total_charge_density_g()

std::vector< Complex > q3::PseudopotentialExchangeCorrelationStressTensorCalculator::build_total_charge_density_g ( ) const
inlineoverrideprotectedvirtual

Build the total charge density including NLCC core charge. Adds the pseudopotential core charge density to the valence charge density.

Reimplemented from q3::ExchangeCorrelationStressTensorCalculator.

Definition at line 43 of file exchange_correlation.hpp.

References q3::ExchangeCorrelationStressTensorCalculator::build_total_charge_density_g(), and q3::NormConservingPlanewaveBasis::core_charge_density_reciprocal().


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