(git:5e7fe52)
Loading...
Searching...
No Matches
qs_rho_methods Module Reference

methods of the rho structure (defined in qs_rho_types) More...

Functions/Subroutines

subroutine, public qs_rho_rebuild (rho, qs_env, rebuild_ao, rebuild_grids, admm, pw_env_external)
 rebuilds rho (if necessary allocating and initializing it)
subroutine, public qs_rho_update_rho (rho_struct, qs_env, rho_xc_external, local_rho_set, task_list_external, task_list_external_soft, pw_env_external, para_env_external)
 updates rho_r and rho_g to the rhorho_ao. if use_kinetic_energy_density also computes tau_r and tau_g this works for all ground state and ground state response methods
subroutine, public qs_rho_update_tddfpt (rho_struct, qs_env, pw_env_external, task_list_external, para_env_external, tddfpt_lri_env, tddfpt_lri_density)
 updates rho_r and rho_g to the rhorho_ao. if use_kinetic_energy_density also computes tau_r and tau_g
subroutine, public qs_rho_copy (rho_input, rho_output, auxbas_pw_pool, mspin, factor)
 Allocate a density structure and fill it with data from an input structure SIZE(rho_input) == mspin == 1 direct copy SIZE(rho_input) == mspin == 2 direct copy of alpha and beta spin SIZE(rho_input) == 1 AND mspin == 2 copy rho/2 into alpha and beta spin.
subroutine, public qs_rho_transfer (rho_input, rho_output, in_pw_pool, out_pw_pool)
 Allocate a density structure and fill it with data from an input structure Transfer all data to input pw_pool.
subroutine, public qs_rho_scale_and_add_b (rhoa, rhob, alpha, beta)
 rhoa(2) = alpha*rhoa(2)+beta*rhob(1)
subroutine, public qs_rho_scale_and_add (rhoa, rhob, alpha, beta)
 rhoa = alpha*rhoa+beta*rhob
subroutine, public duplicate_rho_type (rho_input, rho_output, qs_env)
 Duplicates a pointer physically.
subroutine, public allocate_rho_ao_imag_from_real (rho, qs_env)
 (Re-)allocates rho_ao_im from real part rho_ao

Detailed Description

methods of the rho structure (defined in qs_rho_types)

History
08.2002 created [fawzi] 08.2014 kpoints [JGH]
Author
Fawzi Mohamed

Function/Subroutine Documentation

◆ qs_rho_rebuild()

subroutine, public qs_rho_methods::qs_rho_rebuild ( type(qs_rho_type), intent(inout) rho,
type(qs_environment_type), pointer qs_env,
logical, intent(in), optional rebuild_ao,
logical, intent(in), optional rebuild_grids,
logical, intent(in), optional admm,
type(pw_env_type), optional, pointer pw_env_external )

rebuilds rho (if necessary allocating and initializing it)

Parameters
rhothe rho type to rebuild (defaults to qs_envrho)
qs_envthe environment to which rho belongs
rebuild_aoif it is necessary to rebuild rho_ao. Defaults to true.
rebuild_gridsif it in necessary to rebuild rho_r and rho_g. Defaults to false.
admm(use aux_fit basis)
pw_env_externalexternal plane wave environment
History
11.2002 created replacing qs_rho_create and qs_env_rebuild_rho[fawzi]
Author
Fawzi Mohamed
Note
needs updated pw pools, s, s_mstruct and h in qs_env. The use of p to keep the structure of h (needed for the forces) is ugly and should be removed. Change so that it does not allocate a subcomponent if it is not associated and not requested?

Definition at line 99 of file qs_rho_methods.F.

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

◆ qs_rho_update_rho()

subroutine, public qs_rho_methods::qs_rho_update_rho ( type(qs_rho_type), intent(inout) rho_struct,
type(qs_environment_type), pointer qs_env,
type(qs_rho_type), optional, pointer rho_xc_external,
type(local_rho_type), optional, pointer local_rho_set,
type(task_list_type), optional, pointer task_list_external,
type(task_list_type), optional, pointer task_list_external_soft,
type(pw_env_type), optional, pointer pw_env_external,
type(mp_para_env_type), optional, pointer para_env_external )

updates rho_r and rho_g to the rhorho_ao. if use_kinetic_energy_density also computes tau_r and tau_g this works for all ground state and ground state response methods

Parameters
rho_structthe rho structure that should be updated
qs_envthe qs_env rho_struct refers to the integrated charge in r space
rho_xc_external...
local_rho_set...
task_list_externalexternal task list
task_list_external_softexternal task list (soft_version)
pw_env_externalexternal plane wave environment
para_env_externalexternal MPI environment
History
08.2002 created [fawzi]
Author
Fawzi Mohamed

Definition at line 378 of file qs_rho_methods.F.

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

◆ qs_rho_update_tddfpt()

subroutine, public qs_rho_methods::qs_rho_update_tddfpt ( type(qs_rho_type), intent(inout) rho_struct,
type(qs_environment_type), pointer qs_env,
type(pw_env_type), optional, pointer pw_env_external,
type(task_list_type), optional, pointer task_list_external,
type(mp_para_env_type), optional, pointer para_env_external,
type(lri_environment_type), optional, pointer tddfpt_lri_env,
type(lri_density_type), optional, pointer tddfpt_lri_density )

updates rho_r and rho_g to the rhorho_ao. if use_kinetic_energy_density also computes tau_r and tau_g

Parameters
rho_structthe rho structure that should be updated
qs_envthe qs_env rho_struct refers to the integrated charge in r space
pw_env_externalexternal plane wave environment
task_list_externalexternal task list
para_env_external...
tddfpt_lri_env...
tddfpt_lri_density...
History
08.2002 created [fawzi]
Author
Fawzi Mohamed

Definition at line 680 of file qs_rho_methods.F.

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

◆ qs_rho_copy()

subroutine, public qs_rho_methods::qs_rho_copy ( type(qs_rho_type), intent(in) rho_input,
type(qs_rho_type), intent(inout) rho_output,
type(pw_pool_type), pointer auxbas_pw_pool,
integer, intent(in) mspin,
real(kind=dp), intent(in), optional factor )

Allocate a density structure and fill it with data from an input structure SIZE(rho_input) == mspin == 1 direct copy SIZE(rho_input) == mspin == 2 direct copy of alpha and beta spin SIZE(rho_input) == 1 AND mspin == 2 copy rho/2 into alpha and beta spin.

Parameters
rho_input...
rho_output...
auxbas_pw_pool...
mspin...
factor...

Definition at line 778 of file qs_rho_methods.F.

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

◆ qs_rho_transfer()

subroutine, public qs_rho_methods::qs_rho_transfer ( type(qs_rho_type), intent(in) rho_input,
type(qs_rho_type), intent(inout) rho_output,
type(pw_pool_type), pointer in_pw_pool,
type(pw_pool_type), pointer out_pw_pool )

Allocate a density structure and fill it with data from an input structure Transfer all data to input pw_pool.

Parameters
rho_input...
rho_output...
in_pw_pool...
out_pw_pool...

Definition at line 1077 of file qs_rho_methods.F.

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

◆ qs_rho_scale_and_add_b()

subroutine, public qs_rho_methods::qs_rho_scale_and_add_b ( type(qs_rho_type), intent(in) rhoa,
type(qs_rho_type), intent(in) rhob,
real(kind=dp), intent(in) alpha,
real(kind=dp), intent(in) beta )

rhoa(2) = alpha*rhoa(2)+beta*rhob(1)

Parameters
rhoa...
rhob...
alpha...
beta...

Definition at line 1327 of file qs_rho_methods.F.

◆ qs_rho_scale_and_add()

subroutine, public qs_rho_methods::qs_rho_scale_and_add ( type(qs_rho_type), intent(in) rhoa,
type(qs_rho_type), intent(in) rhob,
real(kind=dp), intent(in) alpha,
real(kind=dp), intent(in) beta )

rhoa = alpha*rhoa+beta*rhob

Parameters
rhoa...
rhob...
alpha...
beta...

Definition at line 1444 of file qs_rho_methods.F.

◆ duplicate_rho_type()

subroutine, public qs_rho_methods::duplicate_rho_type ( type(qs_rho_type), intent(inout) rho_input,
type(qs_rho_type), intent(inout) rho_output,
type(qs_environment_type), pointer qs_env )

Duplicates a pointer physically.

Parameters
rho_inputThe rho structure to be duplicated
rho_outputThe duplicate rho structure
qs_envThe QS environment from which the auxiliary PW basis-set pool is taken
History
07.2005 initial create [tdk]
Author
Thomas D. Kuehne (tkueh.nosp@m.ne@p.nosp@m.hys.c.nosp@m.hem..nosp@m.ethz..nosp@m.ch)
Note
Associated pointers are deallocated, nullified pointers are NOT accepted!

Definition at line 1616 of file qs_rho_methods.F.

Here is the caller graph for this function:

◆ allocate_rho_ao_imag_from_real()

subroutine, public qs_rho_methods::allocate_rho_ao_imag_from_real ( type(qs_rho_type), pointer rho,
type(qs_environment_type), pointer qs_env )

(Re-)allocates rho_ao_im from real part rho_ao

Parameters
rho...
qs_env...

Definition at line 1818 of file qs_rho_methods.F.

Here is the caller graph for this function: