Octopus
ion_dynamics_oct_m Module Reference

Data Types

type  cell_state_t
 
type  ion_dynamics_t
 
type  ion_state_t
 
type  ion_td_displacement_t
 
type  nose_hoover_t
 

Functions/Subroutines

subroutine, public ion_dynamics_init (this, namespace, ions)
 
subroutine, public ion_dynamics_end (this)
 
subroutine, public ion_dynamics_propagate (this, ions, time, dt, namespace)
 
subroutine nh_chain (this, ions)
 
subroutine, public ion_dynamics_propagate_vel (this, ions, atoms_moved)
 
subroutine, public ion_dynamics_verlet_step1 (ions, q, v, fold, dt)
 A bare verlet integrator. More...
 
subroutine, public ion_dynamics_verlet_step2 (ions, v, fold, fnew, dt)
 A bare verlet integrator. More...
 
subroutine, public ion_dynamics_save_state (this, ions, state)
 
subroutine, public ion_dynamics_restore_state (this, ions, state)
 
logical pure function, public ion_dynamics_ions_move (this)
 
logical pure function, public ion_dynamics_drive_ions (this)
 
real(real64) function, public ion_dynamics_temperature (ions)
 This function returns the ionic temperature in energy units. More...
 
logical function, public ion_dynamics_freeze (this)
 Freezes the ionic movement. More...
 
subroutine, public ion_dynamics_unfreeze (this)
 Unfreezes the ionic movement. More...
 
subroutine, public ion_dynamics_dump (this, restart, ierr)
 
subroutine, public ion_dynamics_load (this, restart, ierr)
 
subroutine, public electrons_lattice_vectors_update (namespace, gr, space, psolver, kpoints, mc, qtot, new_latt)
 

Variables

integer, parameter thermo_none = 0
 
integer, parameter thermo_scal = 1
 
integer, parameter thermo_nh = 2
 

Function/Subroutine Documentation

◆ ion_dynamics_init()

subroutine, public ion_dynamics_oct_m::ion_dynamics_init ( type(ion_dynamics_t), intent(out)  this,
type(namespace_t), intent(in)  namespace,
type(ions_t), intent(inout)  ions 
)

Definition at line 232 of file ion_dynamics.F90.

◆ ion_dynamics_end()

subroutine, public ion_dynamics_oct_m::ion_dynamics_end ( type(ion_dynamics_t), intent(inout)  this)

Definition at line 624 of file ion_dynamics.F90.

◆ ion_dynamics_propagate()

subroutine, public ion_dynamics_oct_m::ion_dynamics_propagate ( type(ion_dynamics_t), intent(inout)  this,
type(ions_t), intent(inout)  ions,
real(real64), intent(in)  time,
real(real64), intent(in)  dt,
type(namespace_t), intent(in)  namespace 
)

Definition at line 648 of file ion_dynamics.F90.

◆ nh_chain()

subroutine ion_dynamics_oct_m::nh_chain ( type(ion_dynamics_t), intent(inout)  this,
type(ions_t), intent(inout)  ions 
)
private

Definition at line 752 of file ion_dynamics.F90.

◆ ion_dynamics_propagate_vel()

subroutine, public ion_dynamics_oct_m::ion_dynamics_propagate_vel ( type(ion_dynamics_t), intent(inout)  this,
type(ions_t), intent(inout)  ions,
logical, intent(out), optional  atoms_moved 
)
Parameters
[out]atoms_movedReturns true if the atoms were moved by this function.

Definition at line 796 of file ion_dynamics.F90.

◆ ion_dynamics_verlet_step1()

subroutine, public ion_dynamics_oct_m::ion_dynamics_verlet_step1 ( type(ions_t), intent(in)  ions,
real(real64), dimension(:, :), intent(inout)  q,
real(real64), dimension(:, :), intent(inout)  v,
real(real64), dimension(:, :), intent(in)  fold,
real(real64), intent(in)  dt 
)

A bare verlet integrator.

Definition at line 852 of file ion_dynamics.F90.

