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.