Octopus
pcm_oct_m::pcm_t Type Reference

Detailed Description

Definition at line 186 of file pcm.F90.

Public Attributes

logical, public run_pcm
 If .true., PCM calculation is enabled. More...
 
integer, public tdlevel
 flag to use non-equilibrium TD-PCM, either inertial/dynamic split or EOM More...
 
integer, public n_tesserae
 Total number of tesserae. More...
 
type(pcm_tessera_t), dimension(:), allocatable, public tess
 See type pcm_tessera_t. More...
 
real(real64), dimension(:), allocatable, public q_e
 polarization charges due to the solute electrons More...
 
real(real64), dimension(:), allocatable, public q_e_in
 inertial polarization charges due to the solute electrons More...
 
real(real64), dimension(:), allocatable, public v_e_rs
 PCM potential in real-space produced by q_e(:) More...
 
real(real64), dimension(:), allocatable, public v_n_rs
 PCM potential in real-space produced by q_n(:) More...
 
real(real64), dimension(:), allocatable, public v_ext_rs
 PCM potential in real-space produced by q_ext(:) More...
 
real(real64), dimension(:), allocatable, public v_kick_rs
 PCM potential in real-space produced by q_kick(:) More...
 
real(real64), public epsilon_0
 Static dielectric constant of the solvent. More...
 
real(real64), public epsilon_infty
 Infinite-frequency dielectric constant of the solvent. More...
 
integer, public which_eps
 Dielectric function model, either Debye or Drude-Lorentz. More...
 
logical, public localf
 Logical flag to include polarization charges due to external field. More...
 
logical, public solute
 Logical flag to include polarization charges due to the solute. More...
 
logical, public kick_like
 Logical flag to consider kick-like polarization due to kick. More...
 
integer, public counter
 used to print the number of SCF or TD iterations in energy_calc More...
 
integer, public iter
 update iteration counter More...
 
real(real64), public dt
 time-step of propagation More...
 

Private Attributes

integer n_spheres
 Number of spheres used to build the VdW cavity. More...
 
type(pcm_sphere_t), dimension(:), allocatable spheres
 See type pcm_sphere_t. More...
 
real(real64) scale_r
 scaling factor for the radii of the spheres used in PCM More...
 
real(real64), dimension(:,:), allocatable matrix
 static PCM response matrix (for epsilon_0) More...
 
real(real64), dimension(:,:), allocatable matrix_d
 dynamical PCM response matrix (for epsilon_infty) More...
 
real(real64), dimension(:,:), allocatable matrix_lf
 static PCM response matrix (for epsilon_0) - local field effects More...
 
real(real64), dimension(:,:), allocatable matrix_lf_d
 dynamical PCM response matrix (for epsilon_infty) - local field effects More...
 
real(real64), dimension(:), allocatable q_n
 polarization charges due to the solute nuclei More...
 
real(real64), dimension(:), allocatable rho_e
 polarization density due to the solute electrons More...
 
real(real64), dimension(:), allocatable rho_n
 polarization density due to the solute nuclei More...
 
real(real64) qtot_e
 total polarization charge due to electrons More...
 
real(real64) qtot_n
 total polarization charge due to nuclei More...
 
real(real64) qtot_e_in
 total inertial polarization charge due to electrons More...
 
real(real64) q_e_nominal
 total (nominal) electronic charge More...
 
real(real64) q_n_nominal
 total (nominal) nuclear charge More...
 
logical renorm_charges
 flag to renormalized polarization charges More...
 
real(real64) q_tot_tol
 tolerance to trigger normalization of the polarization charges More...
 
real(real64) deltaq_e
 difference between the calculated and nominal electronic charge More...
 
real(real64) deltaq_n
 difference between the calculated and nominal nuclear charge More...
 
real(real64), dimension(:), allocatable v_e
 Hartree potential at each tessera. More...
 
real(real64), dimension(:), allocatable v_n
 Nuclear potential at each tessera. More...
 
