~nickpapior/siesta/tddft-work

« back to all changes in this revision

Viewing changes to Src/siesta_dicts.F90

  • Committer: Rafi Ullah
  • Date: 2017-08-30 14:09:10 UTC
  • mfrom: (611.1.19 trunk)
  • Revision ID: rraffiu@gmail.com-20170830140910-bhu0osuh4d59wn8e
Merged with trunk-630

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
  type(dict) :: variables
23
23
 
24
24
  private :: dict_variable_add_v_0d
 
25
  private :: dict_variable_add_a_1d
25
26
  private :: dict_variable_add_b_0d
26
27
  private :: dict_variable_add_i_0d
27
28
  private :: dict_variable_add_d_0d
29
30
  private :: dict_variable_add_d_2d
30
31
  interface dict_variable_add
31
32
     module procedure dict_variable_add_v_0d
 
33
     module procedure dict_variable_add_a_1d
32
34
     module procedure dict_variable_add_b_0d
33
35
     module procedure dict_variable_add_i_0d
34
36
     module procedure dict_variable_add_d_0d
53
55
  subroutine dict_populate_options()
54
56
    use files, only: slabel
55
57
    use siesta_options
 
58
    use m_mixing_scf, only: scf_mixs
56
59
    use m_steps, only: inicoor, fincoor
57
60
 
58
61
    integer :: slabel_len
91
94
         ('SCF.MixHamiltonian'.kvp.mixH)
92
95
    options = options // &
93
96
         ('SCF.MixCharge'.kvp.mix_charge)
 
97
 
 
98
    ! Old-style options, not really used anymore
94
99
    options = options // &
95
100
         ('SCF.NumberPulay'.kvp.maxsav)
96
101
    options = options // &
101
106
         ('SCF.NumberKick'.kvp.nkick)
102
107
    options = options // &
103
108
         ('SCF.KickMixingWeight'.kvp.wmixkick)
 
109
 
 
110
    ! New mixing options
 
111
    ! The first mixer is the mixing 1.
 
112
    options = options // &
 
113
         ('SCF.Mixer.Weight'.kvp.scf_mixs(1)%w)
 
114
    options = options // &
 
115
         ('SCF.Mixer.Restart'.kvp.scf_mixs(1)%restart)
 
116
    options = options // &
 
117
         ('SCF.Mixer.Iterations'.kvp.scf_mixs(1)%n_itt)
 
118
 
104
119
    options = options // &
105
120
         ('SCF.MonitorForces'.kvp.monitor_forces_in_scf)
106
121
 
244
259
    variables = variables // &
245
260
         ('geom.z'.kvp.iza)
246
261
    variables = variables // &
247
 
         ('geom.last_orbital'.kvp.lasto)
 
262
         ('geom.last_orbital'.kvp.lasto(1:))
248
263
    variables = variables // &
249
264
         ('geom.mass'.kvp.amass)
250
265
    variables = variables // &
320
335
    if ( name.in.variables ) call delete(variables,name,dealloc=.true.)
321
336
    variables = variables // (name.kv.trim(val))
322
337
  end subroutine dict_variable_add_v_0d
 
338
  subroutine dict_variable_add_a_1d(name,val)
 
339
    character(len=*), intent(in) :: name
 
340
    character(len=1), intent(inout), target :: val(:)
 
341
    if ( name.in.variables ) call delete(variables,name,dealloc=.false.)
 
342
    variables = variables // (name.kvp.val)
 
343
  end subroutine dict_variable_add_a_1d
323
344
  subroutine dict_variable_add_b_0d(name,val)
324
345
    character(len=*), intent(in) :: name
325
346
    logical, intent(inout), target :: val