Octopus
electrons_oct_m::electrons_t Interface Reference

Class describing the electron system. More...

Detailed Description

Class describing the electron system.

This class describes a system of electrons and ions.

Todo:
move the ions into their own ions_t class.

Definition at line 214 of file electrons.F90.

Inheritance diagram for electrons_oct_m::electrons_t:
Inheritance graph

Private Member Functions

procedure init_interaction => electrons_init_interaction
 
procedure init_parallelization => electrons_init_parallelization
 
procedure init_algorithm => electrons_init_algorithm
 
procedure initial_conditions => electrons_initial_conditions
 
procedure do_algorithmic_operation => electrons_do_algorithmic_operation
 
procedure is_tolerance_reached => electrons_is_tolerance_reached
 
procedure update_quantity => electrons_update_quantity
 
procedure init_interaction_as_partner => electrons_init_interaction_as_partner
 
procedure copy_quantities_to_interaction => electrons_copy_quantities_to_interaction
 
procedure output_start => electrons_output_start
 
procedure output_write => electrons_output_write
 
procedure output_finish => electrons_output_finish
 
procedure process_is_slave => electrons_process_is_slave
 
procedure restart_write_data => electrons_restart_write_data
 
procedure restart_read_data => electrons_restart_read_data
 
procedure update_kinetic_energy => electrons_update_kinetic_energy
 
procedure propagation_start => electrons_propagation_start
 
final electrons_finalize
 

Private Attributes

