Octopus
rdmft_oct_m Module Reference

Data Types

type  rdm_t
 

Functions/Subroutines

subroutine, public rdmft_init (rdm, namespace, gr, st, mc, space, fromScratch)
 
subroutine, public rdmft_end (rdm)
 
subroutine, public scf_rdmft (rdm, namespace, space, gr, ions, ext_partners, st, ks, hm, outp, restart_dump)
 
subroutine calc_maxfo (namespace, hm, st, gr, rdm)
 
subroutine calc_photon_number (space, gr, st, photons, photon_number_state, ekin_state, epot_state)
 
subroutine set_occ_pinning (st)
 
subroutine scf_occ_no (rdm, namespace, gr, hm, space, st, energy)
 
subroutine scf_occ (rdm, namespace, gr, hm, space, st, energy)
 
subroutine objective_rdmft (size, theta, objective, getgrad, df)
 
subroutine write_iter_info_rdmft (iter, size, energy, maxdr, maxdf, theta)
 
subroutine scf_orb (rdm, namespace, gr, st, hm, space, energy)
 
subroutine scf_orb_cg (rdm, namespace, space, gr, ions, ext_partners, st, ks, hm, energy)
 
subroutine construct_lambda (namespace, hm, st, gr, lambda, rdm)
 
subroutine assign_eigfunctions (rdm, st, lambda)
 
subroutine total_energy_rdm (rdm, occ, energy, dE_dn)
 
subroutine rdm_derivatives (rdm, namespace, hm, st, gr, space)
 
subroutine rdm_integrals (rdm, namespace, hm, st, mesh)
 
subroutine sum_integrals (rdm)
 

Variables

type(rdm_t), pointer rdm_ptr
 

Function/Subroutine Documentation

◆ rdmft_init()

subroutine, public rdmft_oct_m::rdmft_init ( type(rdm_t), intent(out)  rdm,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(inout)  gr,
type(states_elec_t), intent(in)  st,
type(multicomm_t), intent(in)  mc,
class(space_t), intent(in)  space,
logical, intent(in)  fromScratch 
)
Parameters
[in,out]grgrid
[in]stStates

Definition at line 213 of file rdmft.F90.

◆ rdmft_end()

subroutine, public rdmft_oct_m::rdmft_end ( type(rdm_t), intent(inout)  rdm)

Definition at line 350 of file rdmft.F90.

◆ scf_rdmft()

subroutine, public rdmft_oct_m::scf_rdmft ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(electron_space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(partner_list_t), intent(in)  ext_partners,
type(states_elec_t), intent(inout)  st,
type(v_ks_t), intent(inout)  ks,
type(hamiltonian_elec_t), intent(inout)  hm,
type(output_t), intent(in)  outp,
type(restart_t), intent(in)  restart_dump 
)
Parameters
[in]grgrid
[in]ionsgeometry
[in,out]stStates
[in,out]ksKohn-Sham
[in,out]hmHamiltonian
[in]outpoutput

Definition at line 380 of file rdmft.F90.

◆ calc_maxfo()

subroutine rdmft_oct_m::calc_maxfo ( type(namespace_t), intent(in)  namespace,
type(hamiltonian_elec_t), intent(inout)  hm,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(rdm_t), intent(inout)  rdm 
)
private

Definition at line 687 of file rdmft.F90.

◆ calc_photon_number()

subroutine rdmft_oct_m::calc_photon_number ( class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(states_elec_t), intent(in)  st,
type(photon_mode_t), intent(inout)  photons,
real(real64), dimension(:), intent(out)  photon_number_state,
real(real64), dimension(:), intent(out)  ekin_state,
real(real64), dimension(:), intent(out)  epot_state 
)
private

Definition at line 722 of file rdmft.F90.

◆ set_occ_pinning()

subroutine rdmft_oct_m::set_occ_pinning ( type(states_elec_t), intent(inout)  st)
private

Definition at line 783 of file rdmft.F90.

◆ scf_occ_no()

subroutine rdmft_oct_m::scf_occ_no ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
type(states_elec_t), intent(inout)  st,
real(real64), intent(out)  energy 
)
private

Definition at line 807 of file rdmft.F90.

◆ scf_occ()

subroutine rdmft_oct_m::scf_occ ( type(rdm_t), intent(inout), target  rdm,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
type(states_elec_t), intent(inout)  st,
real(real64), intent(out)  energy 
)
private

Definition at line 849 of file rdmft.F90.

◆ objective_rdmft()

subroutine rdmft_oct_m::objective_rdmft ( integer, intent(in)  size,
real(real64), dimension(size), intent(in)  theta,
real(real64), intent(inout)  objective,
integer, intent(in)  getgrad,
real(real64), dimension(size), intent(inout)  df 
)
private

Definition at line 995 of file rdmft.F90.

◆ write_iter_info_rdmft()

subroutine rdmft_oct_m::write_iter_info_rdmft ( integer, intent(in)  iter,
integer, intent(in)  size,
real(real64), intent(in)  energy,
real(real64), intent(in)  maxdr,
real(real64), intent(in)  maxdf,
real(real64), dimension(size), intent(in)  theta 
)
private

Definition at line 1047 of file rdmft.F90.

◆ scf_orb()

subroutine rdmft_oct_m::scf_orb ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
type(states_elec_t), intent(inout)  st,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
real(real64), intent(out)  energy 
)
private
Parameters
[in]grgrid
[in,out]stStates
[in]hmHamiltonian

Definition at line 1061 of file rdmft.F90.

◆ scf_orb_cg()

subroutine rdmft_oct_m::scf_orb_cg ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(electron_space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(partner_list_t), intent(in)  ext_partners,
type(states_elec_t), intent(inout)  st,
type(v_ks_t), intent(inout)  ks,
type(hamiltonian_elec_t), intent(inout)  hm,
real(real64), intent(out)  energy 
)
private
Parameters
[in]grgrid
[in]ionsgeometry
[in,out]stStates
[in,out]ksKohn-Sham
[in,out]hmHamiltonian

Definition at line 1128 of file rdmft.F90.

◆ construct_lambda()

subroutine rdmft_oct_m::construct_lambda ( type(namespace_t), intent(in)  namespace,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
real(real64), dimension(:,:), intent(out)  lambda,
type(rdm_t), intent(inout)  rdm 
)
private
Parameters
[out]lambda(1:stnst, 1:stnst)

Definition at line 1192 of file rdmft.F90.

◆ assign_eigfunctions()

subroutine rdmft_oct_m::assign_eigfunctions ( type(rdm_t), intent(inout)  rdm,
type(states_elec_t), intent(inout)  st,
real(real64), dimension(:, :), intent(in)  lambda 
)
private

Definition at line 1286 of file rdmft.F90.

◆ total_energy_rdm()

subroutine rdmft_oct_m::total_energy_rdm ( type(rdm_t), intent(in)  rdm,
real(real64), dimension(:), intent(in)  occ,
real(real64), intent(out)  energy,
real(real64), dimension(:), intent(out), optional  dE_dn 
)
private
Parameters
[out]de_dn(1:stnst)

Definition at line 1316 of file rdmft.F90.

◆ rdm_derivatives()

subroutine rdmft_oct_m::rdm_derivatives ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space 
)
private

Definition at line 1365 of file rdmft.F90.

◆ rdm_integrals()

subroutine rdmft_oct_m::rdm_integrals ( type(rdm_t), intent(inout)  rdm,
type(namespace_t), intent(in)  namespace,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(in)  st,
class(mesh_t), intent(in)  mesh 
)
private

Definition at line 1474 of file rdmft.F90.

◆ sum_integrals()

subroutine rdmft_oct_m::sum_integrals ( type(rdm_t), intent(inout)  rdm)
private

Definition at line 1514 of file rdmft.F90.

Variable Documentation

◆ rdm_ptr

type(rdm_t), pointer rdmft_oct_m::rdm_ptr
private

Definition at line 208 of file rdmft.F90.