Octopus
current_oct_m Module Reference

Data Types

type  current_t
 

Functions/Subroutines

subroutine, public current_init (this, namespace)
 
subroutine current_batch_accumulate (st, der, ik, ib, psib, gpsib)
 
subroutine, public current_calculate (this, namespace, gr, hm, space, st)
 Compute total electronic current density. More...
 
subroutine current_calculate_dia_non_unif_vec_pot (der, hm, st)
 Compute diamagnetic current density from non-uniform vector potential (the part coming from the uniform vector potential is already included in the paramagnetic term) More...
 
subroutine, public current_calculate_mag (der, st)
 Compute magnetization current Note: due to the the numerical curl, the magnetization current could deviate from the analytical one near the origin (see test for "current_density"). More...
 
subroutine current_calculate_para (this, namespace, gr, hm, space, st)
 Compute paramagnetic current density (including full diamagnetic term if method = Hamiltonian us used, and including diamagnetic from uniform vector potential otherwise) More...
 
subroutine, public current_calculate_mel (der, hm, psi_i, psi_j, ik, cmel)
 
subroutine, public current_heat_calculate (space, der, hm, st, current)
 

Variables

integer, parameter, public current_gradient = 1
 
integer, parameter, public current_gradient_corr = 2
 
integer, parameter, public current_hamiltonian = 3
 

Function/Subroutine Documentation

◆ current_init()

subroutine, public current_oct_m::current_init ( type(current_t), intent(out)  this,
type(namespace_t), intent(in)  namespace 
)

Definition at line 176 of file current.F90.

◆ current_batch_accumulate()

subroutine current_oct_m::current_batch_accumulate ( type(states_elec_t), intent(inout)  st,
type(derivatives_t), intent(inout)  der,
integer, intent(in)  ik,
integer, intent(in)  ib,
type(wfs_elec_t), intent(in)  psib,
class(wfs_elec_t), dimension(:), intent(in)  gpsib 
)
private

Definition at line 224 of file current.F90.

◆ current_calculate()

subroutine, public current_oct_m::current_calculate ( type(current_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(inout)  gr,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
type(states_elec_t), intent(inout)  st 
)

Compute total electronic current density.

Definition at line 366 of file current.F90.

◆ current_calculate_dia_non_unif_vec_pot()

subroutine current_oct_m::current_calculate_dia_non_unif_vec_pot ( type(derivatives_t), intent(inout)  der,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(inout)  st 
)
private

Compute diamagnetic current density from non-uniform vector potential (the part coming from the uniform vector potential is already included in the paramagnetic term)

Definition at line 394 of file current.F90.

◆ current_calculate_mag()

subroutine, public current_oct_m::current_calculate_mag ( type(derivatives_t), intent(inout)  der,
type(states_elec_t), intent(inout)  st 
)

Compute magnetization current Note: due to the the numerical curl, the magnetization current could deviate from the analytical one near the origin (see test for "current_density").

Definition at line 429 of file current.F90.

◆ current_calculate_para()

subroutine current_oct_m::current_calculate_para ( type(current_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(inout)  gr,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
type(states_elec_t), intent(inout)  st 
)
private

Compute paramagnetic current density (including full diamagnetic term if method = Hamiltonian us used, and including diamagnetic from uniform vector potential otherwise)

Definition at line 468 of file current.F90.

◆ current_calculate_mel()

subroutine, public current_oct_m::current_calculate_mel ( type(derivatives_t), intent(inout)  der,
type(hamiltonian_elec_t), intent(in)  hm,
complex(real64), dimension(:,:), intent(in)  psi_i,
complex(real64), dimension(:,:), intent(in)  psi_j,
integer, intent(in)  ik,
complex(real64), dimension(:,:), intent(out)  cmel 
)

Definition at line 763 of file current.F90.

◆ current_heat_calculate()

subroutine, public current_oct_m::current_heat_calculate ( class(space_t), intent(in)  space,
type(derivatives_t), intent(in)  der,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:, :, :), intent(out)  current 
)

Definition at line 858 of file current.F90.

Variable Documentation

◆ current_gradient

integer, parameter, public current_oct_m::current_gradient = 1

Definition at line 169 of file current.F90.

◆ current_gradient_corr

integer, parameter, public current_oct_m::current_gradient_corr = 2

Definition at line 169 of file current.F90.

◆ current_hamiltonian

integer, parameter, public current_oct_m::current_hamiltonian = 3

Definition at line 169 of file current.F90.