23#include "./base/base_uses.f90" 
   32      LOGICAL                                :: do_iao = .false.
 
   34      REAL(kind=
dp)                          :: eps_svd = 0.0_dp
 
   35      REAL(kind=
dp)                          :: eps_occ = 0.0_dp
 
   37      LOGICAL                                :: do_charges = .false.
 
   39      LOGICAL                                :: do_oce = .false.
 
   40      INTEGER                                :: lmax_oce = 0
 
   41      INTEGER                                :: nbas_oce = 0
 
   42      LOGICAL                                :: append_oce = .false.
 
   44      LOGICAL                                :: do_bondorbitals = .false.
 
   46      LOGICAL                                :: do_center = .false.
 
   47      LOGICAL                                :: pos_periodic = .false.
 
   48      INTEGER                                :: loc_operator = 0
 
   49      INTEGER                                :: eloc_function = 0
 
   50      REAL(kind=
dp)                          :: eloc_weight = 0.0_dp
 
   52      LOGICAL                                :: molden_iao = .false.
 
   53      LOGICAL                                :: molden_ibo = .false.
 
   55      LOGICAL                                :: cubes_iao = .false.
 
   56      LOGICAL                                :: cubes_ibo = .false.
 
   59                                                iao_molden_section => null(), &
 
   60                                                ibo_cubes_section => null(), &
 
   61                                                ibo_molden_section => null(), &
 
   62                                                ibo_cc_section => null()
 
 
 
   77      iao_env%do_iao = .false.
 
   78      iao_env%eps_svd = 0.0_dp
 
   79      iao_env%eps_occ = 0.0_dp
 
   81      iao_env%do_charges = .false.
 
   83      iao_env%do_oce = .false.
 
   86      iao_env%append_oce = .false.
 
   88      iao_env%do_bondorbitals = .false.
 
   90      iao_env%do_center = .false.
 
   91      iao_env%pos_periodic = .false.
 
   94      iao_env%eloc_weight = 0.0_dp
 
   96      iao_env%molden_iao = .false.
 
   97      iao_env%molden_ibo = .false.
 
   98      iao_env%cubes_iao = .false.
 
   99      iao_env%cubes_ibo = .false.
 
  101      NULLIFY (iao_env%iao_cubes_section, iao_env%iao_molden_section)
 
  102      NULLIFY (iao_env%ibo_cubes_section, iao_env%ibo_molden_section)
 
  103      NULLIFY (iao_env%ibo_cc_section)
 
 
  120      LOGICAL                                            :: explicit, iao_explicit
 
  126      IF (iao_explicit) 
THEN 
  127         iao_env%do_iao = .true.
 
  133         CALL section_vals_get(iao_env%iao_molden_section, explicit=iao_env%molden_iao)
 
  135         CALL section_vals_get(iao_env%iao_cubes_section, explicit=iao_env%cubes_iao)
 
  138         IF (iao_env%do_oce) 
THEN 
  146         IF (iao_env%do_bondorbitals) 
THEN 
  149            CALL section_vals_val_get(subsection, 
"ENERGY_LOCALIZATION_FUNCTION", i_val=iao_env%eloc_function)
 
  152            CALL section_vals_get(iao_env%ibo_molden_section, explicit=iao_env%molden_ibo)
 
  154            CALL section_vals_get(iao_env%ibo_cubes_section, explicit=iao_env%cubes_ibo)
 
  157            IF (iao_env%do_center) 
THEN 
  159                                         l_val=iao_env%pos_periodic, explicit=explicit)
 
  160               IF (.NOT. explicit) 
THEN 
  162                  iao_env%pos_periodic = .true.
 
  163                  IF (
PRESENT(cell)) 
THEN 
  164                     IF (all(cell%perd == 0)) iao_env%pos_periodic = .false.
 
 
Handles all functions related to the CELL.
 
Calculate ntrinsic atomic orbitals and analyze wavefunctions.
 
subroutine, public iao_read_input(iao_env, iao_section, cell)
...
 
subroutine, public iao_set_default(iao_env)
...
 
Defines the basic variable types.
 
integer, parameter, public dp
 
Type defining parameters related to the simulation cell.