init.F90 3.53 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

subroutine init(g_info, prog_info, o_info, v_info, &
     det_info, ener_info, int_info, bdav_info, sym_info)
!!$ Initialisation des variables 
!!$ -------- Donness globales ---------------------------------
  use info
!!$ -------- Donnes locales -----------------------------------
  implicit none

  type(g_infotype), intent(inout)    :: g_info
  type(prog_infotype), intent(out)   :: prog_info
  type(o_infotype), intent(inout)    :: o_info
  !type(ord_infotype), intent(inout)  :: ord_info
  type(v_infotype), intent(inout)    :: v_info
  type(det_infotype), intent(inout)  :: det_info
  type(ener_infotype), intent(inout) :: ener_info
  type(int_infotype), intent(inout)  :: int_info
  type(david_infotype), intent(inout):: bdav_info
  type(sym_infotype), intent(inout)  :: sym_info
!!$============================================================
!!$ -------- Code ---------------------------------------------
!!$-----
!!$----- Initialisations 
!!$-----
  ! g_info
  g_info%nelact = 0
  g_info%nirrep = 1
  g_info%na = 0
  g_info%nb = 0

  !prog_info
  call init_prog(prog_info)

  ! o_info
  o_info%norb_gel(:)  = 0
  o_info%norb_occ(:)  = 0
  o_info%norb_ligo(:) = 0 
  o_info%norb_act(:)  = 0
  o_info%norb_ligv(:) = 0
  o_info%norb_virt(:) = 0
  o_info%norb_del(:)  = 0
  o_info%norb(:,:) = 0
  o_info%ngel = 0 
  o_info%nocc = 0 
  o_info%nligo= 0 
  o_info%nact = 0 
  o_info%nligv= 0 
  o_info%nvirt= 0 
  o_info%ndel = 0 
  o_info%ntot = 0

  !ord_info

  ! v_info
  v_info%stot = 1
  v_info%sz   = 0
  v_info%vec_irrep = 1
  v_info%nvec = 1
  v_info%ncfspref0 = 0 !> @todo check if 0 or 1

  ! det_info
  det_info%nref0 = 1  
  det_info%nref1 = 0
  det_info%ndetM = 0
  det_info%ndetcaslm = 0
  det_info%ndet  = 1
  det_info%ndet1  = 0
  det_info%nmonoref0 = 0 
  det_info%ndiref0   = 0

  !sym_info
  sym_info%iChTb(:,:) = 0
  sym_info%iIrTb(:,:) = 0

  ! int_info
  int_info%n_1int = 0
  int_info%n_oooo = 0
  int_info%n_aaaa = 0
  int_info%n_aaao = 0
  !int_info%n_aoaa = 0
  int_info%n_aaoo = 0
  int_info%n_aoao = 0
  int_info%n_aooo = 0
  int_info%n_vooo = 0
  int_info%n_vaoo = 0
  int_info%n_voao = 0
  int_info%n_vaao = 0
  int_info%n_voaa = 0
  int_info%n_vaaa = 0
  int_info%n_vvoo = 0
  int_info%n_vovo = 0
  int_info%n_vvao = 0
  int_info%n_vavo = 0
  !int_info%n_vova = 0
  int_info%n_vvaa = 0
  int_info%n_vava = 0
  int_info%n_vvvo = 0
  int_info%n_vvva = 0
  int_info%n_vvvv = 0
  int_info%n_gint = 0
  int_info%n_2int = 0
  int_info%nintkind = 0
  int_info%CASS_nintkind = 21
  allocate(int_info%CASS_intkind(int_info%CASS_nintkind))
  int_info%CASS_intkind(:) &
       = (/ 'fock', 'aaaa', 'aaao', 'vaaa', 'aaoo', 'vaao', 'vvaa','vaoo', &
       'vvao','vvoo', 'vava','vvvo','vvva','vvvv','oooo','vovo','aooo','vavo',&
       'vooo','aoao','voao'/)



  ! ener_info
  ener_info%potnuc = 0.d0
  ener_info%Ecoeur = 0.d0

  !  bdav_info
  bdav_info%Sizeheff = 10
  bdav_info%NitDavid = 100
  bdav_info%tol_orth = 1.d-15
  bdav_info%tol_norm = 1.d-12

End Subroutine init


subroutine init_prog(prog_info)

  use info

  implicit none

  type(prog_infotype), intent(inout) :: prog_info 

  ! prog_info
  prog_info%Yprefix =.false.
  prog_info%iprint = 0
  prog_info%print_det = .false.
  prog_info%prt_cipci = .false.
  prog_info%methodAct = 'SAS'
  prog_info%methodExc = 'S'
  prog_info%method = 'SAS+S'
  prog_info%prefix = '                                        '
  prog_info%restart = .false.
  prog_info%nb_cpu = 1
  prog_info%id_cpu = 0
  prog_info%nb_thread = 1
  prog_info%lexplicit = .false.
  prog_info%lreadHmat = .false.
  prog_info%idiag = 1

end subroutine init_prog