(git:691081d)
Loading...
Searching...
No Matches
response_solver Module Reference

Calculate the CPKS equation and the resulting forces. More...

Functions/Subroutines

subroutine, public response_calculation (qs_env, ec_env, silent)
 Initializes solver of linear response equation for energy correction.
subroutine, public response_equation_new (qs_env, p_env, cpmos, iounit, silent)
 Initializes vectors for MO-coefficient based linear response solver and calculates response density, and energy-weighted response density matrix.
subroutine, public response_equation (qs_env, p_env, cpmos, iounit, lr_section, silent)
 Initializes vectors for MO-coefficient based linear response solver and calculates response density, and energy-weighted response density matrix J. Chem. Theory Comput. 2022, 18, 4186−4202 (https://doi.org/10.1021/acs.jctc.2c00144).
subroutine, public response_force (qs_env, vh_rspace, vxc_rspace, vtau_rspace, vadmm_rspace, vadmm_tau_rspace, matrix_hz, matrix_pz, matrix_pz_admm, matrix_wz, zehartree, zexc, zexc_aux_fit, rhopz_r, p_env, ex_env, debug)
 ...
subroutine, public response_force_xtb (qs_env, p_env, matrix_hz, ex_env, debug)
 ...

Detailed Description

Calculate the CPKS equation and the resulting forces.

History
03.2014 created 09.2019 Moved from KG to Kohn-Sham 11.2019 Moved from energy_correction 08.2020 AO linear response solver [fbelle]
Author
JGH

Function/Subroutine Documentation

◆ response_calculation()

subroutine, public response_solver::response_calculation ( type(qs_environment_type), pointer qs_env,
type(energy_correction_type), pointer ec_env,
logical, intent(in), optional silent )

Initializes solver of linear response equation for energy correction.

Call AO or MO based linear response solver for energy correction

Parameters
qs_envThe quickstep environment
ec_envThe energy correction environment
silent...
Date
01.2020
Author
Fabian Belleflamme

Definition at line 183 of file response_solver.F.

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

◆ response_equation_new()

subroutine, public response_solver::response_equation_new ( type(qs_environment_type), pointer qs_env,
type(qs_p_env_type) p_env,
type(cp_fm_type), dimension(:), intent(inout) cpmos,
integer, intent(in) iounit,
logical, intent(in), optional silent )

Initializes vectors for MO-coefficient based linear response solver and calculates response density, and energy-weighted response density matrix.

Parameters
qs_env...
p_env...
cpmos...
iounit...
silent...

Definition at line 576 of file response_solver.F.

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

◆ response_equation()

subroutine, public response_solver::response_equation ( type(qs_environment_type), pointer qs_env,
type(qs_p_env_type) p_env,
type(cp_fm_type), dimension(:), pointer cpmos,
integer, intent(in) iounit,
type(section_vals_type), optional, pointer lr_section,
logical, intent(in), optional silent )

Initializes vectors for MO-coefficient based linear response solver and calculates response density, and energy-weighted response density matrix J. Chem. Theory Comput. 2022, 18, 4186−4202 (https://doi.org/10.1021/acs.jctc.2c00144).

Parameters
qs_env...
p_envHolds the two results of this routine, p_envp1 = CZ^T + ZC^T, p_envw1 = 0.5\sum_i(C_i*\epsilon_i*Z_i^T + Z_i*\epsilon_i*C_i^T)
cpmosRHS of equation as Ax + b = 0 (sign of b)
iounit...
lr_section...
silent...

Definition at line 687 of file response_solver.F.

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

◆ response_force()

subroutine, public response_solver::response_force ( type(qs_environment_type), pointer qs_env,
type(pw_r3d_rs_type), intent(in) vh_rspace,
type(pw_r3d_rs_type), dimension(:), pointer vxc_rspace,
type(pw_r3d_rs_type), dimension(:), pointer vtau_rspace,
type(pw_r3d_rs_type), dimension(:), pointer vadmm_rspace,
type(pw_r3d_rs_type), dimension(:), pointer vadmm_tau_rspace,
type(dbcsr_p_type), dimension(:), pointer matrix_hz,
type(dbcsr_p_type), dimension(:), pointer matrix_pz,
type(dbcsr_p_type), dimension(:), pointer matrix_pz_admm,
type(dbcsr_p_type), dimension(:), pointer matrix_wz,
real(kind=dp), optional zehartree,
real(kind=dp), optional zexc,
real(kind=dp), optional zexc_aux_fit,
type(pw_r3d_rs_type), dimension(:), intent(inout), optional rhopz_r,
type(qs_p_env_type), optional p_env,
type(excited_energy_type), optional, pointer ex_env,
logical, intent(in), optional debug )

...

Parameters
qs_env...
vh_rspace...
vxc_rspace...
vtau_rspace...
vadmm_rspace...
vadmm_tau_rspace...
matrix_hzRight-hand-side of linear response equation
matrix_pzLinear response density matrix
matrix_pz_admmLinear response density matrix in ADMM basis
matrix_wzEnergy-weighted linear response density
zehartreeHartree volume response contribution to stress tensor
zexcXC volume response contribution to stress tensor
zexc_aux_fitADMM XC volume response contribution to stress tensor
rhopz_rResponse density on real space grid
p_env...
ex_env...
debug...

Definition at line 850 of file response_solver.F.

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

◆ response_force_xtb()

subroutine, public response_solver::response_force_xtb ( type(qs_environment_type), pointer qs_env,
type(qs_p_env_type) p_env,
type(dbcsr_p_type), dimension(:), pointer matrix_hz,
type(excited_energy_type), optional, pointer ex_env,
logical, intent(in), optional debug )

...

Parameters
qs_env...
p_env...
matrix_hz...
ex_env...
debug...

Definition at line 2619 of file response_solver.F.

Here is the caller graph for this function: