Octopus
exchange_operator_oct_m Module Reference

Data Types

type  ace_t
 
type  exchange_operator_t
 

Functions/Subroutines

subroutine, public exchange_operator_init (this, namespace, space, st, der, mc, stencil, kpoints, omega, alpha, beta)
 
subroutine, public exchange_operator_reinit (this, omega, alpha, beta, st)
 
subroutine, public exchange_operator_end (this)
 
subroutine, public exchange_operator_rdmft_occ_apply (this, mesh, hpsib)
 
subroutine, public dexchange_operator_single (this, namespace, space, mesh, st_d, kpoints, ist, ik, psi, hpsi, rdmft)
 
subroutine, public dexchange_operator_apply (this, namespace, space, mesh, st_d, kpoints, psib, hpsib, rdmft)
 
subroutine dexchange_operator_apply_standard (this, namespace, space, mesh, st_d, kpoints, psib, hpsib, rdmft)
 
subroutine dexchange_operator_apply_ace (this, mesh, st_d, psib, hpsib)
 
subroutine, public dexchange_operator_compute_potentials (this, namespace, space, gr, st, xst, kpoints, ex, F_out)
 
subroutine, public dexchange_operator_ace (this, namespace, mesh, st, xst, phase)
 
subroutine, public dexchange_operator_commute_r (this, namespace, mesh, st_d, ik, psi, gpsi)
 
subroutine, public dexchange_operator_hartree_apply (this, namespace, mesh, st_d, kpoints, exx_coef, psib, hpsib)
 
subroutine, public zexchange_operator_single (this, namespace, space, mesh, st_d, kpoints, ist, ik, psi, hpsi, rdmft)
 
subroutine, public zexchange_operator_apply (this, namespace, space, mesh, st_d, kpoints, psib, hpsib, rdmft)
 
subroutine zexchange_operator_apply_standard (this, namespace, space, mesh, st_d, kpoints, psib, hpsib, rdmft)
 
subroutine zexchange_operator_apply_ace (this, mesh, st_d, psib, hpsib)
 
subroutine, public zexchange_operator_compute_potentials (this, namespace, space, gr, st, xst, kpoints, ex, F_out)
 
subroutine, public zexchange_operator_ace (this, namespace, mesh, st, xst, phase)
 
subroutine, public zexchange_operator_commute_r (this, namespace, mesh, st_d, ik, psi, gpsi)
 
subroutine, public zexchange_operator_hartree_apply (this, namespace, mesh, st_d, kpoints, exx_coef, psib, hpsib)
 

Variables

type(fourier_space_op_tcoulb
 Operator in Fourier space. More...
 
real(real64), parameter, private tol_exx_weight = 1.0e-3_real64
 Minimum weight below which EXX is not added. More...
 

Function/Subroutine Documentation

◆ exchange_operator_init()

subroutine, public exchange_operator_oct_m::exchange_operator_init ( type(exchange_operator_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(states_elec_t), intent(in)  st,
type(derivatives_t), intent(in)  der,
type(multicomm_t), intent(in)  mc,
type(stencil_t), intent(in)  stencil,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(in)  omega,
real(real64), intent(in)  alpha,
real(real64), intent(in)  beta 
)

Definition at line 205 of file exchange_operator.F90.

◆ exchange_operator_reinit()

subroutine, public exchange_operator_oct_m::exchange_operator_reinit ( type(exchange_operator_t), intent(inout)  this,
real(real64), intent(in)  omega,
real(real64), intent(in)  alpha,
real(real64), intent(in)  beta,
type(states_elec_t), intent(in), optional, target  st 
)

Definition at line 246 of file exchange_operator.F90.

◆ exchange_operator_end()

subroutine, public exchange_operator_oct_m::exchange_operator_end ( type(exchange_operator_t), intent(inout)  this)

Definition at line 264 of file exchange_operator.F90.

◆ exchange_operator_rdmft_occ_apply()

subroutine, public exchange_operator_oct_m::exchange_operator_rdmft_occ_apply ( type(exchange_operator_t), intent(in)  this,
type(mesh_t), intent(in)  mesh,
class(wfs_elec_t), intent(inout)  hpsib 
)

Definition at line 287 of file exchange_operator.F90.

◆ dexchange_operator_single()

subroutine, public exchange_operator_oct_m::dexchange_operator_single ( type(exchange_operator_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
integer, intent(in)  ist,
integer, intent(in)  ik,
real(real64), dimension(:, :), intent(inout), contiguous  psi,
real(real64), dimension(:, :), intent(inout), contiguous  hpsi,
logical, intent(in)  rdmft 
)

Definition at line 371 of file exchange_operator.F90.

◆ dexchange_operator_apply()

subroutine, public exchange_operator_oct_m::dexchange_operator_apply ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  rdmft 
)

Definition at line 400 of file exchange_operator.F90.

◆ dexchange_operator_apply_standard()

subroutine exchange_operator_oct_m::dexchange_operator_apply_standard ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  rdmft 
)
private

Definition at line 425 of file exchange_operator.F90.

◆ dexchange_operator_apply_ace()

subroutine exchange_operator_oct_m::dexchange_operator_apply_ace ( type(exchange_operator_t), intent(in)  this,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(wfs_elec_t), intent(in)  psib,
type(wfs_elec_t), intent(inout)  hpsib 
)
private

Definition at line 566 of file exchange_operator.F90.

◆ dexchange_operator_compute_potentials()

subroutine, public exchange_operator_oct_m::dexchange_operator_compute_potentials ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(states_elec_t), intent(inout), target  st,
type(states_elec_t), intent(inout)  xst,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(out), optional  ex,
real(real64), dimension(:,:,:,:,:), intent(out), optional  F_out 
)
Parameters
[out]f_outFor RDMFT

