Documentation for module qs_rho_types

superstucture that hold various representations of the density and keeps track of which ones are valid

source: qs_rho_types.F
Loading...

public Types:

qs_rho_type
keeps the density in various representations, keeping track of which ones are valid.
qs_rho_p_type
...

public Subroutines/Functions:

Deallocates all components, whithout deallocating rho_struct itself.
SUBROUTINE
qs_rho_create (rho)
Allocates a new instance of rho.
returns info about the density described by this object. If some representation is not available an error is issued
releases a rho_struct by decreasing the reference count by one and deallocating if it reaches 0 (to be called when you don't want anymore a shared copy)
retains a rho_struct by increasing the reference count by one (to be called when you want to keep a shared copy)
...

public Types:

TYPE :: qs_rho_p_type

...


POINTER :: rho ...

TYPE :: qs_rho_type

keeps the density in various representations, keeping track of which ones are valid.


:: rho_ao the filtered rho in the localized atom basis (to have rho(r) the filtred matrix is enough, but rho(r,r') is lost).
DIMENSION(:), POINTER :: rho_ao_im => NULL() ...
TYPE(pw_p_type),
DIMENSION(:), POINTER :: rho_g => NULL() grids with rho in the g space
TYPE(pw_p_type),
DIMENSION(:), POINTER :: rho_r => NULL() grids with rho in the real space
TYPE(pw_p_type),
DIMENSION(:), POINTER :: drho_g => NULL() ...
TYPE(pw_p_type),
DIMENSION(:), POINTER :: drho_r => NULL() ...
TYPE(pw_p_type),
DIMENSION(:), POINTER :: tau_g => NULL() grids with the kinetic energy density in g space
TYPE(pw_p_type),
DIMENSION(:), POINTER :: tau_r => NULL() grids with the kinetic energy density in real space
TYPE(pw_p_type),
POINTER :: rho_r_sccs => NULL() ...
LOGICAL
:: rho_g_valid = .FALSE. ...
LOGICAL
:: rho_r_valid = .FALSE. ...
LOGICAL
:: drho_r_valid = .FALSE. ...
LOGICAL
:: drho_g_valid = .FALSE. ...
LOGICAL
:: tau_r_valid = .FALSE. ...
LOGICAL
:: tau_g_valid = .FALSE. ...
LOGICAL
:: soft_valid = .FALSE. ...
INTEGER
:: ref_count = -1 the reference count, when it becomes 0 the type is deallocated.
INTEGER
:: id_nr = -1 ...
INTEGER
:: rebuild_each = -1 how often a rebuild should be done by default
REAL(dp),
DIMENSION(:), POINTER :: tot_rho_r => NULL() the total charge in r space (valid only if rho_r is)
REAL(dp),
DIMENSION(:), POINTER :: tot_rho_g => NULL() ...

SUBROUTINEqs_rho_clear(rho_struct)

Deallocates all components, whithout deallocating rho_struct itself.

Arguments:
POINTER
:: rho_struct ...

SUBROUTINEqs_rho_create(rho)

Allocates a new instance of rho.

Arguments:
POINTER
:: rho ...

SUBROUTINEqs_rho_get(rho_struct, rho_ao, rho_ao_im, rho_ao_kp, rho_r, drho_r, rho_g, drho_g, tau_r, tau_g, rho_r_valid, drho_r_valid, rho_g_valid, drho_g_valid, tau_r_valid, tau_g_valid, rebuild_each, tot_rho_r, tot_rho_g, rho_r_sccs, soft_valid)

returns info about the density described by this object. If some representation is not available an error is issued

Arguments:
POINTER
:: rho_struct ...
OPTIONAL, POINTER
:: rho_ao(:) ...
OPTIONAL, POINTER
:: rho_ao_im(:) ...
OPTIONAL, POINTER
:: rho_ao_kp(:,:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: drho_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: drho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: tau_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: tau_g(:) ...
LOGICAL,
INTENT(out),
OPTIONAL
:: rho_r_valid ...
LOGICAL,
INTENT(out),
OPTIONAL
:: drho_r_valid ...
LOGICAL,
INTENT(out),
OPTIONAL
:: rho_g_valid ...
LOGICAL,
INTENT(out),
OPTIONAL
:: drho_g_valid ...
LOGICAL,
INTENT(out),
OPTIONAL
:: tau_r_valid ...
LOGICAL,
INTENT(out),
OPTIONAL
:: tau_g_valid ...
INTEGER,
INTENT(out),
OPTIONAL
:: rebuild_each ...
REAL(dp),
OPTIONAL, POINTER
:: tot_rho_r(:) ...
REAL(dp),
OPTIONAL, POINTER
:: tot_rho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_r_sccs ...
LOGICAL,
INTENT(out),
OPTIONAL
:: soft_valid ...

SUBROUTINEqs_rho_release(rho_struct)

releases a rho_struct by decreasing the reference count by one and deallocating if it reaches 0 (to be called when you don't want anymore a shared copy)

Arguments:
POINTER
:: rho_struct the structure to retain

SUBROUTINEqs_rho_retain(rho_struct)

retains a rho_struct by increasing the reference count by one (to be called when you want to keep a shared copy)

Arguments:
POINTER
:: rho_struct the structure to retain

SUBROUTINEqs_rho_set(rho_struct, rho_ao, rho_ao_im, rho_ao_kp, rho_r, drho_r, rho_g, drho_g, tau_r, tau_g, rho_r_valid, drho_r_valid, rho_g_valid, drho_g_valid, tau_r_valid, tau_g_valid, rebuild_each, tot_rho_r, tot_rho_g, rho_r_sccs, soft_valid)

...

Arguments:
POINTER
:: rho_struct ...
OPTIONAL, POINTER
:: rho_ao(:) ...
OPTIONAL, POINTER
:: rho_ao_im(:) ...
OPTIONAL, POINTER
:: rho_ao_kp(:,:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: drho_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: drho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: tau_r(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: tau_g(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: rho_r_valid ...
LOGICAL,
INTENT(in),
OPTIONAL
:: drho_r_valid ...
LOGICAL,
INTENT(in),
OPTIONAL
:: rho_g_valid ...
LOGICAL,
INTENT(in),
OPTIONAL
:: drho_g_valid ...
LOGICAL,
INTENT(in),
OPTIONAL
:: tau_r_valid ...
LOGICAL,
INTENT(in),
OPTIONAL
:: tau_g_valid ...
INTEGER,
INTENT(in),
OPTIONAL
:: rebuild_each ...
REAL(dp),
OPTIONAL, POINTER
:: tot_rho_r(:) ...
REAL(dp),
OPTIONAL, POINTER
:: tot_rho_g(:) ...
TYPE(pw_p_type),
OPTIONAL, POINTER
:: rho_r_sccs ...
LOGICAL,
INTENT(in),
OPTIONAL
:: soft_valid ...