Octopus
hamiltonian_elec_oct_m::hamiltonian_elec_t Type Reference

Detailed Description

Definition at line 226 of file hamiltonian_elec.F90.

Inheritance diagram for hamiltonian_elec_oct_m::hamiltonian_elec_t:
Inheritance graph

Public Attributes

logical, public time_zero
 
type(exchange_operator_t), public exxop
 
type(kpoints_t), pointer, public kpoints => null()
 
real(real64), dimension(:), allocatable, public v_ext_pot
 the potential comming from external potentials More...
 
real(real64), dimension(:), allocatable, public v_static
 static scalar potential More...
 

Private Member Functions

procedure update => hamiltonian_elec_update
 
procedure apply_packed => hamiltonian_elec_apply_packed
 
procedure update_span => hamiltonian_elec_span
 
procedure dapply => dhamiltonian_elec_apply
 
procedure zapply => zhamiltonian_elec_apply
 
procedure dmagnus_apply => dhamiltonian_elec_magnus_apply
 
procedure zmagnus_apply => zhamiltonian_elec_magnus_apply
 
procedure is_hermitian => hamiltonian_elec_hermitian
 
procedure set_mass => hamiltonian_elec_set_mass
 

Private Attributes

type(space_t), private space
 The Hamiltonian must know what are the "dimensions" of the spaces, in order to be able to operate on the states. More...
 
