PROGRESS  master
prg_pulaycomponent_mod Module Reference

Produces a matrix to get the Pulay Component of the forces. More...

Functions/Subroutines

subroutine, public prg_pulaycomponent0 (rho_bml, ham_bml, pcm_bml, threshold, M, bml_type, verbose)
 At \(T=0 K\), \( P = \rho H \rho \). More...
 
subroutine, public prg_pulaycomponentt (rho_bml, ham_bml, zmat_bml, pcm_bml, threshold, M, bml_type, verbose)
 At \( T > 0K \), \( P = \rho H S^-1 + S^{-1} H \rho \). More...
 
subroutine, public prg_get_pulayforce (nats, zmat_bml, ham_bml, rho_bml, dSx_bml, dSy_bml, dSz_bml, hindex, FPUL, threshold)
 Pulay Force FPUL from \( 2Tr[ZZ'HD \frac{dS}{dR}] \). More...
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

Produces a matrix to get the Pulay Component of the forces.

For a further explanation please see Niklasson 2008 [4]

Function/Subroutine Documentation

◆ prg_get_pulayforce()

subroutine, public prg_pulaycomponent_mod::prg_get_pulayforce ( integer, intent(in)  nats,
type(bml_matrix_t), intent(in)  zmat_bml,
type(bml_matrix_t), intent(in)  ham_bml,
type(bml_matrix_t), intent(in)  rho_bml,
type(bml_matrix_t), intent(in)  dSx_bml,
type(bml_matrix_t), intent(in)  dSy_bml,
type(bml_matrix_t), intent(in)  dSz_bml,
integer, dimension(:,:), intent(in)  hindex,
real(dp), dimension(:,:), intent(inout), allocatable  FPUL,
real(dp), intent(in)  threshold 
)

Pulay Force FPUL from \( 2Tr[ZZ'HD \frac{dS}{dR}] \).

Parameters
natsNumber of atoms.
zmat_bmlCongruence transform in bml format.
rho_bmlDensity matrix.
dSx_bmlx derivative of S.
dSy_bmly derivative of S.
dSz_bmlz derivative of S.
hindexContains the Hamiltonian indices for every atom (see get_hindex).

Definition at line 150 of file prg_pulaycomponent_mod.F90.

◆ prg_pulaycomponent0()

subroutine, public prg_pulaycomponent_mod::prg_pulaycomponent0 ( type(bml_matrix_t), intent(in)  rho_bml,
type(bml_matrix_t), intent(in)  ham_bml,
type(bml_matrix_t), intent(inout)  pcm_bml,
real(dp), intent(in)  threshold,
integer, intent(in)  M,
character(20), intent(in)  bml_type,
integer  verbose 
)

At \(T=0 K\), \( P = \rho H \rho \).

Parameters
rho_bmlDensity matrix in bml format.
ham_bmlHamiltonian matrix in bml format.
pcm_bmlPulay matix output in bml format.
thresholdThreshold for the matrix elements.
MMaximum nonzero values per row.
bml_typeBml format type.
verboseVerbosity level.
Todo:
M and bml_type will have to be removed from the input parameter.

Definition at line 30 of file prg_pulaycomponent_mod.F90.

◆ prg_pulaycomponentt()

subroutine, public prg_pulaycomponent_mod::prg_pulaycomponentt ( type(bml_matrix_t), intent(in)  rho_bml,
type(bml_matrix_t), intent(in)  ham_bml,
type(bml_matrix_t), intent(in)  zmat_bml,
type(bml_matrix_t), intent(inout)  pcm_bml,
real(dp), intent(in)  threshold,
integer, intent(in)  M,
character(20), intent(in)  bml_type,
integer  verbose 
)

At \( T > 0K \), \( P = \rho H S^-1 + S^{-1} H \rho \).

Parameters
rho_bmlDensity matrix in bml format.
ham_bmlHamiltonian matrix in bml format.
Z_bmlCongruence transform in bml format.
pcm_bmlPulay matrix output in bml format.
thresholdThreshold for the matrix elements.
MMaximum nonzero values per row.
bml_typeBml format type.
verboseVerbosity level.
Todo:
M and bml_type will have to be removed from the input parameter.

Definition at line 81 of file prg_pulaycomponent_mod.F90.

Variable Documentation

◆ dp

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

Definition at line 13 of file prg_pulaycomponent_mod.F90.