Octopus
|
Data Types | |
type | debye_param_t |
set of parameters for Debye dielectric model More... | |
type | drude_param_t |
set of parameters for Drude-Lorentz dielectric model More... | |
type | pcm_tessera_t |
tesselation derived type More... | |
Functions/Subroutines | |
subroutine, public | pcm_charges_propagation (q_t, pot_t, this_dt, this_cts_act, input_asc, this_eom, this_eps, namespace, this_deb, this_drl) |
Driving subroutine for the Equation of Motion (EOM) propagation of the polarization charges within the Integral Equation Formalism (IEF) formulation of the Polarization Continuum Model (PCM). More... | |
subroutine | pcm_charges_from_input_file (q_t, pot_t, namespace) |
Polarization charges initialization from input file. More... | |
subroutine | init_charges (q_t, pot_t, namespace) |
Polarization charges initialization (in equilibrium with the initial potential for electrons) More... | |
subroutine | pcm_ief_prop_deb (q_t, pot_t) |
Euler method for integrating first order EOM for the polarization charges within IEF-PCM in the case of Debye dielectric functions. More... | |
subroutine | init_vv_propagator |
Subroutine to initialize numerical constants required by the Velocity-Verlet (VV) algorithm. More... | |
subroutine | pcm_ief_prop_vv_ief_drl (q_t, pot_t) |
VV algorithm for integrating second order EOM for the polarization charges within IEF-PCM in the case of Drude-Lorentz dielectric functions. More... | |
subroutine | pcm_bem_init (namespace) |
Boundary Element Method (BEM) EOM-IEF-PCM matrices initialization. More... | |
subroutine, public | pcm_eom_end () |
subroutine | do_pcm_propmat (namespace) |
Subroutine to build the required BEM matrices for the EOM-IEF-PCM for Debye and Drude-Lorentz cases. More... | |
subroutine | green_d (i, j, value) |
Subroutine to build BEM matrix corresponding to the Calderon operator D, using the Green function of an isotropic medium (!) More... | |
subroutine | green_s (i, j, value) |
Subroutine to build BEM matrix corresponding to the Calderon operator S, using the Green function of an isotropic medium (!) More... | |
subroutine | allocate_ts_matrix () |
subroutine | deallocate_ts_matrix () |
subroutine | do_ts_matrix (namespace) |
Subroutine to build matrices \(S^{1/2}\), \(S^{-1/2}\), \(T\) and \(\Lambda\) (notation of Refs.1-2) More... | |
subroutine, public | pcm_eom_enough_initial (not_yet_called) |
Variables | |
type(pcm_tessera_t), dimension(:), allocatable | cts_act |
tesselation arrays (nts_act) More... | |
integer | nts_act |
number of tesserae More... | |
integer, parameter, public | pcm_debye_model = 1 |
integer, parameter, public | pcm_drude_model = 2 |
integer, parameter, public | pcm_electrons = 0 |
integer, parameter, public | pcm_nuclei = 1 |
integer, parameter, public | pcm_external_potential = 2 |
integer, parameter, public | pcm_kick = 3 |
integer, parameter, public | pcm_external_plus_kick = 4 |
type(debye_param_t) | deb |
type(drude_param_t) | drl |
integer | which_eom |
flag for PCM charges due to: electrons, external potential (including kick) or just the kick More... | |
integer | which_eps |
flag for Debye (PCM_DEBYE_MODEL) and Drude-Lorentz (PCM_DRUDE_MODEL) models More... | |
real(real64) | dt |
time-step of the propagation More... | |
real(real64), dimension(:), allocatable | q_tp |
real(real64), dimension(:), allocatable | dq_tp |
due to solute electrons More... | |
real(real64), dimension(:), allocatable | qext_tp |
real(real64), dimension(:), allocatable | dqext_tp |
due to external potential More... | |
real(real64), dimension(:), allocatable | qkick_tp |
real(real64), dimension(:), allocatable | dqkick_tp |
due to kick More... | |
real(real64), dimension(:), allocatable | pot_tp |
Hartree (electrons) potential in previous iteration. More... | |
real(real64), dimension(:), allocatable | potext_tp |
external potential in previous iteration More... | |
real(real64) | f1 |
real(real64) | f2 |
real(real64) | f3 |
real(real64) | f4 |
real(real64) | f5 |
auxiliar constants for VV More... | |
real(real64), dimension(:), allocatable | force_tp |
due to solute electrons More... | |
real(real64), dimension(:), allocatable | force_qext_tp |
due to external potential More... | |
real(real64), dimension(:), allocatable | force_qkick_tp |
due to kick More... | |
real(real64), dimension(:,:), allocatable | cals |
real(real64), dimension(:,:), allocatable | cald |
Calderon matrices S and D from Eq.(5), Ref.1. More... | |
real(real64), dimension(:), allocatable | eigv |
real(real64), dimension(:,:), allocatable | eigt |
\( \Lambda \) and T matrices from Eq.(10), Ref.1 More... | |
real(real64), dimension(:,:), allocatable | sm12 |
real(real64), dimension(:,:), allocatable | sp12 |
\(S^{-1/2}\) and \(S^{1/2}\) \(Q^{IEF(d)}_0\) (not used in ref.) and \(Q^{IEF(d)}_d\) from Eq.(18) with eps_0/eps_d More... | |
real(real64), dimension(:,:), allocatable | matq0 |
real(real64), dimension(:,:), allocatable | matqd |
for solute More... | |
real(real64), dimension(:,:), allocatable | matq0_lf |
real(real64), dimension(:,:), allocatable | matqd_lf |
for external potential More... | |
real(real64), dimension(:,:), allocatable | matqv |
real(real64), dimension(:,:), allocatable | matqq |
for solute More... | |
real(real64), dimension(:,:), allocatable | matqv_lf |
for external potential More... | |
logical | enough_initial = .false. |
subroutine, public pcm_eom_oct_m::pcm_charges_propagation | ( | real(real64), dimension(:), intent(out) | q_t, |
real(real64), dimension(:), intent(in) | pot_t, | ||
real(real64), intent(in) | this_dt, | ||
type(pcm_tessera_t), dimension(:), intent(in) | this_cts_act, | ||
logical, intent(in) | input_asc, | ||
integer, intent(in) | this_eom, | ||
integer, intent(in) | this_eps, | ||
type(namespace_t), intent(in) | namespace, | ||
type(debye_param_t), intent(in), optional | this_deb, | ||
type(drude_param_t), intent(in), optional | this_drl | ||
) |
Driving subroutine for the Equation of Motion (EOM) propagation of the polarization charges within the Integral Equation Formalism (IEF) formulation of the Polarization Continuum Model (PCM).
[in] | this_eom | EOM case, either due to electrons ('electron') or due to external potential ('external') |
[in] | this_eps | type of dielectric model to be used, either Debye (PCM_DEBYE_MODEL) or Drude-Lorentz (PCM_DRUDE_MODEL) |
Definition at line 231 of file pcm_eom.F90.
|
private |
Polarization charges initialization from input file.
Definition at line 345 of file pcm_eom.F90.
|
private |
Polarization charges initialization (in equilibrium with the initial potential for electrons)
Definition at line 391 of file pcm_eom.F90.
|
private |
Euler method for integrating first order EOM for the polarization charges within IEF-PCM in the case of Debye dielectric functions.
Definition at line 470 of file pcm_eom.F90.
|
private |
Subroutine to initialize numerical constants required by the Velocity-Verlet (VV) algorithm.
See E. Vanden-Eijnden, G. Ciccotti, Chem.Phys.Lett. 429 (2006) 310-316. Using the scheme in Eq.(21) and (17), ibid. See subroutine pcm_ief_prop_vv_ief_drl
Definition at line 513 of file pcm_eom.F90.
|
private |
VV algorithm for integrating second order EOM for the polarization charges within IEF-PCM in the case of Drude-Lorentz dielectric functions.
Definition at line 528 of file pcm_eom.F90.
|
private |
Boundary Element Method (BEM) EOM-IEF-PCM matrices initialization.
Definition at line 570 of file pcm_eom.F90.
subroutine, public pcm_eom_oct_m::pcm_eom_end |
Definition at line 623 of file pcm_eom.F90.
|
private |
Subroutine to build the required BEM matrices for the EOM-IEF-PCM for Debye and Drude-Lorentz cases.
Following from Ref.1 - J.Phys.Chem.A 2015, 119, 5405-5416. - Debye case Ref.2 - J.Phys.Chem.C 2016, 120, 28-774-28781. - Drude-Lorentz case The matrices are required for the EOMs, eq.(37) in Ref.1 and eq.(15) in Ref.2
Definition at line 665 of file pcm_eom.F90.
|
private |
Subroutine to build BEM matrix corresponding to the Calderon operator D, using the Green function of an isotropic medium (!)
Only solvents can be treated with this. To be changed for surfaces, spherical nanoparticles, etc.
Definition at line 801 of file pcm_eom.F90.
|
private |
Subroutine to build BEM matrix corresponding to the Calderon operator S, using the Green function of an isotropic medium (!)
Only solvents can be treated with this. To be changed for surfaces, spherical nanoparticles, etc.
Definition at line 825 of file pcm_eom.F90.
|
private |
Definition at line 845 of file pcm_eom.F90.
|
private |
Definition at line 857 of file pcm_eom.F90.
|
private |
Subroutine to build matrices \(S^{1/2}\), \(S^{-1/2}\), \(T\) and \(\Lambda\) (notation of Refs.1-2)
Definition at line 870 of file pcm_eom.F90.
subroutine, public pcm_eom_oct_m::pcm_eom_enough_initial | ( | logical, intent(out) | not_yet_called | ) |
Definition at line 933 of file pcm_eom.F90.
|
private |
tesselation arrays (nts_act)
Definition at line 149 of file pcm_eom.F90.
|
private |
number of tesserae
Definition at line 150 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_debye_model = 1 |
Definition at line 168 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_drude_model = 2 |
Definition at line 168 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_electrons = 0 |
Definition at line 172 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_nuclei = 1 |
Definition at line 172 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_external_potential = 2 |
Definition at line 172 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_kick = 3 |
Definition at line 172 of file pcm_eom.F90.
integer, parameter, public pcm_eom_oct_m::pcm_external_plus_kick = 4 |
Definition at line 172 of file pcm_eom.F90.
|
private |
Definition at line 180 of file pcm_eom.F90.
|
private |
Definition at line 181 of file pcm_eom.F90.
|
private |
flag for PCM charges due to: electrons, external potential (including kick) or just the kick
Definition at line 184 of file pcm_eom.F90.
|
private |
flag for Debye (PCM_DEBYE_MODEL) and Drude-Lorentz (PCM_DRUDE_MODEL) models
Definition at line 187 of file pcm_eom.F90.
|
private |
time-step of the propagation
Definition at line 189 of file pcm_eom.F90.
|
private |
Definition at line 192 of file pcm_eom.F90.
|
private |
due to solute electrons
Definition at line 192 of file pcm_eom.F90.
|
private |
Definition at line 193 of file pcm_eom.F90.
|
private |
due to external potential
Definition at line 193 of file pcm_eom.F90.
|
private |
Definition at line 194 of file pcm_eom.F90.
|
private |
due to kick
Definition at line 194 of file pcm_eom.F90.
|
private |
Hartree (electrons) potential in previous iteration.
Definition at line 196 of file pcm_eom.F90.
|
private |
external potential in previous iteration
Definition at line 197 of file pcm_eom.F90.
|
private |
Definition at line 200 of file pcm_eom.F90.
|
private |
Definition at line 200 of file pcm_eom.F90.
|
private |
Definition at line 200 of file pcm_eom.F90.
|
private |
Definition at line 200 of file pcm_eom.F90.
|
private |
auxiliar constants for VV
Definition at line 200 of file pcm_eom.F90.
|
private |
due to solute electrons
Definition at line 202 of file pcm_eom.F90.
|
private |
due to external potential
Definition at line 203 of file pcm_eom.F90.
|
private |
due to kick
Definition at line 204 of file pcm_eom.F90.
|
private |
Definition at line 208 of file pcm_eom.F90.
|
private |
Calderon matrices S and D from Eq.(5), Ref.1.
Definition at line 208 of file pcm_eom.F90.
|
private |
Definition at line 209 of file pcm_eom.F90.
|
private |
\( \Lambda \) and T matrices from Eq.(10), Ref.1
Definition at line 209 of file pcm_eom.F90.
|
private |
Definition at line 210 of file pcm_eom.F90.
|
private |
\(S^{-1/2}\) and \(S^{1/2}\) \(Q^{IEF(d)}_0\) (not used in ref.) and \(Q^{IEF(d)}_d\) from Eq.(18) with eps_0/eps_d
Definition at line 210 of file pcm_eom.F90.
|
private |
Definition at line 212 of file pcm_eom.F90.
|
private |
for solute
Definition at line 212 of file pcm_eom.F90.
|
private |
Definition at line 213 of file pcm_eom.F90.
|
private |
for external potential
Definition at line 213 of file pcm_eom.F90.
|
private |
Definition at line 216 of file pcm_eom.F90.
|
private |
for solute
Definition at line 216 of file pcm_eom.F90.
|
private |
for external potential
Definition at line 217 of file pcm_eom.F90.
|
private |
Definition at line 224 of file pcm_eom.F90.