type(electron_space_tspace
 
class(ions_t), pointer ions => NULL()
 the ion component of the system More...
 
type(photons_t), pointer photons => null()
 
type(grid_tgr
 the mesh More...
 
type(states_elec_tst
 the states More...
 
type(v_ks_tks
 the Kohn-Sham potentials More...
 
type(output_toutp
 the output More...
 
type(multicomm_tmc
 index and domain communicators More...
 
type(hamiltonian_elec_thm
 the Hamiltonian More...
 
type(td_ttd
 everything related to time propagation More...
 
type(current_tcurrent_calculator
 
type(dipole_tdipole
 total dipole of electrons and ions More...
 
type(scf_tscf
 SCF for BOMD. More...
 
type(kpoints_tkpoints
 the k-points More...
 
logical generate_epot
 
type(states_elec_tst_copy
 copy of the states More...
 
class(lasers_t), pointer lasers => null()
 lasers More...
 
class(gauge_field_t), pointer gfield => null()
 gauge field More...
 
type(partner_list_text_partners
 
type(xc_interaction_t), pointer xc_interaction => null()
 
logical ions_propagated = .false.
 

Additional Inherited Members

- Public Attributes inherited from system_oct_m::system_t
type(iteration_counter_t), public iteration
 
class(algorithm_t), pointer, public algo => null()
 
integer, dimension(:), allocatable, public supported_interactions
 
type(interaction_list_t), public interactions
 List with all the interactions of this system. More...
 
type(mpi_grp_t), public grp
 mpi group for this system More...
 
real(real64), public kinetic_energy
 Energy not from interactions, like the kinetic energy. More...
 
real(real64), public potential_energy
 Energy from the interactions with external systems. More...
 
real(real64), public internal_energy
 Energy from the interactions with itself and for containers the kinetic energy of its constituents. More...
 
real(real64), public total_energy
 Sum of internal, external, and self energy. More...
 
- Public Attributes inherited from interaction_partner_oct_m::interaction_partner_t
type(namespace_t), public namespace
 
integer, dimension(:), allocatable, public supported_interactions_as_partner
 list of interactions, which support this interaction_partner_t as partner More...
 
type(quantity_t), dimension(max_quantities), public quantities
 Array of all possible quantities. The elements of the array are accessed using the quantity`s identifiers. More...
 

Member Function/Subroutine Documentation

◆ init_interaction()

procedure electrons_oct_m::electrons_t::init_interaction
private

Definition at line 249 of file electrons.F90.

◆ init_parallelization()

procedure electrons_oct_m::electrons_t::init_parallelization
private

Definition at line 250 of file electrons.F90.

◆ init_algorithm()

procedure electrons_oct_m::electrons_t::init_algorithm
private

Definition at line 251 of file electrons.F90.

◆ initial_conditions()

procedure electrons_oct_m::electrons_t::initial_conditions
private

Definition at line 252 of file electrons.F90.

◆ do_algorithmic_operation()

procedure electrons_oct_m::electrons_t::do_algorithmic_operation
private

Definition at line 253 of file electrons.F90.

◆ is_tolerance_reached()

procedure electrons_oct_m::electrons_t::is_tolerance_reached
private

Definition at line 254 of file electrons.F90.

◆ update_quantity()

procedure electrons_oct_m::electrons_t::update_quantity
private

Definition at line 255 of file electrons.F90.

◆ init_interaction_as_partner()

procedure electrons_oct_m::electrons_t::init_interaction_as_partner
private

Definition at line 256 of file electrons.F90.

◆ copy_quantities_to_interaction()

procedure electrons_oct_m::electrons_t::copy_quantities_to_interaction
private

Definition at line 257 of file electrons.F90.

◆ output_start()

procedure electrons_oct_m::electrons_t::output_start
private

Definition at line 258 of file electrons.F90.

◆ output_write()

procedure electrons_oct_m::electrons_t::output_write
private

Definition at line 259 of file electrons.F90.

◆ output_finish()

procedure electrons_oct_m::electrons_t::output_finish
private

Definition at line 260 of file electrons.F90.

◆ process_is_slave()

procedure electrons_oct_m::electrons_t::process_is_slave
private

Definition at line 261 of file electrons.F90.

◆ restart_write_data()

procedure electrons_oct_m::electrons_t::restart_write_data
private

Definition at line 262 of file electrons.F90.

◆ restart_read_data()

procedure electrons_oct_m::electrons_t::restart_read_data
private

Definition at line 263 of file electrons.F90.

◆ update_kinetic_energy()

procedure electrons_oct_m::electrons_t::update_kinetic_energy
private

Definition at line 264 of file electrons.F90.

◆ propagation_start()

procedure electrons_oct_m::electrons_t::propagation_start
private

Definition at line 265 of file electrons.F90.

◆ electrons_finalize()

final electrons_oct_m::electrons_t::electrons_finalize
finalprivate

Definition at line 266 of file electrons.F90.

Member Data Documentation

◆ space

type(electron_space_t) electrons_oct_m::electrons_t::space
private

Definition at line 216 of file electrons.F90.

◆ ions

class(ions_t), pointer electrons_oct_m::electrons_t::ions => NULL()
private

the ion component of the system

Definition at line 217 of file electrons.F90.

◆ photons

type(photons_t), pointer electrons_oct_m::electrons_t::photons => null()
private

Definition at line 218 of file electrons.F90.

◆ gr

type(grid_t) electrons_oct_m::electrons_t::gr
private

the mesh

Definition at line 219 of file electrons.F90.

◆ st

type(states_elec_t) electrons_oct_m::electrons_t::st
private

the states

Definition at line 220 of file electrons.F90.

◆ ks

type(v_ks_t) electrons_oct_m::electrons_t::ks
private

the Kohn-Sham potentials

Definition at line 221 of file electrons.F90.

◆ outp

type(output_t) electrons_oct_m::electrons_t::outp
private

the output

Definition at line 222 of file electrons.F90.

◆ mc

type(multicomm_t) electrons_oct_m::electrons_t::mc
private

index and domain communicators

Definition at line 223 of file electrons.F90.

◆ hm

type(hamiltonian_elec_t) electrons_oct_m::electrons_t::hm
private

the Hamiltonian

Definition at line 224 of file electrons.F90.

◆ td

type(td_t) electrons_oct_m::electrons_t::td
private

everything related to time propagation

Definition at line 225 of file electrons.F90.

◆ current_calculator

type(current_t) electrons_oct_m::electrons_t::current_calculator
private

Definition at line 226 of file electrons.F90.

◆ dipole

type(dipole_t) electrons_oct_m::electrons_t::dipole
private

total dipole of electrons and ions

Definition at line 227 of file electrons.F90.

◆ scf

type(scf_t) electrons_oct_m::electrons_t::scf
private

SCF for BOMD.

Definition at line 228 of file electrons.F90.

◆ kpoints

type(kpoints_t) electrons_oct_m::electrons_t::kpoints
private

the k-points

Definition at line 230 of file electrons.F90.

◆ generate_epot

logical electrons_oct_m::electrons_t::generate_epot
private

Definition at line 232 of file electrons.F90.

◆ st_copy

type(states_elec_t) electrons_oct_m::electrons_t::st_copy
private

copy of the states

Definition at line 234 of file electrons.F90.

◆ lasers

class(lasers_t), pointer electrons_oct_m::electrons_t::lasers => null()
private

lasers

Definition at line 237 of file electrons.F90.

◆ gfield

class(gauge_field_t), pointer electrons_oct_m::electrons_t::gfield => null()
private

gauge field

Definition at line 238 of file electrons.F90.

◆ ext_partners

type(partner_list_t) electrons_oct_m::electrons_t::ext_partners
private

Definition at line 242 of file electrons.F90.

◆ xc_interaction

type(xc_interaction_t), pointer electrons_oct_m::electrons_t::xc_interaction => null()
private

Definition at line 245 of file electrons.F90.

◆ ions_propagated

logical electrons_oct_m::electrons_t::ions_propagated = .false.
private

Definition at line 247 of file electrons.F90.


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