(git:c5411e0)
Loading...
Searching...
No Matches
qs_vcd_ao Module Reference

Functions/Subroutines

subroutine, public build_matrix_hr_rh (vcd_env, qs_env, rc)
 Build the matrix Hr*delta_nu^\lambda - rH*delta_mu^\lambda.
 
subroutine, public build_rpnl_matrix (matrix_rv, qs_kind_set, particle_set, sab_all, sap_ppnl, eps_ppnl, cell, ref_point, direction_or)
 Product of r with V_nl. Adapted from build_com_rpnl.
 
subroutine, public build_tr_matrix (matrix_tr, qs_env, qs_kind_set, basis_type, sab_nl, direction_or, rc)
 Calculation of the product Tr or rT over Cartesian Gaussian functions.
 
subroutine, public build_rcore_matrix (matrix_rcore, qs_env, qs_kind_set, basis_type, sab_nl, rf)
 Commutator of the of the local part of the pseudopotential with r.
 
subroutine, public build_matrix_r_vhxc (matrix_rv, qs_env, rc)
 Commutator of the Hartree+XC potentials with r.
 
subroutine, public build_dsdv_matrix (qs_env, matrix_dsdv, deltar, rcc)
 Builds the overlap derivative wrt nuclear velocities dS/dV = < mu | r | nu > * (nu - mu)
 
subroutine, public build_com_rpnl_r (matrix_rv, qs_kind_set, sab_all, sap_ppnl, eps_ppnl, particle_set, cell, direction_or)
 Builds the [Vnl, r] * r from either side.
 
subroutine, public build_dcom_rpnl (matrix_rv, qs_kind_set, sab_orb, sap_ppnl, eps_ppnl, particle_set, pseudoatom)
 Calculate the double commutator [[Vnl, r], r].
 
subroutine, public build_drpnl_matrix (matrix_rv, qs_kind_set, sab_all, sap_ppnl, eps_ppnl, particle_set, pseudoatom)
 dV_nl/dV. Adapted from build_com_rpnl.
 
subroutine, public hr_mult_by_delta_1d (matrix, qs_kind_set, basis_type, sab_nl, lambda, direction_or)
 Apply the operator \delta_\mu^\lambda to zero out all elements of the matrix which don't fulfill the condition.
 
subroutine, public hr_mult_by_delta_3d (matrix_hr, qs_kind_set, basis_type, sab_nl, deltar, direction_or)
 Apply the operator \delta_\mu^\lambda to zero out all elements of the matrix which don't fulfill the condition. Operates on matrix_hr(1:3) instead of a single matrix.
 

Function/Subroutine Documentation

◆ build_matrix_hr_rh()

