Octopus
propagator_rk_oct_m Module Reference

Functions/Subroutines

subroutine, public td_explicit_runge_kutta4 (ks, namespace, space, hm, gr, st, time, dt, ions_dyn, ions, ext_partners, qcchi)
 
subroutine, public td_runge_kutta2 (ks, namespace, space, hm, gr, st, tr, time, dt, ions_dyn, ions, ext_partners)
 
subroutine, public td_runge_kutta4 (ks, namespace, space, hm, gr, st, tr, time, dt, ions_dyn, ions, ext_partners)
 
subroutine td_rk4op (xre, xim, yre, yim)
 operators for Crank-Nicolson scheme More...
 
subroutine td_rk4opt (xre, xim, yre, yim)
 Transpose of H (called e.g. by bi-conjugate gradient solver) More...
 
subroutine td_rk2op (xre, xim, yre, yim)
 operator for the RK2 propagator More...
 
subroutine td_rk2opt (xre, xim, yre, yim)
 operator for the RK2 propagator More...
 

Variables

class(mesh_t), pointer, private mesh_p
 
type(hamiltonian_elec_t), pointer, private hm_p
 
type(states_elec_t), pointer, private st_p
 
type(propagator_base_t), pointer, private tr_p
 
type(namespace_t), pointer, private namespace_p
 
type(electron_space_t), pointer, private space_p
 
type(partner_list_t), pointer, private ext_partners_p
 
integer, private dim_op
 
real(real64), private t_op
 
real(real64), private dt_op
 
real(real64), dimension(:, :), allocatable, private vhxc1_op
 
real(real64), dimension(:, :), allocatable, private vhxc2_op
 
real(real64), dimension(:), allocatable, private vpsl1_op
 
real(real64), dimension(:), allocatable, private vpsl2_op
 
logical move_ions_op
 

Function/Subroutine Documentation

◆ td_explicit_runge_kutta4()

subroutine, public propagator_rk_oct_m::td_explicit_runge_kutta4 ( type(v_ks_t), intent(inout), target  ks,
type(namespace_t), intent(in)  namespace,
type(electron_space_t), intent(in)  space,
type(hamiltonian_elec_t), intent(inout), target  hm,
type(grid_t), intent(in), target  gr,
type(states_elec_t), intent(inout), target  st,
real(real64), intent(in)  time,
real(real64), intent(in)  dt,
type(ion_dynamics_t), intent(inout)  ions_dyn,
type(ions_t), intent(inout)  ions,
type(partner_list_t), intent(in)  ext_partners,
type(opt_control_state_t), intent(inout), optional, target  qcchi 
)

Definition at line 175 of file propagator_rk.F90.

◆ td_runge_kutta2()

subroutine, public propagator_rk_oct_m::td_runge_kutta2 ( type(v_ks_t), intent(inout), target  ks,
type(namespace_t), intent(in), target  namespace,
type(electron_space_t), intent(in), target  space,
type(hamiltonian_elec_t), intent(inout), target  hm,
type(grid_t), intent(in), target  gr,
type(states_elec_t), intent(inout), target  st,
type(propagator_base_t), intent(inout), target  tr,
real(real64), intent(in)  time,
real(real64), intent(in)  dt,
type(ion_dynamics_t), intent(inout)  ions_dyn,
type(ions_t), intent(inout)  ions,
type(partner_list_t), intent(in), target  ext_partners 
)

Definition at line 590 of file propagator_rk.F90.

◆ td_runge_kutta4()

subroutine, public propagator_rk_oct_m::td_runge_kutta4 ( type(v_ks_t), intent(inout), target  ks,
type(namespace_t), intent(in), target  namespace,
type(electron_space_t), intent(in), target  space,
type(hamiltonian_elec_t), intent(inout), target  hm,
type(grid_t), intent(in), target  gr,
type(states_elec_t), intent(inout), target  st,
type(propagator_base_t), intent(inout), target  tr,
real(real64), intent(in)  time,
real(real64), intent(in)  dt,
type(ion_dynamics_t), intent(inout)  ions_dyn,
type(ions_t), intent(inout)  ions,
type(partner_list_t), intent(in), target  ext_partners 
)

