(git:f2099e5)
Loading...
Searching...
No Matches
qs_fxc Module Reference

Setup Routine for Fxc Potentials. More...

Functions/Subroutines

subroutine, public qs_fxc_create (qs_env, rho0_struct, rho1_struct, rho0_atom_set, xc_section, do_onecenter, fxc_rho, fxc_tau, rho1_atom_set, do_scale, is_triplet, spinflip, no_weights, uf_grid_results, pw_env_ext, kind_set_external, para_env_external, dispersion_env, compute_virial, virial_xc)
 ...
subroutine, public qs_fxc_prep (qs_env, rho0_struct, xc_rho_set, xc_deriv_set, xc_section, pw_env_ext, is_triplet)
 ...
subroutine, public qs_fxc_apply (qs_env, xc_deriv_set, xc_rho_set, rho1_struct, rho0_atom_set, xc_section, do_onecenter, fxc_rho, fxc_tau, rho1_atom_set, do_scale, is_triplet, spinflip, pw_env_ext, kind_set_external, para_env_external, compute_virial, virial_xc)
 ...
subroutine, public qs_fxc_fdiff (qs_env, rho0_struct, rho1_struct, xc_section, accuracy, fxc_rho, fxc_tau, is_triplet, spinflip)
 ...

Detailed Description

Setup Routine for Fxc Potentials.

History
init 17.03.2020 complete refactoring 08.2026
Author
JGH

Function/Subroutine Documentation

◆ qs_fxc_create()

subroutine, public qs_fxc::qs_fxc_create ( type(qs_environment_type), pointer qs_env,
type(qs_rho_type), pointer rho0_struct,
type(qs_rho_type), pointer rho1_struct,
type(rho_atom_type), dimension(:), pointer rho0_atom_set,
type(section_vals_type), pointer xc_section,
logical, intent(in) do_onecenter,
type(pw_r3d_rs_type), dimension(:), pointer fxc_rho,
type(pw_r3d_rs_type), dimension(:), pointer fxc_tau,
type(rho_atom_type), dimension(:), pointer rho1_atom_set,
logical, intent(in), optional do_scale,
logical, intent(in), optional is_triplet,
logical, intent(in), optional spinflip,
logical, intent(in), optional no_weights,
logical, intent(in), optional uf_grid_results,
type(pw_env_type), optional, pointer pw_env_ext,
type(qs_kind_type), dimension(:), optional, pointer kind_set_external,
type(mp_para_env_type), intent(in), optional para_env_external,
type(qs_dispersion_type), optional, pointer dispersion_env,
logical, intent(in), optional compute_virial,
real(kind=dp), dimension(3, 3), intent(inout), optional virial_xc )

...

Parameters
qs_env...
rho0_struct...
rho1_struct...
rho0_atom_set...
xc_section...
do_onecenter...
fxc_rho...
fxc_tau...
rho1_atom_set...
do_scale...
is_triplet...
spinflip...
no_weights...
uf_grid_results...
pw_env_ext...
kind_set_external...
para_env_external...
dispersion_env...
compute_virial...
virial_xc...

Definition at line 103 of file qs_fxc.F.

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

◆ qs_fxc_prep()

subroutine, public qs_fxc::qs_fxc_prep ( type(qs_environment_type), pointer qs_env,
type(qs_rho_type), pointer rho0_struct,
type(xc_rho_set_type) xc_rho_set,
type(xc_derivative_set_type) xc_deriv_set,
type(section_vals_type), pointer xc_section,
type(pw_env_type), optional, pointer pw_env_ext,
logical, intent(in), optional is_triplet )

...

Parameters
qs_env...
rho0_struct...
xc_rho_set...
xc_deriv_set...
xc_section...
pw_env_ext...
is_triplet...

Definition at line 536 of file qs_fxc.F.

Here is the caller graph for this function:

◆ qs_fxc_apply()

subroutine, public qs_fxc::qs_fxc_apply ( type(qs_environment_type), pointer qs_env,
type(xc_derivative_set_type) xc_deriv_set,
type(xc_rho_set_type) xc_rho_set,
type(qs_rho_type), pointer rho1_struct,
type(rho_atom_type), dimension(:), pointer rho0_atom_set,
type(section_vals_type), pointer xc_section,
logical, intent(in) do_onecenter,
type(pw_r3d_rs_type), dimension(:), pointer fxc_rho,
type(pw_r3d_rs_type), dimension(:), pointer fxc_tau,
type(rho_atom_type), dimension(:), pointer rho1_atom_set,
logical, intent(in), optional do_scale,
logical, intent(in), optional is_triplet,
logical, intent(in), optional spinflip,
type(pw_env_type), optional, pointer pw_env_ext,
type(qs_kind_type), dimension(:), optional, pointer kind_set_external,
type(mp_para_env_type), intent(in), optional para_env_external,
logical, intent(in), optional compute_virial,
real(kind=dp), dimension(3, 3), intent(inout), optional virial_xc )

...

Parameters
qs_env...
xc_deriv_set...
xc_rho_set...
rho1_struct...
rho0_atom_set...
xc_section...
do_onecenter...
fxc_rho...
fxc_tau...
rho1_atom_set...
do_scale...
is_triplet...
spinflip...
pw_env_ext...
kind_set_external...
para_env_external...
compute_virial...
virial_xc...

Definition at line 709 of file qs_fxc.F.

Here is the caller graph for this function:

◆ qs_fxc_fdiff()

subroutine, public qs_fxc::qs_fxc_fdiff ( type(qs_environment_type), pointer qs_env,
type(qs_rho_type), pointer rho0_struct,
type(qs_rho_type), pointer rho1_struct,
type(section_vals_type), pointer xc_section,
integer, intent(in) accuracy,
type(pw_r3d_rs_type), dimension(:), pointer fxc_rho,
type(pw_r3d_rs_type), dimension(:), pointer fxc_tau,
logical, intent(in), optional is_triplet,
logical, intent(in), optional spinflip )

...

Parameters
qs_env...
rho0_struct...
rho1_struct...
xc_section...
accuracy...
fxc_rho...
fxc_tau...
is_triplet...
spinflip...

https://en.wikipedia.org/wiki/Finite_difference_coefficient

Derivative Accuracy 4 3 2 1 0 1 2 3 4

1 2 -1/2 0 1/2 4 1/12 -2/3 0 2/3 -1/12 6 -1/60 3/20 -3/4 0 3/4 -3/20 1/60

8 1/280 -4/105 1/5 -4/5 0 4/5 -1/5 4/105 -1/280

2 2 1 -2 1 4 -1/12 4/3 -5/2 4/3 -1/12 6 1/90 -3/20 3/2 -49/18 3/2 -3/20 1/90

8 -1/560 8/315 -1/5 8/5 -205/72 8/5 -1/5 8/315 -1/560

Definition at line 1061 of file qs_fxc.F.