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.