◆ ion_dynamics_verlet_step2()

subroutine, public ion_dynamics_oct_m::ion_dynamics_verlet_step2 ( type(ions_t), intent(in)  ions,
real(real64), dimension(:, :), intent(inout)  v,
real(real64), dimension(:, :), intent(in)  fold,
real(real64), dimension(:, :), intent(in)  fnew,
real(real64), intent(in)  dt 
)

A bare verlet integrator.

Definition at line 887 of file ion_dynamics.F90.

◆ ion_dynamics_save_state()

subroutine, public ion_dynamics_oct_m::ion_dynamics_save_state ( type(ion_dynamics_t), intent(in)  this,
type(ions_t), intent(in)  ions,
type(ion_state_t), intent(out)  state 
)

Definition at line 920 of file ion_dynamics.F90.

◆ ion_dynamics_restore_state()

subroutine, public ion_dynamics_oct_m::ion_dynamics_restore_state ( type(ion_dynamics_t), intent(inout)  this,
type(ions_t), intent(inout)  ions,
type(ion_state_t), intent(inout)  state 
)

Definition at line 947 of file ion_dynamics.F90.

◆ ion_dynamics_ions_move()

logical pure function, public ion_dynamics_oct_m::ion_dynamics_ions_move ( type(ion_dynamics_t), intent(in)  this)

Definition at line 974 of file ion_dynamics.F90.

◆ ion_dynamics_drive_ions()

logical pure function, public ion_dynamics_oct_m::ion_dynamics_drive_ions ( type(ion_dynamics_t), intent(in)  this)

Definition at line 983 of file ion_dynamics.F90.

◆ ion_dynamics_temperature()

real(real64) function, public ion_dynamics_oct_m::ion_dynamics_temperature ( type(ions_t), intent(in)  ions)

This function returns the ionic temperature in energy units.

Definition at line 993 of file ion_dynamics.F90.

◆ ion_dynamics_freeze()

logical function, public ion_dynamics_oct_m::ion_dynamics_freeze ( type(ion_dynamics_t), intent(inout)  this)

Freezes the ionic movement.

Definition at line 1011 of file ion_dynamics.F90.

◆ ion_dynamics_unfreeze()

subroutine, public ion_dynamics_oct_m::ion_dynamics_unfreeze ( type(ion_dynamics_t), intent(inout)  this)

Unfreezes the ionic movement.

Definition at line 1024 of file ion_dynamics.F90.

◆ ion_dynamics_dump()

subroutine, public ion_dynamics_oct_m::ion_dynamics_dump ( type(ion_dynamics_t), intent(in)  this,
type(restart_t), intent(in)  restart,
integer, intent(out)  ierr 
)

Definition at line 1030 of file ion_dynamics.F90.

◆ ion_dynamics_load()

subroutine, public ion_dynamics_oct_m::ion_dynamics_load ( type(ion_dynamics_t), intent(inout)  this,
type(restart_t), intent(in)  restart,
integer, intent(out)  ierr 
)

Definition at line 1046 of file ion_dynamics.F90.

◆ electrons_lattice_vectors_update()

subroutine, public ion_dynamics_oct_m::electrons_lattice_vectors_update ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(inout)  gr,
class(space_t), intent(in)  space,
type(poisson_t), intent(inout)  psolver,
type(kpoints_t), intent(inout)  kpoints,
type(multicomm_t), intent(in)  mc,
real(real64), intent(in)  qtot,
type(lattice_vectors_t), intent(in)  new_latt 
)

Definition at line 1063 of file ion_dynamics.F90.

Variable Documentation

◆ thermo_none

integer, parameter ion_dynamics_oct_m::thermo_none = 0
private

Definition at line 166 of file ion_dynamics.F90.

◆ thermo_scal

integer, parameter ion_dynamics_oct_m::thermo_scal = 1
private

Definition at line 166 of file ion_dynamics.F90.

◆ thermo_nh

integer, parameter ion_dynamics_oct_m::thermo_nh = 2
private

Definition at line 166 of file ion_dynamics.F90.