~ubuntu-branches/ubuntu/trusty/nwchem/trusty-proposed

« back to all changes in this revision

Viewing changes to src/nwdft/rt_tddft/input/rt_tddft_input_put_defaults.F

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine rt_tddft_input_put_defaults (rtdb)
 
2
      implicit none
 
3
 
 
4
#include "rt_tddft.fh"
 
5
#include "errquit.fh"
 
6
#include "inp.fh"
 
7
#include "rtdb.fh"
 
8
#include "mafdecls.fh"
 
9
#include "stdio.fh"
 
10
 
 
11
      
 
12
C     == Inputs ==
 
13
      integer, intent(in) :: rtdb
 
14
 
 
15
 
 
16
C     == Parameters ==
 
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
 
24
 
 
25
      integer, parameter          :: prop_method = 3 ! 2nd order magnus w/ interpolation
 
26
      integer, parameter          :: exp_method = 1  ! pseries
 
27
 
 
28
C      integer, parameter          :: nsnapshots = 0
 
29
      integer, parameter          :: nrestarts = 100
 
30
      integer, parameter          :: nchecks = 10
 
31
 
 
32
      integer, parameter          :: nprints =  999999999 ! dummy # when using "*" as # prints
 
33
      integer, parameter          :: checklvl = 1   ! default to base checks only
 
34
 
 
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
 
42
 
 
43
 
 
44
      character(len=*), parameter :: tag = "<rt_tddft>: "
 
45
 
 
46
C
 
47
C     Default output tag
 
48
C
 
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)
 
52
 
 
53
 
 
54
 
 
55
C
 
56
C     Print options by default: dipole, field, energy, convergence, s2
 
57
C     
 
58
      if (.not.rtdb_put(rtdb,'rt_tddft:print_dipole',
 
59
     $     mt_log,1,.true.))
 
60
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
61
 
 
62
      if (.not.rtdb_put(rtdb,'rt_tddft:print_quad',
 
63
     $     mt_log,1,.false.))
 
64
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
65
 
 
66
      if (.not.rtdb_put(rtdb,'rt_tddft:print_field',
 
67
     $     mt_log,1,.true.))
 
68
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
69
 
 
70
      if (.not.rtdb_put(rtdb,'rt_tddft:print_moocc',
 
71
     $     mt_log,1,.false.))
 
72
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
73
 
 
74
      if (.not.rtdb_put(rtdb,'rt_tddft:print_energy',
 
75
     $     mt_log,1,.true.))
 
76
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
77
 
 
78
      if (.not.rtdb_put(rtdb,'rt_tddft:print_cputime',
 
79
     $     mt_log,1,.false.))
 
80
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
81
 
 
82
      if (.not.rtdb_put(rtdb,'rt_tddft:print_charge',
 
83
     $     mt_log,1,.false.))
 
84
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
85
 
 
86
      if (.not.rtdb_put(rtdb,'rt_tddft:print_convergence',
 
87
     $     mt_log,1,.true.))
 
88
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
89
 
 
90
      if (.not.rtdb_put(rtdb,'rt_tddft:print_s2',
 
91
     $     mt_log,1,.true.))
 
92
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
93
 
 
94
 
 
95
 
 
96
 
 
97
C
 
98
C     Default tolerances
 
99
C
 
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)
 
103
 
 
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)
 
107
 
 
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)
 
111
 
 
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)
 
115
 
 
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)
 
119
 
 
120
 
 
121
C
 
122
C     Default propagator: magnus, interpol2, pseries 
 
123
C
 
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)
 
127
      
 
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)
 
131
 
 
132
 
 
133
C
 
134
C     Number of prints, snapshots, etc
 
135
C
 
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)
 
139
 
 
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)
 
143
 
 
144
      if (.not.rtdb_put(rtdb,'rt_tddft:nchecks',mt_int,1,nchecks))
 
145
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
146
 
 
147
      if (.not.rtdb_put(rtdb,'rt_tddft:nprints',mt_int,1,nprints))
 
148
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
149
 
 
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)
 
153
 
 
154
 
 
155
C
 
156
C     Vizualization
 
157
C
 
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)
 
160
 
 
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)
 
163
 
 
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)
 
166
 
 
167
 
 
168
C
 
169
C     Misc flags
 
170
C      
 
171
      if (.not.rtdb_put(rtdb,'rt_tddft:prof',mt_log,1,prof))
 
172
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
173
 
 
174
      if (.not.rtdb_put(rtdb,'rt_tddft:noprop',mt_log,1,noprop))
 
175
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
176
      
 
177
      if (.not.rtdb_put(rtdb,'rt_tddft:static',mt_log,1,static))
 
178
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
179
      
 
180
      if (.not.rtdb_put(rtdb,'rt_tddft:nodisk', mt_log,1,nodisk))
 
181
     $     call errquit(pname//'Write failed to rtdb',0,RTDB_ERR)
 
182
 
 
183
 
 
184
      end subroutine
 
185
 
 
186