Definition at line 639 of file exchange_operator.F90.

◆ dexchange_operator_ace()

subroutine, public exchange_operator_oct_m::dexchange_operator_ace ( type(exchange_operator_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(inout)  st,
type(states_elec_t), intent(inout)  xst,
type(phase_t), intent(in), optional  phase 
)

Definition at line 1168 of file exchange_operator.F90.

◆ dexchange_operator_commute_r()

subroutine, public exchange_operator_oct_m::dexchange_operator_commute_r ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
integer, intent(in)  ik,
real(real64), dimension(:, :), intent(in)  psi,
real(real64), dimension(:, :, :), intent(inout)  gpsi 
)

Definition at line 1289 of file exchange_operator.F90.

◆ dexchange_operator_hartree_apply()

subroutine, public exchange_operator_oct_m::dexchange_operator_hartree_apply ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(in)  exx_coef,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib 
)

Definition at line 1350 of file exchange_operator.F90.

◆ zexchange_operator_single()

subroutine, public exchange_operator_oct_m::zexchange_operator_single ( type(exchange_operator_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
integer, intent(in)  ist,
integer, intent(in)  ik,
complex(real64), dimension(:, :), intent(inout), contiguous  psi,
complex(real64), dimension(:, :), intent(inout), contiguous  hpsi,
logical, intent(in)  rdmft 
)

Definition at line 1503 of file exchange_operator.F90.

◆ zexchange_operator_apply()

subroutine, public exchange_operator_oct_m::zexchange_operator_apply ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  rdmft 
)

Definition at line 1532 of file exchange_operator.F90.

◆ zexchange_operator_apply_standard()

subroutine exchange_operator_oct_m::zexchange_operator_apply_standard ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  rdmft 
)
private

Definition at line 1557 of file exchange_operator.F90.

◆ zexchange_operator_apply_ace()

subroutine exchange_operator_oct_m::zexchange_operator_apply_ace ( type(exchange_operator_t), intent(in)  this,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(wfs_elec_t), intent(in)  psib,
type(wfs_elec_t), intent(inout)  hpsib 
)
private

Definition at line 1698 of file exchange_operator.F90.

◆ zexchange_operator_compute_potentials()

subroutine, public exchange_operator_oct_m::zexchange_operator_compute_potentials ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(states_elec_t), intent(inout), target  st,
type(states_elec_t), intent(inout)  xst,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(out), optional  ex,
complex(real64), dimension(:,:,:,:,:), intent(out), optional  F_out 
)
Parameters
[out]f_outFor RDMFT

Definition at line 1771 of file exchange_operator.F90.

◆ zexchange_operator_ace()

subroutine, public exchange_operator_oct_m::zexchange_operator_ace ( type(exchange_operator_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(inout)  st,
type(states_elec_t), intent(inout)  xst,
type(phase_t), intent(in), optional  phase 
)

Definition at line 2309 of file exchange_operator.F90.

◆ zexchange_operator_commute_r()

subroutine, public exchange_operator_oct_m::zexchange_operator_commute_r ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
integer, intent(in)  ik,
complex(real64), dimension(:, :), intent(in)  psi,
complex(real64), dimension(:, :, :), intent(inout)  gpsi 
)

Definition at line 2440 of file exchange_operator.F90.

◆ zexchange_operator_hartree_apply()

subroutine, public exchange_operator_oct_m::zexchange_operator_hartree_apply ( type(exchange_operator_t), intent(in)  this,
type(namespace_t), intent(in)  namespace,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  st_d,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(in)  exx_coef,
class(wfs_elec_t), intent(inout)  psib,
class(wfs_elec_t), intent(inout)  hpsib 
)

Definition at line 2501 of file exchange_operator.F90.

Variable Documentation

◆ coulb

type(fourier_space_op_t) exchange_operator_oct_m::coulb
private

Operator in Fourier space.

Definition at line 197 of file exchange_operator.F90.

◆ tol_exx_weight

real(real64), parameter, private exchange_operator_oct_m::tol_exx_weight = 1.0e-3_real64
private

Minimum weight below which EXX is not added.

Definition at line 201 of file exchange_operator.F90.