![]()  | 
  
    Octopus
    
   | 
 
This module implements the "photon-free" electron-photon exchange-correlation functional. More...
This module implements the "photon-free" electron-photon exchange-correlation functional.
For further details see
Data Types | |
| type | xc_photons_t | 
| This class described the 'photon-exchange' electron-photon xc functionals, based on QEDFT.  More... | |
Functions/Subroutines | |
| subroutine | xc_photons_init (xc_photons, namespace, xc_photon, space, gr, st) | 
| initialize the photon-exchange functional  More... | |
| subroutine | xc_photons_end (this) | 
| subroutine | xc_photons_v_ks (xc_photons, namespace, total_density, density, gr, space, psolver, ep, st) | 
| evaluate the KS potential and energy for the given functional  More... | |
| subroutine | photon_free_vpx_lda (namespace, xc_photons, total_density, gr, space, psolver) | 
| compute the electron-photon exchange potential within the LDA  More... | |
| subroutine | photon_free_vpx_wfc (namespace, xc_photons, total_density, gr, space, st) | 
| compute the electron-photon exchange potential based on wave functions  More... | |
| subroutine | xc_photons_add_mean_field (xc_photons, gr, space, kpoints, st, time, dt) | 
| accumulate the results of time integral the paramagnetic current.  More... | |
| logical pure function | xc_photons_wants_to_renormalize_mass (xc_photons) | 
| indicate whether the photon-exchange requires a renormalized electron mass  More... | |
| real(real64) pure function | xc_photons_get_renormalized_emass (xc_photons) | 
| return the renormalized electron mass for the electron-photon exhange  More... | |
| subroutine | xc_photons_mf_dump (xc_photons, restart, ierr) | 
| write restart information  More... | |
| subroutine | xc_photons_mf_load (xc_photons, restart, space, ierr) | 
| load restart information  More... | |
Variables | |
| integer, parameter, private | xc_photons_none = 0 | 
| integer, parameter, private | xc_photons_lda = 1 | 
| integer, parameter, private | xc_photons_wfs = 2 | 
      
  | 
  private | 
initialize the photon-exchange functional
Definition at line 199 of file xc_photons.F90.
      
  | 
  private | 
Definition at line 359 of file xc_photons.F90.
      
  | 
  private | 
evaluate the KS potential and energy for the given functional
This routine is a wrapper to the specific routines
Definition at line 383 of file xc_photons.F90.
      
  | 
  private | 
compute the electron-photon exchange potential within the LDA
This is based on the expression
\[ \nabla^{2} v_{{\rm{pxLDA}}}(\mathbf{r}) = -\sum_{\alpha=1}^{M_{p}} \frac{2 \pi^{2}\tilde{\lambda}_{\alpha}^{2}}{\tilde{\omega}_{\alpha}^{2}} \left[ (\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\nabla)^{2}\left(\frac{\rho(\mathbf{r})}{2V_{d}}\right)^{\frac{2}{d}} \right] \]
The calculation if the energy is determined by the variable PhotonXCEnergyMethod:
virial: \[ E_{\rm{px}}^{\rm{virial}} = \frac{1}{2}\int d\mathbf{r}\ \mathbf{r}\cdot[-\rho(\mathbf{r})\nabla v_{\rm{px}}(\mathbf{r})] \]
expectation_value: \[ E_{\rm{px}}[\rho] = -\sum_{\alpha=1}^{M_{p}} \frac{\tilde{\lambda}_{\alpha}^{2}}{2\tilde{\omega}_{\alpha}^{2}} \langle (\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\hat{\mathbf{J}}_{\rm{p}})\Phi[\rho] | (\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\hat{\mathbf{J}}_{\rm{p}})\Phi[\rho] \rangle \]
LDA: \[ E_{\rm pxLDA}[\rho]= \frac{-2\pi^{2}}{(d+2)({2V_{d}})^{\frac{2}{d}}} \sum_{\alpha=1}^{M_{p}} \frac{\tilde{\lambda}_{\alpha}^{2}}{\tilde{\omega}_{\alpha}^{2}} \int d\mathbf{r}\ \rho^{\frac{2+d}{d}}(\mathbf{r}) \]
Definition at line 472 of file xc_photons.F90.
      
  | 
  private | 
compute the electron-photon exchange potential based on wave functions
This is based on the expression
\[ v_{\rm{px}}(\mathbf{r}) = \sum_{\alpha=1}^{M_{p}}\frac{{\tilde{\lambda}}_{\alpha}^{2}}{2\tilde{\omega}_{\alpha}^{2}} \frac{(\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\nabla)^{2} \rho^{\frac{1}{2}}(\mathbf{r})}{\rho^{\frac{1}{2}}(\mathbf{r})} \]
The calculation if the energy is determined by the variable PhotonXCEnergyMethod:
virial: \[ E_{\rm{px}}^{\rm{virial}} = \frac{1}{2}\int d\mathbf{r}\ \mathbf{r}\cdot[-\rho(\mathbf{r})\nabla v_{\rm{px}}(\mathbf{r})] \]
expectation_value: \[ E_{\rm{px}}[\rho] = -\sum_{\alpha=1}^{M_{p}} \frac{\tilde{\lambda}_{\alpha}^{2}}{2\tilde{\omega}_{\alpha}^{2}} \langle (\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\hat{\mathbf{J}}_{\rm{p}})\Phi[\rho] | (\tilde{\mathbf{{\varepsilon}}}_{\alpha}\cdot\hat{\mathbf{J}}_{\rm{p}})\Phi[\rho] \rangle \]
Definition at line 755 of file xc_photons.F90.
      
  | 
  private | 
accumulate the results of time integral the paramagnetic current.
This is based on the formula
\[ \tilde{A}_{\rm{s},\alpha}(t) = -c\int_{-\infty}^{t} \frac{\tilde{\lambda}_{\alpha}^{2}}{\tilde{\omega}_{\alpha}} \sin\left[\tilde{\omega}_{\alpha}(t-t_1)\right] \tilde{\mathbf{{\varepsilon}}}_{\alpha} \cdot \mathbf{j}_{\rm{p}}(t_1) {dt_1} \]
Definition at line 896 of file xc_photons.F90.
      
  | 
  private | 
indicate whether the photon-exchange requires a renormalized electron mass
Renormalizing the electron mass is required if using the free-space Lamb shift.
Definition at line 961 of file xc_photons.F90.
      
  | 
  private | 
return the renormalized electron mass for the electron-photon exhange
Definition at line 969 of file xc_photons.F90.
      
  | 
  private | 
write restart information
Definition at line 978 of file xc_photons.F90.
      
  | 
  private | 
load restart information
Definition at line 1018 of file xc_photons.F90.
      
  | 
  private | 
Definition at line 189 of file xc_photons.F90.
      
  | 
  private | 
Definition at line 189 of file xc_photons.F90.
      
  | 
  private | 
Definition at line 189 of file xc_photons.F90.