PROGRESS  master
prg_response_mod.F90 File Reference

Go to the source code of this file.

Data Types

type  prg_response_mod::respdata_type
 

Modules

module  prg_response_mod
 Module to compute the density matrix response and related quantities.
 

Functions/Subroutines

subroutine, public prg_response_mod::prg_parse_response (RespData, filename)
 The parser for the calculation of the DM response. More...
 
subroutine, public prg_response_mod::prg_compute_dipole (charges, coordinate, dipoleMoment, factor, verbose)
 To compute the dipole moment of the system. The units of the dipole moment are determined by the units of the coordinates and charges that are given. More...
 
subroutine, public prg_response_mod::prg_write_dipole_tcl (dipoleMoment, file, factor, verbose)
 To visualize a dipole moment using VMD. This will prg_generate a .tcl script that could be run using VMD To visualize with VMD: $ vmd -e dipole.tcl. More...
 
subroutine, public prg_response_mod::prg_compute_polarizability (rsp_bml, prt_bml, polarizability, factor, verbose)
 To compute the polarizability of the system. The units of the directional polarizability are determined by the units of the perturbation and Hamiltonian. This equation can be found in [5] equation 4a. Note that in equation 4a of the reference there is a 2 that account for the double occupancy which is not present in this case cause the density matrix construction is done by taking the occupancy into account. More...
 
subroutine, public prg_response_mod::prg_pert_from_file (prt_bml, norb)
 Read perturbation from file. More...
 
subroutine, public prg_response_mod::prg_compute_response_rs (ham_bml, prt_bml, rsp_bml, lambda, bndfil, threshold, verbose)
 Computes the first order response density matrix using Rayleigh Schrodinger Perturbation theory The transformation hereby performed are: More...
 
subroutine, public prg_response_mod::prg_compute_response_fd (ham_bml, prt_bml, rsp_bml, prg_delta, bndfil, threshold, verbose)
 Computes the first order response density matrix using finite differences. The transformation hereby performed are: More...
 
subroutine, public prg_response_mod::prg_pert_constant_field (field, intensity, coordinate, lambda, prt_bml, threshold, spindex, norbi, verbose, over_bml)
 Apply a constant field perturbation through the dipole moment operator ( \( \hat{\mu} = e \hat{\textbf{r}} \)). In the matrix representation, this is: \( H^{(1)} = \lambda \frac{1}{2}(\,S \, e \textbf{r} \cdot \textbf{E} + \, e \textbf{r} \cdot \textbf{E}S) \). The symmetrization is done in order to preserve the Hermiticity of H. In this case the whole system will be affected by the field. In a latter version we will add the possibility of applying this field to a region of the system. In this implementation \( e= 1 \) and units can be transformed by using the parameter \( \lambda \). More...
 
subroutine, public prg_response_mod::prg_pert_sin_pot (direction, lx, coordinate, lambda, prt_bml, threshold, spindex, norbi, verbose, over_bml)
 Apply a sinusoidal length dependent potential ( \( \sin(\tilde{\textbf{r}}_x) \)) where \( \textbf{r}_x \) is the x coordinate. The Hamiltonian gets modified as follows: \( H^{(1)} = \frac{1}{2}\lambda (S \sin(\tilde{\textbf{r}}_x) + \sin(\tilde{\textbf{r}}_x) S) \). \( \tilde{\textbf{r}}_x = 2\pi(\textbf{r}/l_x) - \pi \). The symmetrization is done in order to preserve the Hermiticity of H. Units can be transformed by using the parameter \( \lambda \). More...
 
subroutine, public prg_response_mod::prg_pert_cos_pot (direction, lx, coordinate, lambda, prt_bml, threshold, spindex, norbi, verbose, over_bml)
 Apply a cosine length dependent potential ( \( \cos(\tilde{\textbf{r}}_x) \)) where \( \textbf{r}_x \) is the x coordinate. The Hamiltonian gets modified as follows: \( H^{(1)} = \frac{1}{2}\lambda (S \sin(\tilde{\textbf{r}}_x) + \sin(\tilde{\textbf{r}}_x) S) \). \( \tilde{\textbf{r}}_x = 2\pi(\textbf{r}/l_x) - \pi \). The symmetrization is done in order to preserve the Hermiticity of H. Units can be transformed by using the parameter \( \lambda \). More...
 
subroutine, public prg_response_mod::prg_compute_response_sp2 (ham_bml, prt_bml, rsp_bml, rho_bml, lambda, bndfil, minsp2iter, maxsp2iter, sp2conv, idemtol, threshold, verbose)
 Finds the first order response matrix from a Hamiltonian matrix. More...
 
subroutine, public prg_response_mod::prg_project_response (rsp_bml, over_bml, spindex, norbi, coordinates, rspfunc, verbose)
 Project the response onto atomic positions. First order response to the perturbation ( \( \rho^{(1)} \)) projected onto the atomic position. Basically: \( rsp(i) = \sum_{\alpha \in i}\rho^{(1)}_{\alpha \alpha} \), where orbital \( \alpha \) belong to atom \( i \). More...
 
subroutine, public prg_response_mod::prg_canon_response_vector (P1_bml, H1_bml, Nocc, beta, evals, mu0, m, thresh, HDIM)
 First-order Canonical Density Matrix Perturbation Theory. More...
 
subroutine, public prg_response_mod::prg_canon_response (P1_bml, H1_bml, Nocc, beta, evals, mu0, m, HDIM)
 First-order Canonical Density Matrix Perturbation Theory. More...
 
subroutine, public prg_response_mod::prg_canon_response_orig (P1_bml, H1_bml, Nocc, beta, evals, mu0, m, thresh, HDIM)
 First-order Canonical Density Matrix Perturbation Theory. More...
 
subroutine, public prg_response_mod::prg_canon_response_p1_dpdmu (P1_bml, dPdMu, H1_bml, Norbs, beta, Q_bml, evals, mu0, m, HDIM)
 First-order Canonical Density Matrix Perturbation Theory. More...
 

Variables

integer, parameter prg_response_mod::dp = kind(1.0d0)
 
real(dp), parameter prg_response_mod::pi = 3.14159265358979323846264338327950_dp