PROGRESS  master
prg_charges_mod Module Reference

A module to compute the Mulliken charges of a chemical system. More...

Functions/Subroutines

subroutine, public prg_get_charges (rho_bml, over_bml, hindex, charges, numel, spindex, mdimin, threshold)
 Constructs the charges from the density matrix. More...
 
subroutine, public prg_get_hscf (ham0_bml, over_bml, ham_bml, spindex, hindex, hubbardu, charges, coulomb_pot_r, coulomb_pot_k, mdimin, threshold)
 Constructs the SCF Hamiltonian given H0, HubbardU and charges. This routine does: \( H = \sum_i U_i q_i + V_i; \), where \( U \) is the Hubbard parameter for every atom i. \( V \) is the coulombic potential for every atom i. More...
 
subroutine, public prg_get_hscf_v2 (ham0_bml, over_bml, ham_bml, spindex, hindex, hubbardu, charges, coulomb_pot_r, coulomb_pot_k, mdimin, threshold)
 
subroutine, public prg_get_hscf_maxorb (ham0_bml, over_bml, ham_bml, spindex, hindex, hubbardu, charges, coulomb_pot_r, coulomb_pot_k, mdimin, threshold, maxorb)
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

A module to compute the Mulliken charges of a chemical system.

This module contains routines that compute properties related to charges.

Function/Subroutine Documentation

◆ prg_get_charges()

subroutine, public prg_charges_mod::prg_get_charges ( type(bml_matrix_t), intent(inout)  rho_bml,
type(bml_matrix_t), intent(inout)  over_bml,
integer, dimension(:,:), intent(in)  hindex,
real(dp), dimension(:), intent(inout), allocatable  charges,
real(dp), dimension(:), intent(in)  numel,
integer, dimension(:), intent(in)  spindex,
integer, intent(in)  mdimin,
real(dp), intent(in)  threshold 
)

Constructs the charges from the density matrix.

Parameters
rho_bmlDensity matrix in bml format.
over_bmlOverlap matrix in bml format.
hindexStart and end index for every atom in the system.
chargesOutput parameter that gives the vectorized charges.
thresholdThreshold value for matrix elements.

Definition at line 35 of file prg_charges_mod.F90.

◆ prg_get_hscf()

subroutine, public prg_charges_mod::prg_get_hscf ( type(bml_matrix_t), intent(in)  ham0_bml,
type(bml_matrix_t), intent(in)  over_bml,
type(bml_matrix_t), intent(inout)  ham_bml,
integer, dimension(:), intent(in)  spindex,
integer, dimension(:,:), intent(in)  hindex,
real(dp), dimension(:), intent(in)  hubbardu,
real(dp), dimension(:), intent(in)  charges,
real(dp), dimension(:), intent(in)  coulomb_pot_r,
real(dp), dimension(:), intent(in)  coulomb_pot_k,
integer, intent(in)  mdimin,
real(dp), intent(in)  threshold 
)

Constructs the SCF Hamiltonian given H0, HubbardU and charges. This routine does: \( H = \sum_i U_i q_i + V_i; \), where \( U \) is the Hubbard parameter for every atom i. \( V \) is the coulombic potential for every atom i.

Parameters
ham_bmlHamiltonian in bml format.
over_bmlOverlap in bml format.
hindexStart and end index for every atom in the system.
hubbarduHubbard parameter for every atom.
chargesCharges for every atom.
coulomb_pot_rCoulombic potential (r contribution)
coulomb_pot_kCoulombic potential (k contribution)
mdimMaximum nonzeroes elements per row for every row.
thresholdThreshold value for matrix elements.

Definition at line 151 of file prg_charges_mod.F90.

◆ prg_get_hscf_maxorb()

subroutine, public prg_charges_mod::prg_get_hscf_maxorb ( type(bml_matrix_t), intent(in)  ham0_bml,
type(bml_matrix_t), intent(in)  over_bml,
type(bml_matrix_t), intent(inout)  ham_bml,
integer, dimension(:), intent(in)  spindex,
integer, dimension(:,:), intent(in)  hindex,
real(dp), dimension(:), intent(in)  hubbardu,
real(dp), dimension(:), intent(in)  charges,
real(dp), dimension(:), intent(in)  coulomb_pot_r,
real(dp), dimension(:), intent(in)  coulomb_pot_k,
integer, intent(in)  mdimin,
real(dp), intent(in)  threshold,
integer, intent(in)  maxorb 
)

Definition at line 338 of file prg_charges_mod.F90.

◆ prg_get_hscf_v2()

subroutine, public prg_charges_mod::prg_get_hscf_v2 ( type(bml_matrix_t), intent(in)  ham0_bml,
type(bml_matrix_t), intent(in)  over_bml,
type(bml_matrix_t), intent(inout)  ham_bml,
integer, dimension(:), intent(in)  spindex,
integer, dimension(:,:), intent(in)  hindex,
real(dp), dimension(:), intent(in)  hubbardu,
real(dp), dimension(:), intent(in)  charges,
real(dp), dimension(:), intent(in)  coulomb_pot_r,
real(dp), dimension(:), intent(in)  coulomb_pot_k,
integer, intent(in)  mdimin,
real(dp), intent(in)  threshold 
)

Definition at line 277 of file prg_charges_mod.F90.

Variable Documentation

◆ dp

integer, parameter prg_charges_mod::dp = kind(1.0d0)
private

Definition at line 22 of file prg_charges_mod.F90.