1
subroutine rt_tddft_input_put_defaults (rtdb)
13
integer, intent(in) :: rtdb
17
character(len=*), parameter ::
18
$ pname ="rt_tddft_input_put_defaults: "
19
double precision, parameter :: tol_zero = 1d-8
20
double precision, parameter :: tol_interpol = 1d-7 ! 10% default schwartz screening
21
double precision, parameter :: tol_series = 1d-10
22
integer, parameter :: terms_series = 3
23
integer, parameter :: terms_interpol = 1
25
integer, parameter :: prop_method = 3 ! 2nd order magnus w/ interpolation
26
integer, parameter :: exp_method = 1 ! pseries
28
C integer, parameter :: nsnapshots = 0
29
integer, parameter :: nrestarts = 100
30
integer, parameter :: nchecks = 10
32
integer, parameter :: nprints = 999999999 ! dummy # when using "*" as # prints
33
integer, parameter :: checklvl = 1 ! default to base checks only
35
logical, parameter :: prof = .false.
36
logical, parameter :: noprop = .false.
37
logical, parameter :: static = .false.
38
logical, parameter :: dplot_do = .false. ! do postproc
39
logical, parameter :: subgs = .false. !sub ground state dens w/ dplot (works?)
40
logical, parameter :: viz = .false.
41
logical, parameter :: nodisk = .false. !XXX DISABLED NOW--ie, just use DFT settings
44
character(len=*), parameter :: tag = "<rt_tddft>: "
49
if (.not. rtdb_cput (rtdb, "rt_tddft:tag",
50
$ 1, tag)) call errquit (pname//
51
$ "failed to put 'tag' target into rtdb",0,0)
56
C Print options by default: dipole, field, energy, convergence, s2
58
if (.not.rtdb_put(rtdb,'rt_tddft:print_dipole',
60
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
62
if (.not.rtdb_put(rtdb,'rt_tddft:print_quad',
64
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
66
if (.not.rtdb_put(rtdb,'rt_tddft:print_field',
68
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
70
if (.not.rtdb_put(rtdb,'rt_tddft:print_moocc',
72
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
74
if (.not.rtdb_put(rtdb,'rt_tddft:print_energy',
76
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
78
if (.not.rtdb_put(rtdb,'rt_tddft:print_cputime',
80
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
82
if (.not.rtdb_put(rtdb,'rt_tddft:print_charge',
84
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
86
if (.not.rtdb_put(rtdb,'rt_tddft:print_convergence',
88
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
90
if (.not.rtdb_put(rtdb,'rt_tddft:print_s2',
92
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
100
if (.not.rtdb_put(rtdb,'rt_tddft:tol_zero',
101
$ mt_dbl,1,tol_zero))
102
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
104
if (.not.rtdb_put(rtdb,'rt_tddft:tol_series',
105
$ mt_dbl,1,tol_series))
106
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
108
if (.not.rtdb_put(rtdb,'rt_tddft:tol_interpol',
109
$ mt_dbl,1,tol_interpol))
110
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
112
if (.not.rtdb_put(rtdb,'rt_tddft:terms_series',
113
$ mt_int,1,terms_series))
114
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
116
if (.not.rtdb_put(rtdb,'rt_tddft:terms_interpol',
117
$ mt_int,1,terms_interpol))
118
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
122
C Default propagator: magnus, interpol2, pseries
124
if (.not.rtdb_put(rtdb,'rt_tddft:prop_method',
125
$ mt_int,1,prop_method))
126
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
128
if (.not.rtdb_put(rtdb,'rt_tddft:exp_method',
129
$ mt_int,1,exp_method))
130
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
134
C Number of prints, snapshots, etc
136
c$$$ if (.not.rtdb_put(rtdb,'rt_tddft:nsnapshots',
137
c$$$ $ mt_int,1,nsnapshots))
138
c$$$ $ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
140
if (.not.rtdb_put(rtdb,'rt_tddft:nrestarts',
141
$ mt_int,1,nrestarts))
142
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
144
if (.not.rtdb_put(rtdb,'rt_tddft:nchecks',mt_int,1,nchecks))
145
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
147
if (.not.rtdb_put(rtdb,'rt_tddft:nprints',mt_int,1,nprints))
148
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
150
if (.not.rtdb_put(rtdb,'rt_tddft:checklvl',
151
$ mt_int,1,checklvl))
152
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
158
if (.not.rtdb_put(rtdb,'rt_tddft:viz_subgs', mt_log,1,subgs))
159
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
161
if (.not.rtdb_put(rtdb,'rt_tddft:viz_dplot', mt_log,1,dplot_do))
162
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
164
if (.not.rtdb_put(rtdb,'rt_tddft:viz_active', mt_log,1,viz))
165
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
171
if (.not.rtdb_put(rtdb,'rt_tddft:prof',mt_log,1,prof))
172
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
174
if (.not.rtdb_put(rtdb,'rt_tddft:noprop',mt_log,1,noprop))
175
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
177
if (.not.rtdb_put(rtdb,'rt_tddft:static',mt_log,1,static))
178
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
180
if (.not.rtdb_put(rtdb,'rt_tddft:nodisk', mt_log,1,nodisk))
181
$ call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)