subroutine, public qs_vcd_ao::build_matrix_hr_rh ( type(vcd_env_type vcd_env,
type(qs_environment_type), pointer  qs_env,
real(dp), dimension(3)  rc 
)

Build the matrix Hr*delta_nu^\lambda - rH*delta_mu^\lambda.

Parameters
vcd_env...
qs_env...
rc...
Author
Edward Ditler

Definition at line 117 of file qs_vcd_ao.F.

Here is the call graph for this function:

◆ build_rpnl_matrix()

subroutine, public qs_vcd_ao::build_rpnl_matrix ( type(dbcsr_p_type), dimension(:)  matrix_rv,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
type(particle_type), dimension(:), pointer  particle_set,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_all,
type(neighbor_list_set_p_type), dimension(:), pointer  sap_ppnl,
real(kind=dp), intent(in)  eps_ppnl,
type(cell_type), intent(in), optional, pointer  cell,
real(kind=dp), dimension(3)  ref_point,
logical  direction_or 
)

Product of r with V_nl. Adapted from build_com_rpnl.

Parameters
matrix_rv...
qs_kind_set...
particle_set...
sab_all...
sap_ppnl...
eps_ppnl...
cell...
ref_point...
direction_Or...
Author
Edward Ditler, Tomas Zimmermann

Definition at line 186 of file qs_vcd_ao.F.

Here is the caller graph for this function:

◆ build_tr_matrix()

subroutine, public qs_vcd_ao::build_tr_matrix ( type(dbcsr_p_type), dimension(:)  matrix_tr,
type(qs_environment_type), pointer  qs_env,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
character(len=*), intent(in)  basis_type,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
logical  direction_or,
real(kind=dp), dimension(3), optional  rc 
)

Calculation of the product Tr or rT over Cartesian Gaussian functions.

Parameters
matrix_tr...
qs_env...
qs_kind_set...
basis_typebasis set to be used
sab_nlpair list (must be consistent with basis sets!)
direction_Or...
rc...
Date
11.10.2010
History
Ported from qs_overlap, replaces code in build_core_hamiltonian Refactoring [07.2014] JGH Simplify options and use new kinetic energy integral routine Adapted from qs_kinetic [07.2016] Adapted from build_com_tr_matrix [2021] by ED
Author
JGH
Version
1.0

Definition at line 388 of file qs_vcd_ao.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_rcore_matrix()

subroutine, public qs_vcd_ao::build_rcore_matrix ( type(dbcsr_p_type), dimension(:)  matrix_rcore,
type(qs_environment_type), pointer  qs_env,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
character(len=*)  basis_type,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
real(kind=dp), dimension(3), optional  rf 
)

Commutator of the of the local part of the pseudopotential with r.

Parameters
matrix_rcore...
qs_env...
qs_kind_set...
basis_type...
sab_nl...
rf...
Author
Edward Ditler, Tomas Zimmermann

Definition at line 628 of file qs_vcd_ao.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_matrix_r_vhxc()

subroutine, public qs_vcd_ao::build_matrix_r_vhxc ( type(dbcsr_p_type), dimension(:, :), intent(inout), pointer  matrix_rv,
type(qs_environment_type), pointer  qs_env,
real(kind=dp), dimension(3)  rc 
)

Commutator of the Hartree+XC potentials with r.

Parameters
matrix_rv...
qs_env...
rc...
Author
Edward Ditler, Tomas Zimmermann

Definition at line 978 of file qs_vcd_ao.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_dsdv_matrix()

subroutine, public qs_vcd_ao::build_dsdv_matrix ( type(qs_environment_type), pointer  qs_env,
type(dbcsr_p_type), dimension(:)  matrix_dsdv,
real(kind=dp), dimension(:, :)  deltar,
real(kind=dp), dimension(3)  rcc 
)

Builds the overlap derivative wrt nuclear velocities dS/dV = < mu | r | nu > * (nu - mu)

Parameters
qs_env...
matrix_dsdv...
deltaR...
rcc...
Author
Edward Ditler

Definition at line 1466 of file qs_vcd_ao.F.

Here is the call graph for this function:

◆ build_com_rpnl_r()

subroutine, public qs_vcd_ao::build_com_rpnl_r ( type(dbcsr_p_type), dimension(:, :)  matrix_rv,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_all,
type(neighbor_list_set_p_type), dimension(:), pointer  sap_ppnl,
real(kind=dp), intent(in)  eps_ppnl,
type(particle_type), dimension(:), intent(in), pointer  particle_set,
type(cell_type), pointer  cell,
logical, intent(in)  direction_or 
)

Builds the [Vnl, r] * r from either side.

Parameters
matrix_rv...
qs_kind_set...
sab_all...
sap_ppnl...
eps_ppnl...
particle_set...
cell...
direction_Or...
Author
Edward Ditler, Tomas Zimmermann

Definition at line 1548 of file qs_vcd_ao.F.

Here is the caller graph for this function:

◆ build_dcom_rpnl()

subroutine, public qs_vcd_ao::build_dcom_rpnl ( type(dbcsr_p_type), dimension(:, :)  matrix_rv,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_orb,
type(neighbor_list_set_p_type), dimension(:), pointer  sap_ppnl,
real(kind=dp), intent(in)  eps_ppnl,
type(particle_type), dimension(:), intent(in), pointer  particle_set,
integer, intent(in)  pseudoatom 
)

Calculate the double commutator [[Vnl, r], r].

Parameters
matrix_rv...
qs_kind_set...
sab_orb...
sap_ppnl...
eps_ppnl...
particle_set...
pseudoatomOnly consider pseudopotentials on atom lambda
Author
Edward Ditler

Definition at line 1853 of file qs_vcd_ao.F.

◆ build_drpnl_matrix()

subroutine, public qs_vcd_ao::build_drpnl_matrix ( type(dbcsr_p_type), dimension(:)  matrix_rv,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_all,
type(neighbor_list_set_p_type), dimension(:), pointer  sap_ppnl,
real(kind=dp), intent(in)  eps_ppnl,
type(particle_type), dimension(:), intent(in), pointer  particle_set,
integer  pseudoatom 
)

dV_nl/dV. Adapted from build_com_rpnl.

Parameters
matrix_rv...
qs_kind_set...
sab_all...
sap_ppnl...
eps_ppnl...
particle_set...
pseudoatom...
Author
Edward Ditler

Definition at line 2269 of file qs_vcd_ao.F.

Here is the call graph for this function:

◆ hr_mult_by_delta_1d()

subroutine, public qs_vcd_ao::hr_mult_by_delta_1d ( type(dbcsr_type)  matrix,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
character(len=*), intent(in)  basis_type,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
integer, intent(in)  lambda,
logical  direction_or 
)

Apply the operator \delta_\mu^\lambda to zero out all elements of the matrix which don't fulfill the condition.

Parameters
matrix...
qs_kind_set...
basis_type...
sab_nl...
lambda...
direction_Or...
Author
Edward Ditler

Definition at line 2578 of file qs_vcd_ao.F.

Here is the caller graph for this function:

◆ hr_mult_by_delta_3d()

subroutine, public qs_vcd_ao::hr_mult_by_delta_3d ( type(dbcsr_p_type), dimension(:), pointer  matrix_hr,
type(qs_kind_type), dimension(:), pointer  qs_kind_set,
character(len=*), intent(in)  basis_type,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
real(kind=dp), dimension(:, :)  deltar,
logical  direction_or 
)

Apply the operator \delta_\mu^\lambda to zero out all elements of the matrix which don't fulfill the condition. Operates on matrix_hr(1:3) instead of a single matrix.

Parameters
matrix_hr...
qs_kind_set...
basis_type...
sab_nl...
deltaR...
direction_Or...
Author
Edward Ditler

Definition at line 2718 of file qs_vcd_ao.F.

Here is the caller graph for this function: