Documentation for module qs_loc_utils

Some utilities for the construction of the localization environment

source: qs_loc_utils.F
Loading...

public Subroutines/Functions:

2by2 rotation for the pipek operator in this case the z_ij numbers are reals
...
initializes everything needed for localization of the HOMOs
allocates the data, and initializes the operators
initializes everything needed for localization of the molecular orbitals
copy old mos to new ones, allocating as necessary
create the center and spread array and the file names for the output
create the lists of mos that are taken into account

SUBROUTINEjacobi_rotation_pipek(zij_fm_set, vectors, sweeps)

2by2 rotation for the pipek operator in this case the z_ij numbers are reals

Arguments:
POINTER
:: zij_fm_set(:,:) ...
TYPE(cp_fm_type),
POINTER
:: vectors ...
INTEGER
:: sweeps ...

SUBROUTINEloc_write_restart(qs_loc_env, section, mo_array, coeff_localized, do_homo, evals)

...

Arguments:
POINTER
:: qs_loc_env ...
POINTER
:: section ...
POINTER
:: mo_array(:) ...
POINTER
:: coeff_localized(:) ...
LOGICAL,
INTENT(in)
:: do_homo ...
OPTIONAL, POINTER
:: evals(:) ...

SUBROUTINEqs_loc_control_init(qs_loc_env, loc_section, do_homo, do_xas, nloc_xas)

initializes everything needed for localization of the HOMOs

Arguments:
POINTER
:: qs_loc_env ...
POINTER
:: loc_section ...
LOGICAL,
INTENT(in)
:: do_homo ...
LOGICAL,
INTENT(in),
OPTIONAL
:: do_xas ...
INTEGER,
INTENT(in),
OPTIONAL
:: nloc_xas ...

SUBROUTINEqs_loc_env_init(qs_loc_env, localized_wfn_control, qs_env, myspin, do_localize, loc_coeff, mo_loc_history)

allocates the data, and initializes the operators

Arguments:
POINTER
:: qs_loc_env new environment for the localization calculations
POINTER
:: localized_wfn_control variables and directives for the localization
POINTER
:: qs_env the qs_env in which the qs_env lives
INTEGER,
INTENT(in),
OPTIONAL
:: myspin ...
LOGICAL,
INTENT(in),
OPTIONAL
:: do_localize ...
OPTIONAL, POINTER
:: loc_coeff(:) ...
OPTIONAL, POINTER
:: mo_loc_history(:) ...

SUBROUTINEqs_loc_init(qs_env, qs_loc_env, localize_section, mos_localized, do_homo, do_mo_cubes, mo_loc_history, evals)

initializes everything needed for localization of the molecular orbitals

Arguments:
POINTER
:: qs_env ...
POINTER
:: qs_loc_env ...
POINTER
:: localize_section ...
POINTER
:: mos_localized(:) ...
LOGICAL,
OPTIONAL
:: do_homo ...
LOGICAL,
OPTIONAL
:: do_mo_cubes ...
OPTIONAL, POINTER
:: mo_loc_history(:) ...
OPTIONAL, POINTER
:: evals(:) ...

SUBROUTINEretain_history(mo_loc_history, mo_loc)

copy old mos to new ones, allocating as necessary

Arguments:
POINTER
:: mo_loc_history(:) ...
POINTER
:: mo_loc(:) ...

SUBROUTINEset_loc_centers(localized_wfn_control, nmoloc, nspins)

create the center and spread array and the file names for the output

Arguments:
:: localized_wfn_control ...
INTEGER,
INTENT(in)
:: nmoloc(2) ...
INTEGER,
INTENT(in)
:: nspins ...

SUBROUTINEset_loc_wfn_lists(localized_wfn_control, nmoloc, nmo, nspins)

create the lists of mos that are taken into account

Arguments:
:: localized_wfn_control ...
INTEGER,
INTENT(in)
:: nmoloc(2) ...
INTEGER,
INTENT(in)
:: nmo(2) ...
INTEGER,
INTENT(in)
:: nspins ...