real(real64), dimension(:), allocatable q_ext
 polarization charges due to an ext. pot. More...
 
real(real64), dimension(:), allocatable q_ext_in
 inertial polarization charges due to an ext. pot. More...
 
real(real64), dimension(:), allocatable rho_ext
 polarization density due to an ext. pot. More...
 
real(real64) qtot_ext
 total polarization charge due to an ext. pot. More...
 
real(real64) qtot_ext_in
 total inertial polarization charge due to an ext. pot. More...
 
real(real64), dimension(:), allocatable v_ext
 external potential at each tessera More...
 
real(real64), dimension(:), allocatable q_kick
 polarization charges due to kick More...
 
real(real64), dimension(:), allocatable rho_kick
 polarization density due to kick More...
 
real(real64) qtot_kick
 total polarization charge due to kick More...
 
real(real64), dimension(:), allocatable v_kick
 kick potential at each tessera More...
 
type(debye_param_tdeb
 Debye parameters. More...
 
type(drude_param_tdrl
 Drude-Lorentz parameters. More...
 
logical kick_is_present
 .true. if there are kicks in the calculation More...
 
integer initial_asc
 Flag to read or not pol.charges from input file. More...
 
real(real64) gaussian_width
 Parameter to change the width of density of polarization charges. More...
 
integer info_unit
 unit for pcm info file More...
 
character(len=80) input_cavity
 file name containing the geometry of the VdW cavity More...
 
integer update_iter
 how often the pcm potential is updated More...
 
integer calc_method
 which method should be used to obtain the pcm potential More...
 
integer tess_nn
 number of tessera center mesh-point nearest neighbors More...
 
type(namespace_t), pointer namespace
 
type(space_tspace
 

Member Data Documentation

◆ run_pcm

logical, public pcm_oct_m::pcm_t::run_pcm

If .true., PCM calculation is enabled.

Definition at line 188 of file pcm.F90.

◆ tdlevel

integer, public pcm_oct_m::pcm_t::tdlevel

flag to use non-equilibrium TD-PCM, either inertial/dynamic split or EOM

Definition at line 189 of file pcm.F90.

◆ n_spheres

integer pcm_oct_m::pcm_t::n_spheres
private

Number of spheres used to build the VdW cavity.

Definition at line 190 of file pcm.F90.

◆ n_tesserae

integer, public pcm_oct_m::pcm_t::n_tesserae

Total number of tesserae.

Definition at line 191 of file pcm.F90.

◆ spheres

type(pcm_sphere_t), dimension(:), allocatable pcm_oct_m::pcm_t::spheres
private

See type pcm_sphere_t.

Definition at line 192 of file pcm.F90.

◆ tess

type(pcm_tessera_t), dimension(:), allocatable, public pcm_oct_m::pcm_t::tess

See type pcm_tessera_t.

Definition at line 193 of file pcm.F90.

◆ scale_r

real(real64) pcm_oct_m::pcm_t::scale_r
private

scaling factor for the radii of the spheres used in PCM

Definition at line 194 of file pcm.F90.

◆ matrix

real(real64), dimension(:,:), allocatable pcm_oct_m::pcm_t::matrix
private

static PCM response matrix (for epsilon_0)

Definition at line 195 of file pcm.F90.

◆ matrix_d

real(real64), dimension(:,:), allocatable pcm_oct_m::pcm_t::matrix_d
private

dynamical PCM response matrix (for epsilon_infty)

Definition at line 196 of file pcm.F90.

◆ matrix_lf

real(real64), dimension(:,:), allocatable pcm_oct_m::pcm_t::matrix_lf
private

static PCM response matrix (for epsilon_0) - local field effects

Definition at line 197 of file pcm.F90.

◆ matrix_lf_d

real(real64), dimension(:,:), allocatable pcm_oct_m::pcm_t::matrix_lf_d
private

dynamical PCM response matrix (for epsilon_infty) - local field effects

Definition at line 198 of file pcm.F90.

◆ q_e

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::q_e

polarization charges due to the solute electrons

Definition at line 199 of file pcm.F90.

◆ q_n

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::q_n
private

polarization charges due to the solute nuclei

Definition at line 200 of file pcm.F90.

◆ q_e_in

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::q_e_in

inertial polarization charges due to the solute electrons

Definition at line 201 of file pcm.F90.

◆ rho_e

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::rho_e
private

polarization density due to the solute electrons

Definition at line 202 of file pcm.F90.

◆ rho_n

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::rho_n
private

polarization density due to the solute nuclei

Definition at line 203 of file pcm.F90.

◆ qtot_e

real(real64) pcm_oct_m::pcm_t::qtot_e
private

total polarization charge due to electrons

Definition at line 204 of file pcm.F90.

◆ qtot_n

real(real64) pcm_oct_m::pcm_t::qtot_n
private

total polarization charge due to nuclei

Definition at line 205 of file pcm.F90.

◆ qtot_e_in

real(real64) pcm_oct_m::pcm_t::qtot_e_in
private

total inertial polarization charge due to electrons

Definition at line 206 of file pcm.F90.

◆ q_e_nominal

real(real64) pcm_oct_m::pcm_t::q_e_nominal
private

total (nominal) electronic charge

Definition at line 207 of file pcm.F90.

◆ q_n_nominal

real(real64) pcm_oct_m::pcm_t::q_n_nominal
private

total (nominal) nuclear charge

Definition at line 208 of file pcm.F90.

◆ renorm_charges

logical pcm_oct_m::pcm_t::renorm_charges
private

flag to renormalized polarization charges

Definition at line 209 of file pcm.F90.

◆ q_tot_tol

real(real64) pcm_oct_m::pcm_t::q_tot_tol
private

tolerance to trigger normalization of the polarization charges

Definition at line 210 of file pcm.F90.

◆ deltaq_e

real(real64) pcm_oct_m::pcm_t::deltaq_e
private

difference between the calculated and nominal electronic charge

Definition at line 211 of file pcm.F90.

◆ deltaq_n

real(real64) pcm_oct_m::pcm_t::deltaq_n
private

difference between the calculated and nominal nuclear charge

Definition at line 212 of file pcm.F90.

◆ v_e

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::v_e
private

Hartree potential at each tessera.

Definition at line 213 of file pcm.F90.

◆ v_n

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::v_n
private

Nuclear potential at each tessera.

Definition at line 214 of file pcm.F90.

◆ v_e_rs

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::v_e_rs

PCM potential in real-space produced by q_e(:)

Definition at line 215 of file pcm.F90.

◆ v_n_rs

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::v_n_rs

PCM potential in real-space produced by q_n(:)

Definition at line 216 of file pcm.F90.

◆ q_ext

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::q_ext
private

polarization charges due to an ext. pot.

Definition at line 217 of file pcm.F90.

◆ q_ext_in

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::q_ext_in
private

inertial polarization charges due to an ext. pot.

Definition at line 218 of file pcm.F90.

◆ rho_ext

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::rho_ext
private

polarization density due to an ext. pot.

Definition at line 219 of file pcm.F90.

◆ qtot_ext

real(real64) pcm_oct_m::pcm_t::qtot_ext
private

total polarization charge due to an ext. pot.

Definition at line 220 of file pcm.F90.

◆ qtot_ext_in

real(real64) pcm_oct_m::pcm_t::qtot_ext_in
private

total inertial polarization charge due to an ext. pot.

Definition at line 221 of file pcm.F90.

◆ v_ext

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::v_ext
private

external potential at each tessera

Definition at line 222 of file pcm.F90.

◆ v_ext_rs

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::v_ext_rs

PCM potential in real-space produced by q_ext(:)

Definition at line 223 of file pcm.F90.

◆ q_kick

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::q_kick
private

polarization charges due to kick

Definition at line 224 of file pcm.F90.

◆ rho_kick

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::rho_kick
private

polarization density due to kick

Definition at line 225 of file pcm.F90.

◆ qtot_kick

real(real64) pcm_oct_m::pcm_t::qtot_kick
private

total polarization charge due to kick

Definition at line 226 of file pcm.F90.

◆ v_kick

real(real64), dimension(:), allocatable pcm_oct_m::pcm_t::v_kick
private

kick potential at each tessera

Definition at line 227 of file pcm.F90.

◆ v_kick_rs

real(real64), dimension(:), allocatable, public pcm_oct_m::pcm_t::v_kick_rs

PCM potential in real-space produced by q_kick(:)

Definition at line 228 of file pcm.F90.

◆ epsilon_0

real(real64), public pcm_oct_m::pcm_t::epsilon_0

Static dielectric constant of the solvent.

Definition at line 229 of file pcm.F90.

◆ epsilon_infty

real(real64), public pcm_oct_m::pcm_t::epsilon_infty

Infinite-frequency dielectric constant of the solvent.

Definition at line 230 of file pcm.F90.

◆ which_eps

integer, public pcm_oct_m::pcm_t::which_eps

Dielectric function model, either Debye or Drude-Lorentz.

Definition at line 231 of file pcm.F90.

◆ deb

type(debye_param_t) pcm_oct_m::pcm_t::deb
private

Debye parameters.

Definition at line 232 of file pcm.F90.

◆ drl

type(drude_param_t) pcm_oct_m::pcm_t::drl
private

Drude-Lorentz parameters.

Definition at line 233 of file pcm.F90.

◆ localf

logical, public pcm_oct_m::pcm_t::localf

Logical flag to include polarization charges due to external field.

Definition at line 234 of file pcm.F90.

◆ solute

logical, public pcm_oct_m::pcm_t::solute

Logical flag to include polarization charges due to the solute.

Definition at line 235 of file pcm.F90.

◆ kick_is_present

logical pcm_oct_m::pcm_t::kick_is_present
private

.true. if there are kicks in the calculation

Definition at line 236 of file pcm.F90.

◆ kick_like

logical, public pcm_oct_m::pcm_t::kick_like

Logical flag to consider kick-like polarization due to kick.

Definition at line 238 of file pcm.F90.

◆ initial_asc

integer pcm_oct_m::pcm_t::initial_asc
private

Flag to read or not pol.charges from input file.

Definition at line 239 of file pcm.F90.

◆ gaussian_width

real(real64) pcm_oct_m::pcm_t::gaussian_width
private

Parameter to change the width of density of polarization charges.

Definition at line 240 of file pcm.F90.

◆ info_unit

integer pcm_oct_m::pcm_t::info_unit
private

unit for pcm info file

Definition at line 241 of file pcm.F90.

◆ counter

integer, public pcm_oct_m::pcm_t::counter

used to print the number of SCF or TD iterations in energy_calc

Definition at line 242 of file pcm.F90.

◆ input_cavity

character(len=80) pcm_oct_m::pcm_t::input_cavity
private

file name containing the geometry of the VdW cavity

Definition at line 243 of file pcm.F90.

◆ update_iter

integer pcm_oct_m::pcm_t::update_iter
private

how often the pcm potential is updated

Definition at line 244 of file pcm.F90.

◆ iter

integer, public pcm_oct_m::pcm_t::iter

update iteration counter

Definition at line 245 of file pcm.F90.

◆ calc_method

integer pcm_oct_m::pcm_t::calc_method
private

which method should be used to obtain the pcm potential

Definition at line 246 of file pcm.F90.

◆ tess_nn

integer pcm_oct_m::pcm_t::tess_nn
private

number of tessera center mesh-point nearest neighbors

Definition at line 247 of file pcm.F90.

◆ dt

real(real64), public pcm_oct_m::pcm_t::dt

time-step of propagation

Definition at line 248 of file pcm.F90.

◆ namespace

type(namespace_t), pointer pcm_oct_m::pcm_t::namespace
private

Definition at line 251 of file pcm.F90.

◆ space

type(space_t) pcm_oct_m::pcm_t::space
private

Definition at line 252 of file pcm.F90.


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