|
PROGRESS
master
|
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) |
Variables | |
| integer, parameter | dp = kind(1.0d0) |
A module to compute the Mulliken charges of a chemical system.
This module contains routines that compute properties related to 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.
| rho_bml | Density matrix in bml format. |
| over_bml | Overlap matrix in bml format. |
| hindex | Start and end index for every atom in the system. |
| charges | Output parameter that gives the vectorized charges. |
| threshold | Threshold value for matrix elements. |
Definition at line 30 of file prg_charges_mod.F90.
| 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.
| ham_bml | Hamiltonian in bml format. |
| over_bml | Overlap in bml format. |
| hindex | Start and end index for every atom in the system. |
| hubbardu | Hubbard parameter for every atom. |
| charges | Charges for every atom. |
| coulomb_pot_r | Coulombic potential (r contribution) |
| coulomb_pot_k | Coulombic potential (k contribution) |
| mdim | Maximum nonzeroes elements per row for every row. |
| threshold | Threshold value for matrix elements. |
Definition at line 98 of file prg_charges_mod.F90.
| 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 154 of file prg_charges_mod.F90.
|
private |
Definition at line 17 of file prg_charges_mod.F90.