Definition at line 813 of file propagator_rk.F90.

◆ td_rk4op()

subroutine propagator_rk_oct_m::td_rk4op ( real(real64), dimension(:), intent(in)  xre,
real(real64), dimension(:), intent(in)  xim,
real(real64), dimension(:), intent(out)  yre,
real(real64), dimension(:), intent(out)  yim 
)
private

operators for Crank-Nicolson scheme

Definition at line 1100 of file propagator_rk.F90.

◆ td_rk4opt()

subroutine propagator_rk_oct_m::td_rk4opt ( real(real64), dimension(:), intent(in)  xre,
real(real64), dimension(:), intent(in)  xim,
real(real64), dimension(:), intent(out)  yre,
real(real64), dimension(:), intent(out)  yim 
)
private

Transpose of H (called e.g. by bi-conjugate gradient solver)

Definition at line 1194 of file propagator_rk.F90.

◆ td_rk2op()

subroutine propagator_rk_oct_m::td_rk2op ( real(real64), dimension(:), intent(in)  xre,
real(real64), dimension(:), intent(in)  xim,
real(real64), dimension(:), intent(out)  yre,
real(real64), dimension(:), intent(out)  yim 
)
private

operator for the RK2 propagator

Definition at line 1292 of file propagator_rk.F90.

◆ td_rk2opt()

subroutine propagator_rk_oct_m::td_rk2opt ( real(real64), dimension(:), intent(in)  xre,
real(real64), dimension(:), intent(in)  xim,
real(real64), dimension(:), intent(out)  yre,
real(real64), dimension(:), intent(out)  yim 
)
private

operator for the RK2 propagator

Definition at line 1387 of file propagator_rk.F90.

Variable Documentation

◆ mesh_p

class(mesh_t), pointer, private propagator_rk_oct_m::mesh_p
private

Definition at line 161 of file propagator_rk.F90.

◆ hm_p

type(hamiltonian_elec_t), pointer, private propagator_rk_oct_m::hm_p
private

Definition at line 162 of file propagator_rk.F90.

◆ st_p

type(states_elec_t), pointer, private propagator_rk_oct_m::st_p
private

Definition at line 163 of file propagator_rk.F90.

◆ tr_p

type(propagator_base_t), pointer, private propagator_rk_oct_m::tr_p
private

Definition at line 164 of file propagator_rk.F90.

◆ namespace_p

type(namespace_t), pointer, private propagator_rk_oct_m::namespace_p
private

Definition at line 165 of file propagator_rk.F90.

◆ space_p

type(electron_space_t), pointer, private propagator_rk_oct_m::space_p
private

Definition at line 166 of file propagator_rk.F90.

◆ ext_partners_p

type(partner_list_t), pointer, private propagator_rk_oct_m::ext_partners_p
private

Definition at line 167 of file propagator_rk.F90.

◆ dim_op

integer, private propagator_rk_oct_m::dim_op
private

Definition at line 168 of file propagator_rk.F90.

◆ t_op

real(real64), private propagator_rk_oct_m::t_op
private

Definition at line 169 of file propagator_rk.F90.

◆ dt_op

real(real64), private propagator_rk_oct_m::dt_op
private

Definition at line 169 of file propagator_rk.F90.

◆ vhxc1_op

real(real64), dimension(:, :), allocatable, private propagator_rk_oct_m::vhxc1_op
private

Definition at line 170 of file propagator_rk.F90.

◆ vhxc2_op

real(real64), dimension(:, :), allocatable, private propagator_rk_oct_m::vhxc2_op
private

Definition at line 170 of file propagator_rk.F90.

◆ vpsl1_op

real(real64), dimension(:), allocatable, private propagator_rk_oct_m::vpsl1_op
private

Definition at line 170 of file propagator_rk.F90.

◆ vpsl2_op

real(real64), dimension(:), allocatable, private propagator_rk_oct_m::vpsl2_op
private

Definition at line 170 of file propagator_rk.F90.

◆ move_ions_op

logical propagator_rk_oct_m::move_ions_op
private

Definition at line 171 of file propagator_rk.F90.