1!dalton_copyright_start
2!
3!
4!dalton_copyright_end
5
6module lucita_cfg
7
8! stefan: please note that if you modify this module (e.g. add new variables)
9!         do not forget to update sync_coworkers_cfg (in module sync_coworkers
10!         in file par_sync_cw.F90)
11
12  implicit none
13
14  save
15
16! parameters
17
18  integer, parameter, public :: max_number_of_gas_spaces     = 6
19  integer, parameter, public :: max_number_of_ptg_irreps     = 8
20  integer, parameter, public :: max_ci_tasks                 = 20
21  integer, parameter, public :: lucita_cfg_nr_calc_sequences =  1 ! always one in this version, therefore a "parameter"
22
23! character block
24
25  character (len = 72), public :: lucita_cfg_run_title        = 'no title specified'
26  character (len = 72), public :: lucita_cfg_ci_type          = 'none'
27  character (len = 72), public :: lucita_ci_run_id            = 'undefined   '
28  character (len = 12), public :: ci_task_list(max_ci_tasks)  = 'undefined   '
29
30
31! logical block
32
33  logical, public :: lucita_cfg_inactive_shell_set   =  .false.
34  logical, public :: lucita_cfg_minmax_occ_gas_set   =  .false.
35  logical, public :: lucita_cfg_ras1_set             =  .false.
36  logical, public :: lucita_cfg_ras2_set             =  .false.
37  logical, public :: lucita_cfg_ras3_set             =  .false.
38  logical, public :: lucita_cfg_analyze_cvec         =  .false.
39  logical, public :: lucita_cfg_timing_par           =  .false.
40  logical, public :: lucita_cfg_natural_orb_occ_nr   =  .false.
41  logical, public :: lucita_cfg_fci_dump             =  .false.
42  logical, public :: lucita_cfg_transition_densm     =  .false.
43  logical, public :: lucita_cfg_initialize_cb        =  .true.
44  logical, public :: lucita_cfg_plus_combi           =  .false.
45
46! double precision block
47
48  real(8), public :: lucita_cfg_accepted_truncation = 1.0d-10
49  real(8), public :: lucita_cfg_convergence_c       = 1.0d-05
50  real(8), public :: lucita_cfg_auxiliary_conv_c    = 1.0d-05
51  real(8), public :: lucita_cfg_core_energy         = 0.0d0
52
53! integer block
54
55  integer, public :: lucita_cfg_el_operator_level    =  2
56  integer, public :: lucita_cfg_csym                 =  1
57  integer, public :: lucita_cfg_hcsym                =  1
58  integer, public :: lucita_cfg_icstate              =  0
59  integer, public :: lucita_cfg_spin1_2el_op         = -1
60  integer, public :: lucita_cfg_spin2_2el_op         = -1
61  integer, public :: lucita_cfg_nr_roots             =  1
62  integer, public :: lucita_cfg_ptg_symmetry         =  1
63  integer, public :: lucita_cfg_nr_active_e          = -1
64  integer, public :: lucita_cfg_is_spin_multiplett   = -1
65  integer, public :: lucita_cfg_global_print_lvl     =  0
66  integer, public :: lucita_cfg_local_print_lvl      =  0
67  integer, public :: lucita_cfg_nr_gas_spaces        =  0
68  integer, public :: lucita_cfg_nr_ptg_irreps        =  0
69 !integer, public :: lucita_cfg_nr_calc_sequences    =  1 ! number of different GAS specifications
70  integer, public :: lucita_cfg_min_e_ras1           =  0
71  integer, public :: lucita_cfg_max_e_ras1           =  0
72  integer, public :: lucita_cfg_min_e_ras3           =  0
73  integer, public :: lucita_cfg_max_e_ras3           =  0
74  integer, public :: lucita_cfg_density_calc_lvl     =  1
75  integer, public :: lucita_cfg_spindensity_calc_lvl =  0
76  integer, public :: lucita_cfg_restart_ci           =  0
77  integer, public :: lucita_cfg_max_dav_subspace_dim =  0
78  integer, public :: lucita_cfg_max_nr_dav_ci_iter   =  30
79  integer, public :: lucita_cfg_max_batch_size       =  64000000
80  integer, public :: lucita_cfg_init_wave_f_type     =  0
81  integer, public :: lucipar_cfg_ttss_dist_strategy  =  2
82  integer, public :: lucipar_cfg_mem_reduction_multp =  3
83
84! input orbital spaces
85  integer, public :: nish_lucita(max_number_of_ptg_irreps)
86  integer, public :: naos_lucita(max_number_of_ptg_irreps)
87  integer, public :: nmos_lucita(max_number_of_ptg_irreps)
88  integer, public :: nas1_lucita(max_number_of_ptg_irreps)
89  integer, public :: nas2_lucita(max_number_of_ptg_irreps)
90  integer, public :: nas3_lucita(max_number_of_ptg_irreps)
91  integer, public :: ngsh_lucita(max_number_of_gas_spaces,max_number_of_ptg_irreps)
92  integer, public :: ngso_lucita(max_number_of_gas_spaces,2)
93
94! calculated orbital spaces based on input orbital spaces
95  integer, public :: nfro_lucita(max_number_of_ptg_irreps) ! might become input in future
96  integer, public :: nash_lucita(max_number_of_ptg_irreps)
97  integer, public :: nocc_lucita(max_number_of_ptg_irreps)
98
99end module
100