(git:6a2e663)
hfx_admm_utils Module Reference

Utilities for hfx and admm methods. More...

Functions/Subroutines

subroutine, public hfx_admm_init (qs_env, calculate_forces)
 ... More...
 
subroutine, public aux_admm_init (qs_env, mos, admm_env, admm_control, basis_type)
 Minimal setup routine for admm_env No forces No k-points No DFT correction terms. More...
 
subroutine, public hfx_ks_matrix_kp (qs_env, matrix_ks, energy, calculate_forces)
 Add the HFX K-point contribution to the real-space Hamiltonians. More...
 
subroutine, public hfx_ks_matrix (qs_env, matrix_ks, rho, energy, calculate_forces, just_energy, v_rspace_new, v_tau_rspace)
 Add the hfx contributions to the Hamiltonian. More...
 
subroutine, public create_admm_xc_section (x_data, xc_section, admm_env)
 This routine modifies the xc section depending on the potential type used for the HF exchange and the resulting correction term. Currently three types of corrections are implemented: More...
 
subroutine, public tddft_hfx_matrix (matrix_ks, rho_ao, qs_env, update_energy, recalc_integrals, external_hfx_sections, external_x_data)
 Add the hfx contributions to the Hamiltonian. More...
 

Detailed Description

Utilities for hfx and admm methods.

History
refactoring 03-2011 [MI] Made GAPW compatible 12.2019 (A. Bussy)
Author
MI

Function/Subroutine Documentation

◆ hfx_admm_init()

subroutine, public hfx_admm_utils::hfx_admm_init ( type(qs_environment_type), pointer  qs_env,
logical, intent(in), optional  calculate_forces 
)

...

Parameters
qs_env...
calculate_forces...

Definition at line 163 of file hfx_admm_utils.F.

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

◆ aux_admm_init()

subroutine, public hfx_admm_utils::aux_admm_init ( type(qs_environment_type), pointer  qs_env,
type(mo_set_type), dimension(:), pointer  mos,
type(admm_type), pointer  admm_env,
type(admm_control_type), pointer  admm_control,
character(len=*)  basis_type 
)

Minimal setup routine for admm_env No forces No k-points No DFT correction terms.

Parameters
qs_env...
mos...
admm_env...
admm_control...
basis_type...

Definition at line 396 of file hfx_admm_utils.F.

Here is the caller graph for this function:

◆ hfx_ks_matrix_kp()

subroutine, public hfx_admm_utils::hfx_ks_matrix_kp ( type(qs_environment_type), pointer  qs_env,
type(dbcsr_p_type), dimension(:, :), pointer  matrix_ks,
type(qs_energy_type), pointer  energy,
logical, intent(in)  calculate_forces 
)

Add the HFX K-point contribution to the real-space Hamiltonians.

Parameters
qs_env...
matrix_ks...
energy...
calculate_forces...

Definition at line 958 of file hfx_admm_utils.F.

Here is the caller graph for this function:

◆ hfx_ks_matrix()

subroutine, public hfx_admm_utils::hfx_ks_matrix ( type(qs_environment_type), pointer  qs_env,
type(dbcsr_p_type), dimension(:, :), pointer  matrix_ks,
type(qs_rho_type), pointer  rho,
type(qs_energy_type), pointer  energy,
logical, intent(in)  calculate_forces,
logical, intent(in)  just_energy,
type(pw_r3d_rs_type), dimension(:), pointer  v_rspace_new,
type(pw_r3d_rs_type), dimension(:), pointer  v_tau_rspace 
)

Add the hfx contributions to the Hamiltonian.

Parameters
qs_env...
matrix_ks...
rho...
energy...
calculate_forces...
just_energy...
v_rspace_new...
v_tau_rspace...
History
refactoring 03-2011 [MI]

Definition at line 1134 of file hfx_admm_utils.F.

Here is the caller graph for this function:

◆ create_admm_xc_section()

subroutine, public hfx_admm_utils::create_admm_xc_section ( type(hfx_type), dimension(:, :), pointer  x_data,
type(section_vals_type), pointer  xc_section,
type(admm_type), pointer  admm_env 
)

This routine modifies the xc section depending on the potential type used for the HF exchange and the resulting correction term. Currently three types of corrections are implemented:

coulomb: Ex,hf = Ex,hf' + (PBEx-PBEx') shortrange: Ex,hf = Ex,hf' + (XWPBEX-XWPBEX') truncated: Ex,hf = Ex,hf' + ( (XWPBEX0-PBE_HOLE_TC_LR) -(XWPBEX0-PBE_HOLE_TC_LR)' )

with ' denoting the auxiliary basis set and

PBEx: PBE exchange functional XWPBEX: PBE exchange hole for short-range potential (erfc(omega*r)/r) XWPBEX0: PBE exchange hole for standard coulomb potential PBE_HOLE_TC_LR: PBE exchange hole for longrange truncated coulomb potential

Above explanation is correct for the deafult case. If a specific functional is requested for the correction term (cfun), we get Ex,hf = Ex,hf' + (cfun-cfun') for all cases of operators.

Parameters
x_data...
xc_sectionthe original xc_section
admm_envthe ADMM environment
History
12.2009 created [Manuel Guidon] 05.2021 simplify for case of no correction [JGH]
Author
Manuel Guidon

Definition at line 1459 of file hfx_admm_utils.F.

Here is the caller graph for this function:

◆ tddft_hfx_matrix()

subroutine, public hfx_admm_utils::tddft_hfx_matrix ( type(dbcsr_p_type), dimension(:), intent(inout), target  matrix_ks,
type(dbcsr_p_type), dimension(:), intent(inout), target  rho_ao,
type(qs_environment_type), pointer  qs_env,
logical, intent(in), optional  update_energy,
logical, intent(in), optional  recalc_integrals,
type(section_vals_type), optional, pointer  external_hfx_sections,
type(hfx_type), dimension(:, :), optional, target  external_x_data 
)

Add the hfx contributions to the Hamiltonian.

Parameters
matrix_ksKohn-Sham matrix (updated on exit)
rho_aoelectron density expressed in terms of atomic orbitals
qs_envQuickstep environment
update_energywhether to update energy (default: yes)
recalc_integralswhether to recalculate integrals (default: value of HFTREAT_LSD_IN_CORE)
external_hfx_sections...
external_x_data...
Note
Simplified version of subroutine hfx_ks_matrix()

Definition at line 2475 of file hfx_admm_utils.F.

Here is the caller graph for this function: