(git:34ef472)
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) More...
 
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 More...
 
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 More...
 
subroutine, public qs_rho_copy (rho_input, rho_output, auxbas_pw_pool, mspin)
 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. More...
 
subroutine, public qs_rho_scale_and_add (rhoa, rhob, alpha, beta)
 rhoa = alpha*rhoa+beta*rhob More...
 
subroutine, public duplicate_rho_type (rho_input, rho_output, qs_env)
 Duplicates a pointer physically. More...
 
subroutine, public allocate_rho_ao_imag_from_real (rho, qs_env)
 (Re-)allocates rho_ao_im from real part rho_ao More...
 

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 95 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 372 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 668 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 
)

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...

Definition at line 765 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()

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 1059 of file qs_rho_methods.F.

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

◆ 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 1231 of file qs_rho_methods.F.

Here is the call graph for this function:
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 1433 of file qs_rho_methods.F.

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