![]() |
Octopus
|
QEDFT / electron-photon (cavity) extension of the Kohn-Sham potential. More...
QEDFT / electron-photon (cavity) extension of the Kohn-Sham potential.
Holds the photon-specific state of v_ks_oct_m::v_ks_t (the QEDFT functional selector, the photon-free exchange object, the photon OEP object and the mean-field photon object) together with the corresponding init / end / potential routines. It is kept in a separate module so that the (experimental) photon machinery and its module closure do not have to be parsed and compiled as part of v_ks.F90 itself. v_ks_oct_m::v_ks_t embeds a v_ks_photon_t and forwards to the routines below.
Data Types | |
| type | v_ks_photon_t |
| Photon (QEDFT) part of v_ks_t. More... | |
Functions/Subroutines | |
| subroutine | v_ks_photon_init (this, namespace) |
| Parse the QEDFT input variables and set photon defaults. More... | |
| subroutine | v_ks_photon_init_xc (this, namespace, space, gr, st) |
| Initialize the photon-free exchange object when a QEDFT functional is selected. More... | |
| subroutine | v_ks_photon_setup (this, namespace, modes, gr, st, ions, mc, space, xc, xc_family, oep_level) |
| Set up the photon modes, mean-field object and photon OEP (called after v_ks_init). More... | |
| subroutine | v_ks_photon_end (this) |
| Finalize all photon objects. More... | |
| subroutine | v_ks_photon_mf_calc (this, gr, st, ions, time) |
| Update the mean-field photon quantities (time-dependent run, mean-field QEDFT). More... | |
| subroutine | v_ks_photon_add_px (this, namespace, total_density, gr, space, psolver, st, spin_channels, vxc, e_photon_exchange) |
| Add the photon-free photon-exchange potential to vxc and return its energy. More... | |
| subroutine | v_ks_photon_oep_calc (this, namespace, xc, gr, hm, st, space, vxc) |
| Compute the photon OEP potential/energy contribution. More... | |
| subroutine | v_ks_photon_add_mf_potential (this, gr, vhxc, ispin, photon_forces) |
| Add the mean-field photon potential to vhxc and set the photon forces. More... | |
| subroutine | v_ks_photon_add_mean_field (this, gr, space, kpoints, st, time, dt) |
| Add the photon mean field to the paramagnetic-current integral (time propagation). More... | |
| subroutine | v_ks_photon_restart_dump (this, restart, gr, dt, ierr) |
| Dump photon restart data; error bits added to ierr (16: mean field, 32: photon-free). More... | |
| subroutine | v_ks_photon_restart_load (this, restart, gr, space, ierr) |
| Load photon restart data; error bits added to ierr (16: mean field, 32: photon-free). More... | |
| subroutine | v_ks_photon_write_info (this, iunit) |
| Write the photon observables (number, exchange) to the SCF info output. More... | |
| logical pure function | v_ks_photon_active (this) |
| Whether photons are enabled in this v_ks. More... | |
| subroutine | v_ks_photon_set_active (this, val) |
| Enable/disable photons (set before v_ks_init). More... | |
| integer pure function | v_ks_photon_functional (this) |
| The selected QEDFT functional (0 = none). More... | |
| logical pure function | v_ks_photon_include_hartree (this) |
| Whether to include the Hartree term (QEDFT). More... | |
| integer pure function | v_ks_photon_nmodes (this) |
| Number of photon modes. More... | |
| logical pure function | v_ks_photon_oep_full (this) |
| Whether the photon OEP is at the FULL level (controls correlator output). More... | |
| real(real64) function, dimension(:), pointer | v_ks_photon_correlator (this) |
| Pointer to the photon correlator (for output). More... | |
| type(mf_t) function, pointer | v_ks_photon_get_pt_mx (this) |
| Pointer to the mean-field photon object (for time-dependent output). More... | |
| type(xc_photons_t) function, pointer | v_ks_photon_get_xc_photons (this) |
| Pointer to the photon-free exchange object. More... | |
|
private |
Parse the QEDFT input variables and set photon defaults.
Definition at line 201 of file v_ks_photon.F90.
|
private |
Initialize the photon-free exchange object when a QEDFT functional is selected.
Definition at line 248 of file v_ks_photon.F90.
|
private |
Set up the photon modes, mean-field object and photon OEP (called after v_ks_init).
Definition at line 268 of file v_ks_photon.F90.
|
private |
Finalize all photon objects.
Definition at line 302 of file v_ks_photon.F90.
|
private |
Update the mean-field photon quantities (time-dependent run, mean-field QEDFT).
Definition at line 320 of file v_ks_photon.F90.
|
private |
Add the photon-free photon-exchange potential to vxc and return its energy.
Definition at line 336 of file v_ks_photon.F90.
|
private |
Compute the photon OEP potential/energy contribution.
Does nothing (and is cheap to call) when the photon OEP level is NONE, so the caller does not need to know about the OEP photon level.
Definition at line 370 of file v_ks_photon.F90.
|
private |
Add the mean-field photon potential to vhxc and set the photon forces.
Definition at line 398 of file v_ks_photon.F90.
|
private |
Add the photon mean field to the paramagnetic-current integral (time propagation).
Definition at line 420 of file v_ks_photon.F90.
|
private |
Dump photon restart data; error bits added to ierr (16: mean field, 32: photon-free).
Definition at line 440 of file v_ks_photon.F90.
|
private |
Load photon restart data; error bits added to ierr (16: mean field, 32: photon-free).
Definition at line 466 of file v_ks_photon.F90.
|
private |
Write the photon observables (number, exchange) to the SCF info output.
Definition at line 491 of file v_ks_photon.F90.
|
private |
Whether photons are enabled in this v_ks.
Definition at line 509 of file v_ks_photon.F90.
|
private |
Enable/disable photons (set before v_ks_init).
Definition at line 516 of file v_ks_photon.F90.
|
private |
The selected QEDFT functional (0 = none).
Definition at line 524 of file v_ks_photon.F90.
|
private |
Whether to include the Hartree term (QEDFT).
Definition at line 531 of file v_ks_photon.F90.
|
private |
Number of photon modes.
Definition at line 538 of file v_ks_photon.F90.
|
private |
Whether the photon OEP is at the FULL level (controls correlator output).
Definition at line 545 of file v_ks_photon.F90.
|
private |
Pointer to the photon correlator (for output).
Definition at line 552 of file v_ks_photon.F90.
|
private |
Pointer to the mean-field photon object (for time-dependent output).
Definition at line 560 of file v_ks_photon.F90.
|
private |
Pointer to the photon-free exchange object.
Definition at line 568 of file v_ks_photon.F90.