type(states_elec_dim_td
 
type(hamiltonian_elec_base_thm_base
 
type(phase_tphase
 
type(energy_t), allocatable energy
 
type(absorbing_boundaries_tabs_boundaries
 absorbing boundaries More...
 
real(real64), dimension(:), allocatable vhartree
 Hartree potential. More...
 
real(real64), dimension(:,:), allocatable vxc
 XC potential. More...
 
real(real64), dimension(:,:), allocatable vhxc
 XC potential + Hartree potential + Berry potential. More...
 
real(real64), dimension(:,:), allocatable vtau
 Derivative of e_XC w.r.t. tau. More...
 
real(real64), dimension(:,:), allocatable vberry
 Berry phase potential from external e_field. More...
 
type(derivatives_t), pointer, private der
 pointer to derivatives More...
 
type(nonlocal_pseudopotential_tvnl
 Nonlocal part of the pseudopotential. More...
 
type(ions_t), pointer ions
 
real(real64) exx_coef
 how much of EXX to mix More...
 
type(poisson_tpsolver
 Poisson solver. More...
 
logical self_induced_magnetic
 The self-induced vector potential and magnetic field. More...
 
real(real64), dimension(:, :), allocatable a_ind
 
real(real64), dimension(:, :), allocatable b_ind
 
integer theory_level
 copied from sysks More...
 
type(xc_t), pointer xc
 pointer to xc object More...
 
type(xc_photons_t), pointer xc_photons
 pointer to the xc_photons object More...
 
type(epot_tep
 handles the external potential More...
 
type(pcm_tpcm
 handles pcm variables More...
 
logical, private adjoint
 absorbing boundaries More...
 
real(real64), private mass
 Mass of the particle (in most cases, mass = 1, electron mass) More...
 
logical, private inh_term
 There may be an "inhomogeneous", "source", or "forcing" term (useful for the OCT formalism) More...
 
type(states_elec_tinh_st
 
type(oct_exchange_toct_exchange
 There may also be a exchange-like term, similar to the one necessary for time-dependent Hartree Fock, also useful only for the OCT equations. More...
 
type(scissor_tscissor
 
real(real64) current_time
 
logical, private is_applied_packed
 This is initialized by the StatesPack variable. More...
 
type(lda_u_tlda_u
 For the DFT+U. More...
 
integer lda_u_level
 
type(partner_list_texternal_potentials
 List with all the external potentials. More...
 
type(ion_electron_local_potential_tv_ie_loc
 Ion-electron local potential interaction. More...
 
type(nlcc_tnlcc
 Ion-electron NLCC interaction. More...
 
type(magnetic_constrain_tmagnetic_constrain
 
type(kick_tkick
 The possible kick. More...
 
type(mxll_coupling_tmxll
 Maxwell-electrons coupling information. More...
 
type(zora_t), pointer zora
 

Member Function/Subroutine Documentation

◆ update()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::update
private

Definition at line 310 of file hamiltonian_elec.F90.

◆ apply_packed()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::apply_packed
private

Definition at line 311 of file hamiltonian_elec.F90.

◆ update_span()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::update_span
private

Definition at line 312 of file hamiltonian_elec.F90.

◆ dapply()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::dapply
private

Definition at line 313 of file hamiltonian_elec.F90.

◆ zapply()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::zapply
private

Definition at line 314 of file hamiltonian_elec.F90.

◆ dmagnus_apply()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::dmagnus_apply
private

Definition at line 315 of file hamiltonian_elec.F90.

◆ zmagnus_apply()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::zmagnus_apply
private

Definition at line 316 of file hamiltonian_elec.F90.

◆ is_hermitian()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::is_hermitian
private

Definition at line 317 of file hamiltonian_elec.F90.

◆ set_mass()

procedure hamiltonian_elec_oct_m::hamiltonian_elec_t::set_mass
private

Definition at line 318 of file hamiltonian_elec.F90.

Member Data Documentation

◆ space

type(space_t), private hamiltonian_elec_oct_m::hamiltonian_elec_t::space
private

The Hamiltonian must know what are the "dimensions" of the spaces, in order to be able to operate on the states.

Definition at line 231 of file hamiltonian_elec.F90.

◆ d

type(states_elec_dim_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::d
private

Definition at line 232 of file hamiltonian_elec.F90.

◆ hm_base

type(hamiltonian_elec_base_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::hm_base
private

Definition at line 233 of file hamiltonian_elec.F90.

◆ phase

type(phase_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::phase
private

Definition at line 234 of file hamiltonian_elec.F90.

◆ energy

type(energy_t), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::energy
private

Definition at line 235 of file hamiltonian_elec.F90.

◆ abs_boundaries

type(absorbing_boundaries_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::abs_boundaries
private

absorbing boundaries

Definition at line 236 of file hamiltonian_elec.F90.

◆ vhartree

real(real64), dimension(:), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::vhartree
private

Hartree potential.

Definition at line 237 of file hamiltonian_elec.F90.

◆ vxc

real(real64), dimension(:,:), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::vxc
private

XC potential.

Definition at line 238 of file hamiltonian_elec.F90.

◆ vhxc

real(real64), dimension(:,:), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::vhxc
private

XC potential + Hartree potential + Berry potential.

Definition at line 239 of file hamiltonian_elec.F90.

◆ vtau

real(real64), dimension(:,:), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::vtau
private

Derivative of e_XC w.r.t. tau.

Definition at line 240 of file hamiltonian_elec.F90.

◆ vberry

real(real64), dimension(:,:), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::vberry
private

Berry phase potential from external e_field.

Definition at line 241 of file hamiltonian_elec.F90.

◆ der

type(derivatives_t), pointer, private hamiltonian_elec_oct_m::hamiltonian_elec_t::der
private

pointer to derivatives

Definition at line 243 of file hamiltonian_elec.F90.

◆ vnl

type(nonlocal_pseudopotential_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::vnl
private

Nonlocal part of the pseudopotential.

Definition at line 245 of file hamiltonian_elec.F90.

◆ ions

type(ions_t), pointer hamiltonian_elec_oct_m::hamiltonian_elec_t::ions
private

Definition at line 247 of file hamiltonian_elec.F90.

◆ exx_coef

real(real64) hamiltonian_elec_oct_m::hamiltonian_elec_t::exx_coef
private

how much of EXX to mix

Definition at line 248 of file hamiltonian_elec.F90.

◆ psolver

type(poisson_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::psolver
private

Poisson solver.

Definition at line 250 of file hamiltonian_elec.F90.

◆ self_induced_magnetic

logical hamiltonian_elec_oct_m::hamiltonian_elec_t::self_induced_magnetic
private

The self-induced vector potential and magnetic field.

Definition at line 253 of file hamiltonian_elec.F90.

◆ a_ind

real(real64), dimension(:, :), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::a_ind
private

Definition at line 254 of file hamiltonian_elec.F90.

◆ b_ind

real(real64), dimension(:, :), allocatable hamiltonian_elec_oct_m::hamiltonian_elec_t::b_ind
private

Definition at line 255 of file hamiltonian_elec.F90.

◆ theory_level

integer hamiltonian_elec_oct_m::hamiltonian_elec_t::theory_level
private

copied from sysks

Definition at line 257 of file hamiltonian_elec.F90.

◆ xc

type(xc_t), pointer hamiltonian_elec_oct_m::hamiltonian_elec_t::xc
private

pointer to xc object

Definition at line 258 of file hamiltonian_elec.F90.

◆ xc_photons

type(xc_photons_t), pointer hamiltonian_elec_oct_m::hamiltonian_elec_t::xc_photons
private

pointer to the xc_photons object

Definition at line 259 of file hamiltonian_elec.F90.

◆ ep

type(epot_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::ep
private

handles the external potential

Definition at line 261 of file hamiltonian_elec.F90.

◆ pcm

type(pcm_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::pcm
private

handles pcm variables

Definition at line 262 of file hamiltonian_elec.F90.

◆ adjoint

logical, private hamiltonian_elec_oct_m::hamiltonian_elec_t::adjoint
private

absorbing boundaries

Definition at line 265 of file hamiltonian_elec.F90.

◆ mass

real(real64), private hamiltonian_elec_oct_m::hamiltonian_elec_t::mass
private

Mass of the particle (in most cases, mass = 1, electron mass)

Definition at line 268 of file hamiltonian_elec.F90.

◆ inh_term

logical, private hamiltonian_elec_oct_m::hamiltonian_elec_t::inh_term
private

There may be an "inhomogeneous", "source", or "forcing" term (useful for the OCT formalism)

Definition at line 271 of file hamiltonian_elec.F90.

◆ inh_st

type(states_elec_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::inh_st
private

Definition at line 272 of file hamiltonian_elec.F90.

◆ oct_exchange

type(oct_exchange_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::oct_exchange
private

There may also be a exchange-like term, similar to the one necessary for time-dependent Hartree Fock, also useful only for the OCT equations.

Definition at line 276 of file hamiltonian_elec.F90.

◆ scissor

type(scissor_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::scissor
private

Definition at line 278 of file hamiltonian_elec.F90.

◆ current_time

real(real64) hamiltonian_elec_oct_m::hamiltonian_elec_t::current_time
private

Definition at line 280 of file hamiltonian_elec.F90.

◆ is_applied_packed

logical, private hamiltonian_elec_oct_m::hamiltonian_elec_t::is_applied_packed
private

This is initialized by the StatesPack variable.

Definition at line 281 of file hamiltonian_elec.F90.

◆ lda_u

type(lda_u_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::lda_u
private

For the DFT+U.

Definition at line 284 of file hamiltonian_elec.F90.

◆ lda_u_level

integer hamiltonian_elec_oct_m::hamiltonian_elec_t::lda_u_level
private

Definition at line 285 of file hamiltonian_elec.F90.

◆ time_zero

logical, public hamiltonian_elec_oct_m::hamiltonian_elec_t::time_zero

Definition at line 287 of file hamiltonian_elec.F90.

◆ exxop

type(exchange_operator_t), public hamiltonian_elec_oct_m::hamiltonian_elec_t::exxop

Definition at line 289 of file hamiltonian_elec.F90.

◆ kpoints

type(kpoints_t), pointer, public hamiltonian_elec_oct_m::hamiltonian_elec_t::kpoints => null()

Definition at line 291 of file hamiltonian_elec.F90.

◆ external_potentials

type(partner_list_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::external_potentials
private

List with all the external potentials.

Definition at line 293 of file hamiltonian_elec.F90.

◆ v_ext_pot

real(real64), dimension(:), allocatable, public hamiltonian_elec_oct_m::hamiltonian_elec_t::v_ext_pot

the potential comming from external potentials

Definition at line 294 of file hamiltonian_elec.F90.

◆ v_static

real(real64), dimension(:), allocatable, public hamiltonian_elec_oct_m::hamiltonian_elec_t::v_static

static scalar potential

Definition at line 295 of file hamiltonian_elec.F90.

◆ v_ie_loc

type(ion_electron_local_potential_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::v_ie_loc
private

Ion-electron local potential interaction.

Definition at line 297 of file hamiltonian_elec.F90.

◆ nlcc

type(nlcc_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::nlcc
private

Ion-electron NLCC interaction.

Definition at line 298 of file hamiltonian_elec.F90.

◆ magnetic_constrain

type(magnetic_constrain_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::magnetic_constrain
private

Definition at line 300 of file hamiltonian_elec.F90.

◆ kick

type(kick_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::kick
private

The possible kick.

Definition at line 303 of file hamiltonian_elec.F90.

◆ mxll

type(mxll_coupling_t) hamiltonian_elec_oct_m::hamiltonian_elec_t::mxll
private

Maxwell-electrons coupling information.

Definition at line 306 of file hamiltonian_elec.F90.

◆ zora

type(zora_t), pointer hamiltonian_elec_oct_m::hamiltonian_elec_t::zora
private

Definition at line 307 of file hamiltonian_elec.F90.


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