Merge lp:~nickpapior/siesta/4.1-ncdf-md into lp:siesta/4.1

Proposed by Nick Papior
Status: Merged
Merged at revision: 939
Proposed branch: lp:~nickpapior/siesta/4.1-ncdf-md
Merge into: lp:siesta/4.1
Diff against target: 1187 lines (+425/-261) (has conflicts)
20 files modified
Docs/siesta.tex (+13/-5)
Src/Makefile (+8/-8)
Src/final_H_f_stress.F (+18/-5)
Src/m_ncdf_siesta.F90 (+205/-114)
Src/read_options.F90 (+16/-2)
Src/save_density_matrix.F (+13/-9)
Src/siesta_forces.F (+7/-27)
Src/state_init.F (+53/-3)
Util/COOP/Makefile (+8/-8)
Util/Denchar/Src/Makefile (+8/-8)
Util/Gen-basis/Makefile (+8/-8)
Util/Grimme/Makefile (+8/-8)
Util/Helpers/Makefile (+8/-8)
Util/STM/ol-stm/Src/Makefile (+8/-8)
Util/SpPivot/Makefile (+8/-8)
Util/TS/TBtrans/Makefile (+8/-8)
Util/TS/ts2ts/Makefile (+8/-8)
Util/TS/tshs2tshs/Makefile (+8/-8)
Util/VCA/Makefile (+8/-8)
version.info (+4/-0)
Text conflict in version.info
To merge this branch: bzr merge lp:~nickpapior/siesta/4.1-ncdf-md
Reviewer Review Type Date Requested Status
Alberto Garcia Approve
Review via email: mp+348933@code.launchpad.net

Commit message

Fixed NCDF write-out for MD and FC calculations

Previously the NCDF file-write-out would crash when performing
MD/FC calculations because the sparse arrays does not really make sense
to store.

Now the file content is based on the type of run, single/MD/FC.
A relaxation is equivalent to an MD (currently).

One non-CDF related change is the change of MD.NumCGSteps to
MD.Steps keyword. The NumCGSteps is deprecated since many more
options have entered and CG was not necessarily the correct instance.
Same applies to MD.MaxCGDispl -> MD.MaxDispl.

Secondly, the MD.Steps keyword is now also the default for
MD.FinalTimeStep which means that a single keyword determines the number
of steps runned.

The old flags are still used as the default values.

Description of the change

Basically this is one big fix for the NCDF routines in Siesta.

However, there is one change that "affects" siesta.

MD.NumCGSteps is renamed to MD.Steps (please suggest if another keyword is better).
The procedure is this:

i = fdf_get('MD.NumCGSteps', 0)
i = fdf_get('MD.Steps', i)

I think the NumCGsteps is far too confusing in 4.1 (even in 4.0) and it should have been updated previously.
The same changes have been applied to MD.MaxCGDispl (now MD.MaxDispl).

Secondly, since MD.Steps is more generic it is now also the default in MD.FinalTimeStep

j = fdf_get('MD.FinalTimeStep', i) ! i from above.

Hence one single keyword may be used generically throughout.

To post a comment you must log in.
Revision history for this message
Alberto Garcia (albertog) wrote :

OK to the introduction of MD.Steps et al.

This is a minor point:

If someone uses MD.TypeOfRun <some MD option> but forgets to set MD.FinalTimeStep, a fossil MD.NumCGSteps might set it silently. I would put in code to complain if MD.Steps is not set either.

Also:

* In the ncdf module, the KB projectors might (in the trunk) now have an extra "j" index (when offsite SO is used). I put them in the .ion file, but I forgot to put them in the vanilla cdf files. Please take this into account when you port this patch into the trunk.

* Correct the indentation of

! 5 = -z

in final_H_f_stress.

review: Approve
lp:~nickpapior/siesta/4.1-ncdf-md updated
939. By Nick Papior

Fixed FinalTimeStep option reads and indentation

Thanks Alberto

940. By Nick Papior

Added pjnl_j to the ncdf basis

Revision history for this message
Nick Papior (nickpapior) wrote :

Ok, I will insert an fdf_defined before FinalTimestep.

