Loading...
Searching...
No Matches
q3::paw_one_center::OneCenterBranch Struct Reference

One branch (all-electron or pseudo) of the one-center terms. More...

#include <energy.hpp>

Public Member Functions

bool has_gradient_correction () const
 

Public Attributes

std::vector< std::vector< Real > > gradient_angular_weight_lm
 Q_lm.
 
std::vector< std::vector< Real > > gradient_radial_weight_lm
 P_lm.
 
Real hartree_energy {}
 
std::vector< std::vector< Real > > potential_lm
 v_H + v_rho, lm-decomposed — what D_ij's local term integrates against.
 
Real xc_energy {}
 

Detailed Description

One branch (all-electron or pseudo) of the one-center terms.

Definition at line 105 of file energy.hpp.

Member Function Documentation

◆ has_gradient_correction()

bool q3::paw_one_center::OneCenterBranch::has_gradient_correction ( ) const
inline

Definition at line 131 of file energy.hpp.

References gradient_radial_weight_lm.

Member Data Documentation

◆ gradient_angular_weight_lm

std::vector<std::vector<Real> > q3::paw_one_center::OneCenterBranch::gradient_angular_weight_lm

Q_lm.

Definition at line 129 of file energy.hpp.

◆ gradient_radial_weight_lm

std::vector<std::vector<Real> > q3::paw_one_center::OneCenterBranch::gradient_radial_weight_lm

P_lm.

Gradient-correction weights, empty for LDA.

A GGA energy depends on ∇n, so its derivative carries a term 2∫v_σ ∇n·∇δn. Rather than take the divergence ∇·(2v_σ∇n) — which would introduce a numerical error the D ≡ ∂E/∂ρ identity cannot absorb — the term is integrated by parts against the perturbation's own channels:

2∫ v_σ ∇n·∇δn dV = Σ_lm ∫ dr [ r² g'_lm P_lm + g_lm Q_lm ]

with δn = Σ_lm g_lm(r) Y_lm(Ω), and

P_lm(r) = ∫dΩ 2 v_σ (∂n/∂r) Y_lm
Q_lm(r) = ∫dΩ 2 v_σ (∇_Ω n · ∇_Ω Y_lm)

so the identity holds by construction rather than by cancellation.

Definition at line 128 of file energy.hpp.

Referenced by has_gradient_correction().

◆ hartree_energy

Real q3::paw_one_center::OneCenterBranch::hartree_energy {}

Definition at line 106 of file energy.hpp.

Referenced by q3::paw_one_center::OneCenterEnergy::total().

◆ potential_lm

std::vector<std::vector<Real> > q3::paw_one_center::OneCenterBranch::potential_lm

v_H + v_rho, lm-decomposed — what D_ij's local term integrates against.

Definition at line 109 of file energy.hpp.

◆ xc_energy

Real q3::paw_one_center::OneCenterBranch::xc_energy {}

Definition at line 107 of file energy.hpp.

Referenced by q3::paw_one_center::OneCenterEnergy::total().


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