Add 0's to the output of the KB projectors.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Docs/siesta.tex'
2--- Docs/siesta.tex 2018-06-26 08:27:41 +0000
3+++ Docs/siesta.tex 2018-07-09 07:59:46 +0000
4@@ -5796,7 +5796,7 @@
5 if the lattice changes are moderate).
6
7 By default this will be \fdffalse\ when performing single-point calculations
8- (\fdf{MD.TypeOfRun:CG} with \fdf{MD.NumCGsteps:1} or below). Otherwise
9+ (\fdf{MD.TypeOfRun:CG} with \fdf{MD.Steps:1} or below). Otherwise
10 this will default to \fdftrue.
11
12 \note one may try to set this to \fdffalse\ for better performance,
13@@ -9364,15 +9364,20 @@
14
15 \end{fdfentry}
16
17-\begin{fdfentry}{MD.NumCGsteps}[integer]<0>
18+\begin{fdfentry}{MD.Steps}[integer]<0>
19+ \fdfdepend{MD.NumCGsteps}
20
21- Maximum number of conjugate gradient (or Broyden) minimization moves
22+ Maximum number of steps in a minimization routine
23 (the minimization will stop if tolerance is reached before; see
24 \fdf{MD.MaxForceTol} below).
25
26+ \note The old flag \fdf*{MD.NumCGsteps} will remain for historical
27+ reasons.
28+
29 \end{fdfentry}
30
31-\begin{fdfentry}{MD.MaxCGDispl}[length]<$0.2\,\mathrm{Bohr}$>
32+\begin{fdfentry}{MD.MaxDispl}[length]<$0.2\,\mathrm{Bohr}$>
33+ \fdfdepend{MD.MaxCGDispl}
34
35 Maximum atomic displacements in an optimization move.
36
37@@ -9383,6 +9388,9 @@
38
39 Note that there are Zmatrix-specific options that override this option.
40
41+ \note The old flag \fdf*{MD.MaxCGDispl} will remain for historical
42+ reasons.
43+
44 \end{fdfentry}
45
46 \begin{fdfentry}{MD.PreconditionVariableCell}[length]<$5\,\mathrm{Ang}$>
47@@ -9659,7 +9667,7 @@
48
49 \end{fdfentry}
50
51-\begin{fdfentry}{MD.FinalTimeStep}[integer]<$1$>
52+\begin{fdfentry}{MD.FinalTimeStep}[integer]<\fdfvalue{MD.Steps}>
53
54 Final time step of the MD simulation.
55
56
57=== modified file 'Src/Makefile'
58--- Src/Makefile 2018-06-28 13:53:17 +0000
59+++ Src/Makefile 2018-07-09 07:59:46 +0000
60@@ -1293,14 +1293,14 @@
61 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
62 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
63 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o m_energies.o m_eo.o m_mixing.o
64-state_init.o: m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o m_pivot_methods.o
65-state_init.o: m_rmaxh.o m_sparse.o m_sparsity_handling.o m_spin.o m_steps.o
66-state_init.o: m_supercell.o m_test_io.o m_ts_charge.o m_ts_electype.o
67-state_init.o: m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o m_ts_options.o
68-state_init.o: m_ts_sparse.o m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
69-state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
70-state_init.o: siesta_options.o sparse_matrices.o sys.o units.o write_subs.o
71-state_init.o: zmatrix.o
72+state_init.o: m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o m_new_dm.o m_os.o
73+state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
74+state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
75+state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
76+state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
77+state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
78+state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
79+state_init.o: sys.o units.o write_subs.o zmatrix.o
80 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
81 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
82 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
83
84=== modified file 'Src/final_H_f_stress.F'
85--- Src/final_H_f_stress.F 2018-06-20 10:34:33 +0000
86+++ Src/final_H_f_stress.F 2018-07-09 07:59:46 +0000
87@@ -17,7 +17,7 @@
88 #ifdef NCDF_4
89 use siesta_options, only: write_cdf
90 #endif
91- use siesta_options, only: g2cut, savehs, temp
92+ use siesta_options, only: g2cut, savehs, temp, nmove
93 use siesta_options, only: recompute_H_after_scf
94 use sparse_matrices, only: numh, listh, listhptr
95 use sparse_matrices, only: H, S, Dscf, Escf, maxnh, xijo
96@@ -297,10 +297,23 @@
97 #ifdef CDF
98 #ifdef NCDF_4
99 if ( write_cdf ) then
100- dic_save = ('fa'.kv.1)//('stress'.kv.1)
101- if ( savehs .or. TS_HS_save ) dic_save = dic_save //('H'.kv.1)
102- call cdf_save_state(trim(slabel)//'.nc',dic_save)
103- call delete(dic_save)
104+ if ( idyn == 6 ) then
105+ call cdf_save_fc(trim(slabel)//'.nc', istep)
106+ if ( istep == 0 ) then
107+ dic_save = ('fa'.kv.1)//('stress'.kv.1)
108+ if ( savehs .or. TS_HS_save )
109+ & dic_save = dic_save//('H'.kv.1)
110+ call cdf_save_state(trim(slabel)//'.nc',dic_save)
111+ call delete(dic_save)
112+ end if
113+ else if ( idyn /=0 .or. nmove /= 0 ) then
114+ call cdf_save_md(trim(slabel)//'.nc')
115+ else
116+ dic_save = ('fa'.kv.1)//('stress'.kv.1)
117+ if ( savehs .or. TS_HS_save ) dic_save = dic_save //('H'.kv.1)
118+ call cdf_save_state(trim(slabel)//'.nc',dic_save)
119+ call delete(dic_save)
120+ end if
121 end if
122 #endif
123 #endif
124
125=== modified file 'Src/m_ncdf_siesta.F90'
126--- Src/m_ncdf_siesta.F90 2018-06-12 22:59:08 +0000
127+++ Src/m_ncdf_siesta.F90 2018-07-09 07:59:46 +0000
128@@ -29,6 +29,7 @@
129 public :: cdf_save_settings
130 public :: cdf_save_basis
131 public :: cdf_save_md
132+ public :: cdf_save_fc
133 public :: cdf_save_state
134 public :: cdf_save_grid
135
136@@ -38,7 +39,7 @@
137
138 #ifdef NCDF_4
139
140- subroutine cdf_init_file(fname,is_md)
141+ subroutine cdf_init_file(fname, is_md, is_fc)
142 use fdf, only : fdf_get, leqi
143 use class_Sparsity
144 use files, only : slabel
145@@ -57,13 +58,15 @@
146 use siesta_options, only: savebader
147 use siesta_options, only: save_initial_charge_density
148 use siesta_options, only: fixspin, total_spin
149+ use siesta_options, only: ia1, ia2, dx ! FC information
150 use m_timestamp, only: datestring
151 use m_ts_electype, elec_name => name
152 use m_ts_options, only : Volt, N_Elec, Elecs
153 use m_ts_options, only : TS_HS_Save
154
155 character(len=*), intent(in) :: fname
156- logical, intent(in) :: is_md
157+ logical, intent(in), optional :: is_md
158+ logical, intent(in), optional :: is_fc
159
160 ! Local variables
161 type(hNCDF) :: ncdf, grp, grp2
162@@ -72,10 +75,16 @@
163 integer :: n_nzs, tmp, i, chks(3), iEl
164 integer, allocatable :: ibuf(:)
165 logical :: exists
166+ logical :: lis_md, lis_fc
167 #ifdef MPI
168 integer :: MPIerror
169 #endif
170
171+ lis_md = .false.
172+ if ( present(is_md) ) lis_md = is_md
173+ lis_fc = .false.
174+ if ( present(is_fc) ) lis_fc = is_fc
175+
176 ! We always re-write the file...
177 call ncdf_create(ncdf,fname, &
178 mode=ior(NF90_WRITE,NF90_NETCDF4), overwrite=.true.)
179@@ -96,112 +105,120 @@
180 d = d// ('DIMone'.kv. 1)
181 call ncdf_crt(ncdf,d)
182 call delete(d)
183-
184- ! Create all necessary containers...
185- dic = ('info'.kv.'Number of supercells in each unit-cell direction')
186- call ncdf_def_var(ncdf,'nsc',NF90_INT,(/'xyz'/), &
187- compress_lvl=0, atts=dic)
188
189 dic = dic//('info'.kv.'Last orbital of equivalent atom')
190 call ncdf_def_var(ncdf,'lasto',NF90_INT,(/'na_u'/), &
191- compress_lvl=0, atts=dic)
192+ compress_lvl=0, atts=dic)
193+ call ncdf_put_var(ncdf,'lasto',lasto(1:na_u))
194
195 dic = dic//('info'.kv.'Total charge')
196 call ncdf_def_var(ncdf,'Qtot',NF90_DOUBLE,(/'one'/), &
197 compress_lvl=0, atts=dic)
198+ call ncdf_put_var(ncdf,'Qtot',Qtot)
199
200- dic = dic//('info'.kv.'Fermi level')//('unit'.kv.'Ry')
201 if ( fixspin ) then
202- call ncdf_def_var(ncdf,'Ef',NF90_DOUBLE,(/'spin'/), &
203- compress_lvl=0, atts=dic)
204-
205- call delete(dic)
206 dic = dic//('info'.kv.'Total spin')
207 call ncdf_def_var(ncdf,'Qspin',NF90_DOUBLE,(/'one'/), &
208 compress_lvl=0, atts=dic)
209- else
210- call ncdf_def_var(ncdf,'Ef',NF90_DOUBLE,(/'one'/), &
211- compress_lvl=0, atts=dic)
212- end if
213-
214- dic = dic//('info'.kv.'Atomic coordinates')//('unit'.kv.'Bohr')
215- call ncdf_def_var(ncdf,'xa',NF90_DOUBLE,(/'xyz ','na_u'/), &
216- compress_lvl=0, atts=dic)
217-
218- dic = dic//('info'.kv.'Unit cell')
219- call ncdf_def_var(ncdf,'cell',NF90_DOUBLE,(/'xyz','xyz'/), &
220- compress_lvl=0, atts=dic)
221-
222- dic = dic//('info'.kv.'Atomic forces')//('unit'.kv.'Ry/Bohr')
223- call ncdf_def_var(ncdf,'fa',NF90_DOUBLE,(/'xyz ','na_u'/), &
224- compress_lvl=0, atts=dic)
225-
226- dic = dic//('info'.kv.'Cell stress')//('unit'.kv.'Ry/Bohr**3')
227- call ncdf_def_var(ncdf,'stress',NF90_DOUBLE,(/'xyz','xyz'/), &
228- compress_lvl=0, atts=dic)
229+ call ncdf_put_var(ncdf,'Qspin',total_spin)
230+ end if
231+
232+ if ( .not. lis_MD ) then
233+
234+ ! Create all necessary containers...
235+ dic = dic//('info'.kv.'Number of supercells in each unit-cell direction')
236+ call ncdf_def_var(ncdf,'nsc',NF90_INT,(/'xyz'/), &
237+ compress_lvl=0, atts=dic)
238+
239+ dic = dic//('info'.kv.'Fermi level')//('unit'.kv.'Ry')
240+ if ( fixspin ) then
241+ call ncdf_def_var(ncdf,'Ef',NF90_DOUBLE,(/'spin'/), &
242+ compress_lvl=0, atts=dic)
243+ else
244+ call ncdf_def_var(ncdf,'Ef',NF90_DOUBLE,(/'one'/), &
245+ compress_lvl=0, atts=dic)
246+ end if
247+
248+ dic = dic//('info'.kv.'Atomic coordinates')//('unit'.kv.'Bohr')
249+ call ncdf_def_var(ncdf,'xa',NF90_DOUBLE,(/'xyz ','na_u'/), &
250+ compress_lvl=0, atts=dic)
251+
252+ dic = dic//('info'.kv.'Unit cell')
253+ call ncdf_def_var(ncdf,'cell',NF90_DOUBLE,(/'xyz','xyz'/), &
254+ compress_lvl=0, atts=dic)
255+
256+ dic = dic//('info'.kv.'Atomic forces')//('unit'.kv.'Ry/Bohr')
257+ call ncdf_def_var(ncdf,'fa',NF90_DOUBLE,(/'xyz ','na_u'/), &
258+ compress_lvl=0, atts=dic)
259+
260+ dic = dic//('info'.kv.'Cell stress')//('unit'.kv.'Ry/Bohr**3')
261+ call ncdf_def_var(ncdf,'stress',NF90_DOUBLE,(/'xyz','xyz'/), &
262+ compress_lvl=0, atts=dic)
263+ end if
264
265 call delete(dic)
266
267-
268- ! Create matrix group
269- call ncdf_def_grp(ncdf,'SPARSE',grp)
270-
271- call ncdf_def_dim(grp,'nnzs',n_nzs)
272-
273- ! EDM is required to have its own spin (because of spin-orbit coupling
274- ! where the spin == 4, and not 8)
275- call ncdf_def_dim(grp,'spin_EDM',spin%EDM)
276-
277-
278- dic = dic//('info'.kv.'Index of supercell coordinates')
279- call ncdf_def_var(grp,'isc_off',NF90_INT,(/'xyz','n_s'/), &
280- compress_lvl=0, atts=dic)
281-
282- dic = dic//('info'.kv.'Number of non-zero elements per row')
283- call ncdf_def_var(grp,'n_col',NF90_INT,(/'no_u'/), &
284- compress_lvl=0, atts=dic)
285-
286- chks = (/n_nzs,1,1/)
287-
288- dic = dic//('info'.kv. &
289- 'Supercell column indices in the sparse format ')
290- call ncdf_def_var(grp,'list_col',NF90_INT,(/'nnzs'/), &
291- compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
292-
293- ! Create the overlap matrix (we know it will not change)
294- dic = ('info'.kv.'Overlap matrix')
295- call ncdf_def_var(grp,'S',NF90_DOUBLE,(/'nnzs'/), &
296- compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
297-
298- dic = dic//('info'.kv.'Density matrix')
299- call ncdf_def_var(grp,'DM',NF90_DOUBLE,(/'nnzs','spin'/), &
300- compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
301-
302- dic = dic//('info'.kv.'Energy density matrix')
303- dic = dic//('unit'.kv.'Ry')
304- call ncdf_def_var(grp,'EDM',NF90_DOUBLE,(/'nnzs ','spin_EDM'/), &
305- compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
306-
307- if ( savehs .or. TS_HS_save ) then
308- ! Unit is already present in dictionary
309- dic = dic//('info'.kv.'Hamiltonian')
310- call ncdf_def_var(grp,'H',NF90_DOUBLE,(/'nnzs','spin'/), &
311+ if ( .not. lis_MD ) then
312+
313+ ! Create matrix group
314+ call ncdf_def_grp(ncdf,'SPARSE',grp)
315+
316+ call ncdf_def_dim(grp,'nnzs',n_nzs)
317+
318+ ! EDM is required to have its own spin (because of spin-orbit coupling
319+ ! where the spin == 4, and not 8)
320+ call ncdf_def_dim(grp,'spin_EDM',spin%EDM)
321+
322+
323+ dic = dic//('info'.kv.'Index of supercell coordinates')
324+ call ncdf_def_var(grp,'isc_off',NF90_INT,(/'xyz','n_s'/), &
325+ compress_lvl=0, atts=dic)
326+
327+ dic = dic//('info'.kv.'Number of non-zero elements per row')
328+ call ncdf_def_var(grp,'n_col',NF90_INT,(/'no_u'/), &
329+ compress_lvl=0, atts=dic)
330+
331+ chks = (/n_nzs,1,1/)
332+
333+ dic = dic//('info'.kv. &
334+ 'Supercell column indices in the sparse format ')
335+ call ncdf_def_var(grp,'list_col',NF90_INT,(/'nnzs'/), &
336+ compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
337+
338+ ! Create the overlap matrix (we know it will not change)
339+ dic = ('info'.kv.'Overlap matrix')
340+ call ncdf_def_var(grp,'S',NF90_DOUBLE,(/'nnzs'/), &
341+ compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
342+
343+ dic = dic//('info'.kv.'Density matrix')
344+ call ncdf_def_var(grp,'DM',NF90_DOUBLE,(/'nnzs','spin'/), &
345+ compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
346+
347+ dic = dic//('info'.kv.'Energy density matrix')
348+ dic = dic//('unit'.kv.'Ry')
349+ call ncdf_def_var(grp,'EDM',NF90_DOUBLE,(/'nnzs ','spin_EDM'/), &
350+ compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
351+
352+ if ( savehs .or. TS_HS_save ) then
353+ ! Unit is already present in dictionary
354+ dic = dic//('info'.kv.'Hamiltonian')
355+ call ncdf_def_var(grp,'H',NF90_DOUBLE,(/'nnzs','spin'/), &
356 compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks)
357+ end if
358+
359+ ! Even though I think we could do without, I add the
360+ ! xij array to the file
361+ ! Note that xij can be re-created using
362+ ! nsc, isc_off and xa
363+ ! if ( .not. Gamma ) then
364+ ! dic = dic//('info'.kv. &
365+ ! 'Distance between orbital i and j')
366+ ! dic = dic//('unit'.kv.'Bohr')
367+ ! call ncdf_def_var(grp,'xij',NF90_DOUBLE,(/'xyz ','nnzs'/), &
368+ ! compress_lvl=cdf_comp_lvl,atts=dic)
369+ ! end if
370 end if
371
372- ! Even though I think we could do without, I add the
373- ! xij array to the file
374- ! Note that xij can be re-created using
375- ! nsc, isc_off and xa
376-! if ( .not. Gamma ) then
377-! dic = dic//('info'.kv. &
378-! 'Distance between orbital i and j')
379-! dic = dic//('unit'.kv.'Bohr')
380-! call ncdf_def_var(grp,'xij',NF90_DOUBLE,(/'xyz ','nnzs'/), &
381-! compress_lvl=cdf_comp_lvl,atts=dic)
382-! end if
383-
384-
385 ! Delete the dictionary
386 call delete(dic)
387
388@@ -336,21 +353,21 @@
389 call ncdf_def_var(grp,'MeshCutoff',NF90_DOUBLE,(/'one'/), &
390 compress_lvl=0, atts=dic)
391
392- ! Create matrix group
393- if ( is_MD ) then
394+ ! Create MD group
395+ if ( lis_MD ) then
396
397 call ncdf_def_grp(ncdf,'MD',grp)
398
399 ! Create arrays for containers
400 call ncdf_def_dim(grp,'MD',NF90_UNLIMITED)
401
402- dic = ('info'.kv.'Temperature')//('unit'.kv.'K')
403+ dic = ('info'.kv.'Ionic temperature')//('unit'.kv.'K')
404 call ncdf_def_var(grp,'T',NF90_DOUBLE,(/'MD'/), &
405 compress_lvl=0, atts=dic) ! do not compress unlimited D
406
407- dic = dic//('info'.kv.'Kohn-Sham energy')//('unit'.kv.'Ry')
408- call ncdf_def_var(grp,'E_KS',NF90_DOUBLE,(/'MD'/), &
409- compress_lvl=0, atts=dic) ! do not compress unlimited D
410+ !dic = dic//('info'.kv.'Kohn-Sham energy')//('unit'.kv.'Ry')
411+ !call ncdf_def_var(grp,'E_KS',NF90_DOUBLE,(/'MD'/), &
412+ ! compress_lvl=0, atts=dic) ! do not compress unlimited D
413
414 dic = dic//('info'.kv.'Total energy')
415 call ncdf_def_var(grp,'E_tot',NF90_DOUBLE,(/'MD'/), &
416@@ -360,6 +377,10 @@
417 call ncdf_def_var(grp,'E_kin',NF90_DOUBLE,(/'MD'/), &
418 compress_lvl=0, atts=dic) ! do not compress unlimited D
419
420+ dic = dic//('info'.kv.'XC energy')
421+ call ncdf_def_var(grp,'E_xc',NF90_DOUBLE,(/'MD'/), &
422+ compress_lvl=0, atts=dic) ! do not compress unlimited D
423+
424 dic = dic//('info'.kv.'Fermi level')
425 call ncdf_def_var(grp,'Ef',NF90_DOUBLE,(/'MD'/), &
426 compress_lvl=0, atts=dic) ! do not compress unlimited D
427@@ -367,6 +388,10 @@
428 dic = dic//('info'.kv.'Atomic coordinates')//('unit'.kv.'Bohr')
429 call ncdf_def_var(grp,'xa',NF90_DOUBLE,(/'xyz ','na_u','MD '/), &
430 compress_lvl=0, atts=dic) ! do not compress unlimited D
431+
432+ dic = dic//('info'.kv.'Cell stress')//('unit'.kv.'Ry/Bohr**3')
433+ call ncdf_def_var(grp,'stress',NF90_DOUBLE,(/'xyz','xyz','MD '/), &
434+ compress_lvl=0, atts=dic) ! do not compress unlimited D
435
436 dic = dic//('info'.kv.'Atomic forces')//('unit'.kv.'Ry/Bohr')
437 call ncdf_def_var(grp,'fa',NF90_DOUBLE,(/'xyz ','na_u','MD '/), &
438@@ -378,6 +403,32 @@
439
440 end if
441
442+ ! Create FC group
443+ if ( lis_FC ) then
444+
445+ call ncdf_def_grp(ncdf,'FC',grp)
446+
447+ ! Create dimension arrays
448+ ! Create arrays for containers
449+ call ncdf_def_dim(grp,'ia',ia2-ia1+1)
450+ call ncdf_def_dim(grp,'m_p',2)
451+
452+ dic = dic//('info'.kv.'Displacement length')//('unit'.kv.'Bohr')
453+ call ncdf_def_var(grp,'disp',NF90_DOUBLE,(/'one'/), &
454+ compress_lvl=0, atts=dic) ! do not compress unlimited D
455+ call ncdf_put_var(grp,'disp',dx)
456+
457+ dic = dic//('info'.kv.'Undisplaced atomic forces ')//('unit'.kv.'Ry/Bohr')
458+ call ncdf_def_var(grp,'fa0',NF90_DOUBLE,(/'xyz ','na_u'/), &
459+ compress_lvl=0, atts=dic) ! do not compress unlimited D
460+
461+ dic = dic//('info'.kv.'Displaced atomic forces')//('unit'.kv.'Ry/Bohr')
462+ call ncdf_def_var(grp,'fa',NF90_DOUBLE,(/'xyz ','na_u','m_p ','xyz ', 'ia '/), &
463+ compress_lvl=0, atts=dic) ! do not compress unlimited D
464+
465+ end if
466+
467+
468 call delete(dic)
469
470 if ( isolve == SOLVE_TRANSI ) then
471@@ -447,12 +498,6 @@
472
473 call delete(dic)
474
475- ! Save the total charge and lasto
476- call ncdf_put_var(ncdf,'Qtot',Qtot)
477- if ( fixspin ) then
478- call ncdf_put_var(ncdf,'Qspin',total_spin)
479- end if
480-
481 call ncdf_put_var(ncdf,'lasto',lasto(1:na_u))
482
483 if ( isolve == SOLVE_TRANSI ) then
484@@ -541,7 +586,8 @@
485 use siesta_geom, only: na_u, ucell, xa, va
486 use siesta_geom, only: nsc, isc_off
487 use sparse_matrices, only: sparse_pattern, block_dist
488- use sparse_matrices, only: S_1D, DM_2D, EDM_2D, H_2D
489+ use sparse_matrices, only: S_1D
490+ use sparse_matrices, only: DM_2D, EDM_2D, H_2D
491 ! use sparse_matrices, only: xij_2D
492 use m_stress, only : stress
493 use m_forces, only: fa
494@@ -603,7 +649,7 @@
495 ! if ( .not. Gamma .and. ('xij' .in. dic_save) ) then
496 ! Write the xij array, it will not change during SCF
497 ! call cdf_w_d2D(grp,'xij',xij_2D)
498-! end if
499+ ! end if
500 if ( 'H' .in. dic_save ) &
501 call cdf_w_d2D(grp,'H',H_2D)
502 if ( 'DM' .in. dic_save ) &
503@@ -679,7 +725,9 @@
504
505 ! Used for saving variables
506 integer :: no, nk
507- integer, allocatable :: aux(:)
508+ integer, allocatable :: iaux(:)
509+ real(dp), allocatable :: raux(:)
510+
511
512 ! Unluckily the new basis saves only
513 ! saved on the IO node.
514@@ -751,8 +799,8 @@
515
516 ! Create all projector variables...
517 if ( nk > 0 ) then
518- dic = ('pjnl_l'.kv.NF90_INT)//('pjnl_n'.kv.NF90_INT)
519- dic = dic//('pjnl_ekb'.kv.NF90_DOUBLE)
520+ dic = ('pjnl_l'.kv.NF90_INT)//('pjnl_j'.kv.NF90_DOUBLE)
521+ dic = dic//('pjnl_n'.kv.NF90_INT)//('pjnl_ekb'.kv.NF90_DOUBLE)
522 dic = dic//('kbcutoff'.kv.NF90_DOUBLE)//('kbdelta'.kv.NF90_DOUBLE)
523 d = .first. dic
524 do while ( .not. (.empty. d) )
525@@ -817,21 +865,27 @@
526 call ncdf_put_var(grp,'orbnl_n',spp%orbnl_n(1:no))
527 call ncdf_put_var(grp,'orbnl_z',spp%orbnl_z(1:no))
528
529- allocate(aux(no))
530+ allocate(iaux(no))
531 do i = 1, no
532 if ( spp%orbnl_ispol(i) ) then
533- aux(i) = 1
534+ iaux(i) = 1
535 else
536- aux(i) = 0
537+ iaux(i) = 0
538 end if
539 end do
540- call ncdf_put_var(grp,'orbnl_ispol',aux(1:no))
541- deallocate(aux)
542+ call ncdf_put_var(grp,'orbnl_ispol',iaux(1:no))
543+ deallocate(iaux)
544 call ncdf_put_var(grp,'orbnl_pop',spp%orbnl_pop(1:no))
545
546 ! Save projector
547 if ( nk > 0 ) then
548 call ncdf_put_var(grp,'pjnl_l',spp%pjnl_l(1:nk))
549+ allocate(raux(nk))
550+ do i = 1, nk
551+ raux(i) = 0._dp
552+ end do
553+ call ncdf_put_var(grp,'pjnl_j',raux)
554+ deallocate(raux)
555 call ncdf_put_var(grp,'pjnl_n',spp%pjnl_n(1:nk))
556 call ncdf_put_var(grp,'pjnl_ekb',spp%pjnl_ekb(1:nk))
557 end if
558@@ -874,9 +928,11 @@
559
560 subroutine cdf_save_md(fname)
561 use siesta_geom, only: na_u, xa, va
562+ use m_stress, only: stress
563 use m_forces, only: fa
564- use m_energies, only: Etot, Ef, Ekinion
565+ use m_energies, only: Etot, Ekinion, Exc
566 use m_kinetic, only : Tempion
567+ use m_energies, only: Ef
568
569 character(len=*), intent(in) :: fname
570
571@@ -894,19 +950,54 @@
572 if ( Node == 0 ) then
573 ! Save current state
574 call ncdf_put_var(ncdf,'T',Tempion,start=(/MD/))
575- call ncdf_put_var(ncdf,'Ef',Ef,start=(/MD/))
576 !call ncdf_put_var(ncdf,'E_KS',EKS,start=(/MD/))
577 call ncdf_put_var(ncdf,'E_tot',Etot,start=(/MD/))
578 call ncdf_put_var(ncdf,'E_kin',Ekinion,start=(/MD/))
579+ call ncdf_put_var(ncdf,'E_xc',Exc,start=(/MD/))
580+ call ncdf_put_var(ncdf,'Ef',Ef,start=(/MD/))
581
582 call ncdf_put_var(ncdf,'xa',xa,count=(/3,na_u/),start=(/1,1,MD/))
583 call ncdf_put_var(ncdf,'fa',fa,count=(/3,na_u/),start=(/1,1,MD/))
584+ call ncdf_put_var(ncdf,'stress',stress,count=(/3,3/),start=(/1,1,MD/))
585 call ncdf_put_var(ncdf,'va',va,count=(/3,na_u/),start=(/1,1,MD/))
586 end if
587
588 call ncdf_close(ncdf)
589
590 end subroutine cdf_save_md
591+
592+ subroutine cdf_save_fc(fname,istep)
593+ use siesta_geom, only: na_u
594+ use siesta_options, only: ia1
595+ use m_forces, only: fa
596+
597+ character(len=*), intent(in) :: fname
598+ integer, intent(in) :: istep
599+
600+ type(hNCDF) :: ncdf
601+ integer :: ia, dir, pm
602+
603+ if ( Node /= 0 ) return
604+
605+ ! open the file...
606+ call ncdf_open(ncdf,fname,mode=ior(NF90_WRITE,NF90_NETCDF4),group='FC')
607+
608+ if ( istep == 0 ) then
609+ call ncdf_put_var(ncdf,'fa0',fa)
610+
611+ else
612+ ! Atomic index (with respect to ia1)
613+ ia = mod(istep - 1, 6) + 1
614+ dir = (ia - 1) / 2 + 1
615+ pm = mod(ia-1, 2) + 1
616+ ia = (istep - 1) / 6 + 1
617+
618+ call ncdf_put_var(ncdf,'fa',fa,count=(/3,na_u/),start=(/1,1,pm,dir,ia/))
619+ end if
620+
621+ call ncdf_close(ncdf)
622+
623+ end subroutine cdf_save_fc
624
625 #else
626 subroutine dummy()
627
628=== modified file 'Src/read_options.F90'
629--- Src/read_options.F90 2018-06-26 08:27:41 +0000
630+++ Src/read_options.F90 2018-07-09 07:59:46 +0000
631@@ -994,9 +994,11 @@
632
633 ! Maximum number of steps in CG/Broyden coordinate optimization
634 nmove = fdf_get('MD.NumCGsteps',0)
635+ nmove = fdf_get('MD.Steps',nmove)
636
637 ! Maximum atomic displacement in one CG step
638 dxmax = fdf_get('MD.MaxCGDispl',0.2_dp,'Bohr')
639+ dxmax = fdf_get('MD.MaxDispl',dxmax,'Bohr')
640
641 ! Tolerance in the maximum atomic force [0.04 eV/Ang]
642 ftol = fdf_get('MD.MaxForceTol', 0.00155574_dp, 'Ry/Bohr')
643@@ -1052,11 +1054,19 @@
644 name = 'MD.NumCGSteps', &
645 value = nmove, &
646 units = "cmlUnits:countable" )
647+ call cmlAddParameter( xf = mainXML, &
648+ name = 'MD.Steps', &
649+ value = nmove, &
650+ units = "cmlUnits:countable" )
651
652 call cmlAddParameter( xf = mainXML, &
653 name = 'MD.MaxCGDispl', &
654 value = dxmax, &
655 units = 'siestaUnits:Bohr' )
656+ call cmlAddParameter( xf = mainXML, &
657+ name = 'MD.MaxDispl', &
658+ value = dxmax, &
659+ units = 'siestaUnits:Bohr' )
660
661 call cmlAddParameter( xf=mainXML, &
662 name='MD.MaxForceTol', &
663@@ -1156,7 +1166,11 @@
664
665 ! Initial and final time steps for MD
666 istart = fdf_get('MD.InitialTimeStep',1)
667- ifinal = fdf_get('MD.FinalTimeStep',1)
668+ if ( fdf_defined('MD.Steps') ) then
669+ ifinal = fdf_get('MD.FinalTimeStep',max(1,nmove - istart + 1))
670+ else
671+ ifinal = fdf_get('MD.FinalTimeStep',1)
672+ end if
673
674 ! Length of time step for MD
675 dt = fdf_get('MD.LengthTimeStep',1._dp,'fs')
676@@ -1583,7 +1597,7 @@
677
678
679 ! Default variable depending on the action required
680- if ( idyn == 0 .and. nmove <= 1 ) then
681+ if ( idyn == 0 .and. nmove <= 0 ) then
682 ! Single-point calculation: use the tight auxiliary supercell by default
683 naive_aux_cell = fdf_get( 'NaiveAuxiliaryCell', .false. )
684 else
685
686=== modified file 'Src/save_density_matrix.F'
687--- Src/save_density_matrix.F 2017-11-23 14:17:27 +0000
688+++ Src/save_density_matrix.F 2018-07-09 07:59:46 +0000
689@@ -28,7 +28,7 @@
690 use atomlist, only: no_l
691 use siesta_options, only: writedm, writedm_cdf
692 use siesta_options, only: writedm_cdf_history
693- use siesta_options, only: idyn
694+ use siesta_options, only: idyn, nmove
695 use m_steps, only: istp
696 use sparse_matrices, only: Dscf, DM_2D
697 use fdf, only: fdf_get
698@@ -51,7 +51,7 @@
699 logical, intent(in), optional :: when
700 character(len=*), intent(in), optional :: file
701
702- logical :: do_it
703+ logical :: do_it, is_MD
704
705 #ifdef CDF
706 #ifdef NCDF_4
707@@ -83,13 +83,17 @@
708 & overwrite=.true. )
709 endif
710 #ifdef NCDF_4
711- if ( write_cdf ) then
712-
713- dic_save = ('Ef'.kv.1)
714- dic_save = dic_save//('DM'.kv.1)//('EDM'.kv.1)
715- call cdf_save_state(trim(slabel)//'.nc',dic_save)
716-
717- call delete(dic_save)
718+ if ( write_cdf .and. do_it ) then
719+
720+ if ( (idyn == 0 .and. nmove == 0) .or.
721+ & (idyn == 6 .and. istp == 1 ) ) then
722+
723+ dic_save = ('Ef'.kv.1)
724+ dic_save = dic_save//('DM'.kv.1)//('EDM'.kv.1)
725+ call cdf_save_state(trim(slabel)//'.nc',dic_save)
726+
727+ call delete(dic_save)
728+ end if
729
730 end if
731 #endif
732
733=== modified file 'Src/siesta_forces.F'
734--- Src/siesta_forces.F 2018-06-19 11:00:00 +0000
735+++ Src/siesta_forces.F 2018-07-09 07:59:46 +0000
736@@ -72,9 +72,7 @@
737 use write_subs, only: siesta_write_forces
738 use write_subs, only: siesta_write_stress_pressure
739 #ifdef NCDF_4
740- use dictionary
741- use m_ncdf_siesta, only : cdf_init_file, cdf_save_settings
742- use m_ncdf_siesta, only : cdf_save_state, cdf_save_basis
743+ use m_ncdf_siesta, only : cdf_save_settings
744 #endif
745 use m_compute_energies, only: compute_energies
746 use m_mpi_utils, only: broadcast
747@@ -121,9 +119,6 @@
748 external :: die, message
749
750 real(dp) :: Qcur
751-#ifdef NCDF_4
752- type(dict) :: d_sav
753-#endif
754 #ifdef SIESTA__FLOOK
755 ! len=24 from m_mixing.F90
756 character(len=1), target :: next_mixer(24)
757@@ -230,27 +225,12 @@
758 ! Initialize the NC file
759 if ( write_cdf ) then
760
761- ! Initialize the file...
762- call cdf_init_file(trim(slabel)//'.nc',is_MD = .false.)
763-#ifdef MPI
764- call MPI_Barrier(MPI_Comm_World,MPIerror)
765-#endif
766-
767- ! Save the settings
768- call cdf_save_settings(trim(slabel)//'.nc')
769-#ifdef MPI
770- call MPI_Barrier(MPI_Comm_World,MPIerror)
771-#endif
772-
773- d_sav = ('sp'.kv.1)//('S'.kv.1)
774- d_sav = d_sav//('nsc'.kv.1)//('xij'.kv.1)
775- d_sav = d_sav//('xa'.kv.1)//('cell'.kv.1)
776- d_sav = d_sav//('isc_off'.kv.1)
777- call cdf_save_state(trim(slabel)//'.nc',d_sav)
778- call delete(d_sav)
779-
780- ! Save the basis set
781- call cdf_save_basis(trim(slabel)//'.nc')
782+! Save the settings (important to do here since mesh-cutoff may
783+! have changed).
784+ call cdf_save_settings(trim(slabel)//'.nc')
785+#ifdef MPI
786+ call MPI_Barrier(MPI_Comm_World,MPIerror)
787+#endif
788
789 end if
790 #endif
791
792=== modified file 'Src/state_init.F'
793--- Src/state_init.F 2018-06-26 08:27:41 +0000
794+++ Src/state_init.F 2018-07-09 07:59:46 +0000
795@@ -22,9 +22,9 @@
796 use sparse_matrices, only: maxnh, numh, listh, listhptr
797 use sparse_matrices, only: Dold, Dscf, DM_2D
798 use sparse_matrices, only: Eold, Escf, EDM_2D
799- use sparse_matrices, only: Hold, H , H_2D
800+ use sparse_matrices, only: Hold, H, H_2D
801 use sparse_matrices, only: xijo, xij_2D
802- use sparse_matrices, only: S , S_1D
803+ use sparse_matrices, only: S, S_1D
804
805 use sparse_matrices, only: H_kin_1D, H_vkb_1D
806 use sparse_matrices, only: H_ldau_2D, H_so_2D
807@@ -91,6 +91,15 @@
808 use iodm_netcdf, only: setup_dm_netcdf_file
809 use iodmhs_netcdf, only: setup_dmhs_netcdf_file
810 #endif
811+#ifdef NCDF_4
812+ use dictionary
813+ use m_ncdf_siesta, only : cdf_init_file, cdf_save_settings
814+ use m_ncdf_siesta, only : cdf_save_state, cdf_save_basis
815+#ifdef MPI
816+ use mpi_siesta
817+#endif
818+#endif
819+
820 use class_Sparsity
821 use class_dSpData1D
822 use class_dSpData2D
823@@ -123,6 +132,13 @@
824 character(len=label_length+6) :: fname
825 real(dp) :: dummyef=0.0, dummyqtot=0.0
826 type(Sparsity) :: g_Sp
827+#ifdef NCDF_4
828+ type(dict) :: d_sav
829+#ifdef MPI
830+ integer :: MPIerror
831+#endif
832+ logical :: is_MD, is_FC
833+#endif
834
835 character(len=256) :: oname
836
837@@ -555,8 +571,42 @@
838 call overlap( na_u, na_s, no_s, scell, xa, indxua, rmaxo, maxnh,
839 & lasto, iphorb, isa, numh, listhptr, listh, S )
840
841-
842+#ifdef NCDF_4
843+! At this point the sparsity pattern, overlap matrix and some
844+! other details.
845+! Before continuing we will create the CDF file output
846 !
847+! Initialize the NC file
848+ if ( write_cdf ) then
849+ if ( inicoor == istep ) then
850+ is_MD = .true.
851+ if ( idyn == 0 .and. nmove == 0 ) is_MD = .false.
852+ is_FC = (idyn == 6)
853+ if ( is_FC ) is_MD = .false.
854+ call cdf_init_file(trim(slabel)//'.nc',
855+ & is_MD=is_MD, is_FC=is_FC)
856+#ifdef MPI
857+ call MPI_Barrier(MPI_Comm_World,MPIerror)
858+#endif
859+
860+! Save the basis set (only once)
861+ call cdf_save_basis(trim(slabel)//'.nc')
862+#ifdef MPI
863+ call MPI_Barrier(MPI_Comm_World,MPIerror)
864+#endif
865+
866+ if ( .not. is_MD ) then
867+ d_sav = d_sav//('xa'.kv.1)//('cell'.kv.1)
868+ d_sav = d_sav//('sp'.kv.1)//('S'.kv.1)//('xij'.kv.1)
869+ d_sav = d_sav//('isc_off'.kv.1)//('nsc'.kv.1)
870+ call cdf_save_state(trim(slabel)//'.nc',d_sav)
871+ call delete(d_sav)
872+ end if
873+ end if
874+ end if
875+#endif
876+
877+!
878 ! Here we could also read a Hamiltonian, either to proceed to
879 ! the analysis section (with nscf=0) or to start a mix-H scf cycle.
880 !
881
882=== modified file 'Util/COOP/Makefile'
883--- Util/COOP/Makefile 2018-06-28 13:53:17 +0000
884+++ Util/COOP/Makefile 2018-07-09 07:59:46 +0000
885@@ -814,14 +814,14 @@
886 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
887 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
888 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
889-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
890-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
891-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
892-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
893-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
894-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
895-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
896-state_init.o: units.o write_subs.o zmatrix.o
897+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
898+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
899+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
900+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
901+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
902+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
903+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
904+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
905 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
906 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
907 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
908
909=== modified file 'Util/Denchar/Src/Makefile'
910--- Util/Denchar/Src/Makefile 2018-06-28 13:53:17 +0000
911+++ Util/Denchar/Src/Makefile 2018-07-09 07:59:46 +0000
912@@ -888,14 +888,14 @@
913 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
914 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
915 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
916-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
917-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
918-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
919-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
920-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
921-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
922-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
923-state_init.o: units.o write_subs.o zmatrix.o
924+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
925+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
926+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
927+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
928+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
929+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
930+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
931+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
932 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
933 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
934 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
935
936=== modified file 'Util/Gen-basis/Makefile'
937--- Util/Gen-basis/Makefile 2018-06-28 13:53:17 +0000
938+++ Util/Gen-basis/Makefile 2018-07-09 07:59:46 +0000
939@@ -878,14 +878,14 @@
940 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
941 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
942 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
943-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
944-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
945-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
946-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
947-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
948-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
949-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
950-state_init.o: units.o write_subs.o zmatrix.o
951+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
952+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
953+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
954+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
955+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
956+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
957+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
958+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
959 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
960 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
961 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
962
963=== modified file 'Util/Grimme/Makefile'
964--- Util/Grimme/Makefile 2018-06-28 13:53:17 +0000
965+++ Util/Grimme/Makefile 2018-07-09 07:59:46 +0000
966@@ -816,14 +816,14 @@
967 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
968 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
969 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
970-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
971-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
972-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
973-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
974-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
975-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
976-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
977-state_init.o: units.o write_subs.o zmatrix.o
978+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
979+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
980+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
981+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
982+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
983+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
984+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
985+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
986 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
987 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
988 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
989
990=== modified file 'Util/Helpers/Makefile'
991--- Util/Helpers/Makefile 2018-06-28 13:53:17 +0000
992+++ Util/Helpers/Makefile 2018-07-09 07:59:46 +0000
993@@ -819,14 +819,14 @@
994 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
995 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
996 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
997-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
998-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
999-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1000-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1001-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1002-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1003-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1004-state_init.o: units.o write_subs.o zmatrix.o
1005+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1006+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1007+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1008+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1009+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1010+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1011+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1012+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1013 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1014 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1015 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1016
1017=== modified file 'Util/STM/ol-stm/Src/Makefile'
1018--- Util/STM/ol-stm/Src/Makefile 2018-06-28 13:53:17 +0000
1019+++ Util/STM/ol-stm/Src/Makefile 2018-07-09 07:59:46 +0000
1020@@ -901,14 +901,14 @@
1021 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1022 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1023 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1024-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1025-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1026-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1027-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1028-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1029-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1030-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1031-state_init.o: units.o write_subs.o zmatrix.o
1032+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1033+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1034+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1035+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1036+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1037+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1038+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1039+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1040 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1041 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1042 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1043
1044=== modified file 'Util/SpPivot/Makefile'
1045--- Util/SpPivot/Makefile 2018-06-28 13:53:17 +0000
1046+++ Util/SpPivot/Makefile 2018-07-09 07:59:46 +0000
1047@@ -830,14 +830,14 @@
1048 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1049 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1050 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1051-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1052-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1053-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1054-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1055-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1056-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1057-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1058-state_init.o: units.o write_subs.o zmatrix.o
1059+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1060+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1061+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1062+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1063+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1064+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1065+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1066+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1067 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1068 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1069 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1070
1071=== modified file 'Util/TS/TBtrans/Makefile'
1072--- Util/TS/TBtrans/Makefile 2018-06-28 13:53:17 +0000
1073+++ Util/TS/TBtrans/Makefile 2018-07-09 07:59:46 +0000
1074@@ -1086,14 +1086,14 @@
1075 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1076 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1077 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1078-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1079-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1080-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1081-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1082-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1083-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1084-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1085-state_init.o: units.o write_subs.o zmatrix.o
1086+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1087+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1088+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1089+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1090+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1091+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1092+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1093+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1094 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1095 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1096 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1097
1098=== modified file 'Util/TS/ts2ts/Makefile'
1099--- Util/TS/ts2ts/Makefile 2018-06-28 13:53:17 +0000
1100+++ Util/TS/ts2ts/Makefile 2018-07-09 07:59:46 +0000
1101@@ -823,14 +823,14 @@
1102 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1103 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1104 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1105-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1106-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1107-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1108-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1109-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1110-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1111-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1112-state_init.o: units.o write_subs.o zmatrix.o
1113+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1114+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1115+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1116+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1117+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1118+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1119+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1120+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1121 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1122 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1123 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1124
1125=== modified file 'Util/TS/tshs2tshs/Makefile'
1126--- Util/TS/tshs2tshs/Makefile 2018-06-28 13:53:17 +0000
1127+++ Util/TS/tshs2tshs/Makefile 2018-07-09 07:59:46 +0000
1128@@ -889,14 +889,14 @@
1129 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1130 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1131 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1132-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1133-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1134-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1135-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1136-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1137-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1138-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1139-state_init.o: units.o write_subs.o zmatrix.o
1140+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1141+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1142+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1143+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1144+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1145+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1146+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1147+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1148 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1149 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1150 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1151
1152=== modified file 'Util/VCA/Makefile'
1153--- Util/VCA/Makefile 2018-06-28 13:53:17 +0000
1154+++ Util/VCA/Makefile 2018-07-09 07:59:46 +0000
1155@@ -849,14 +849,14 @@
1156 state_init.o: class_SpData2D.o class_Sparsity.o create_Sparsity_SC.o
1157 state_init.o: domain_decom.o files.o hsparse.o iodm_netcdf.o iodmhs_netcdf.o
1158 state_init.o: ioxv.o kpoint_grid.o ldau_specs.o local_sys.o m_energies.o m_eo.o
1159-state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o
1160-state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o
1161-state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o
1162-state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
1163-state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o
1164-state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o
1165-state_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
1166-state_init.o: units.o write_subs.o zmatrix.o
1167+state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_ncdf_siesta.o
1168+state_init.o: m_new_dm.o m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o
1169+state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o
1170+state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o
1171+state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o
1172+state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o
1173+state_init.o: proximity_check.o siesta_cml.o siesta_dicts.o siesta_geom.o
1174+state_init.o: siesta_options.o sparse_matrices.o units.o write_subs.o zmatrix.o
1175 struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o
1176 struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o
1177 struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o
1178
1179=== modified file 'version.info'
1180--- version.info 2018-07-06 20:00:09 +0000
1181+++ version.info 2018-07-09 07:59:46 +0000
1182@@ -1,1 +1,5 @@
1183+<<<<<<< TREE
1184 siesta-4.1--938
1185+=======
1186+siesta-4.1--937--cdf-md-3
1187+>>>>>>> MERGE-SOURCE

Subscribers

People subscribed via source and target branches