Merge lp:~nickpapior/siesta/trunk-kpoint-dos into lp:siesta

Proposed by Nick Papior
Status: Merged
Approved by: Nick Papior
Approved revision: 709
Merged at revision: 709
Proposed branch: lp:~nickpapior/siesta/trunk-kpoint-dos
Merge into: lp:siesta
Diff against target: 3732 lines (+1128/-764)
44 files modified
Docs/siesta.tex (+92/-21)
Src/Makefile (+30/-29)
Src/compute_dm.F (+4/-4)
Src/cranknic_evolk.F90 (+9/-9)
Src/final_H_f_stress.F (+4/-4)
Src/kpoint_dos.F90 (+63/-0)
Src/kpoint_ldos.F90 (+83/-0)
Src/kpoint_pdos.F90 (+38/-19)
Src/kpoint_scf.F90 (+17/-9)
Src/local_DOS.F (+0/-111)
Src/local_DOS.F90 (+176/-0)
Src/m_initwf.F90 (+16/-16)
Src/m_ncdf_siesta.F90 (+6/-6)
Src/m_transiesta.F90 (+2/-2)
Src/m_ts_fullk.F90 (+4/-4)
Src/m_ts_mumpsk.F90 (+4/-4)
Src/m_ts_trik.F90 (+8/-8)
Src/post_scf_work.F (+3/-3)
Src/projected_DOS.F (+0/-127)
Src/projected_DOS.F90 (+150/-0)
Src/sankey_change_basis.F90 (+8/-8)
Src/siesta_analysis.F (+8/-8)
Src/siesta_dicts.F90 (+3/-3)
Src/siesta_end.F (+18/-0)
Src/siesta_init.F (+13/-4)
Src/siesta_options.F90 (+1/-0)
Src/siesta_tddft.F90 (+6/-6)
Src/state_init.F (+9/-9)
Src/ts_init.F90 (+6/-6)
Src/ts_kpoint_scf.F90 (+33/-19)
Src/wavefunctions.F90 (+14/-14)
Src/writewave.F (+2/-2)
Util/COOP/Makefile (+27/-28)
Util/Denchar/Src/Makefile (+27/-28)
Util/Gen-basis/Makefile (+27/-28)
Util/Grimme/Makefile (+27/-28)
Util/Helpers/Makefile (+27/-28)
Util/STM/ol-stm/Src/Makefile (+27/-28)
Util/SpPivot/Makefile (+27/-28)
Util/TS/TBtrans/Makefile (+27/-28)
Util/TS/ts2ts/Makefile (+27/-28)
Util/TS/tshs2tshs/Makefile (+27/-28)
Util/VCA/Makefile (+27/-28)
version.info (+1/-1)
To merge this branch: bzr merge lp:~nickpapior/siesta/trunk-kpoint-dos
Reviewer Review Type Date Requested Status
Alberto Garcia Pending
Review via email: mp+348522@code.launchpad.net

Commit message

Enabled an LDOS kgrid instead of the SCF one

This enables one to fine-tune the LDOS calculation
although it should be less sensitive to k-points it may be useful.

1) All kpoints_* are renamed to kpoint_* for clarity.

2) The LDOS and PDOS k-points are defaulted to the DOS k-points
   and thus have a common reference. This means that one can specify:
      DOS.kgrid.Cutoff
   which will act as k-grid for LDOS and PDOS calculations.

3) reset_kpoint* routines have been added which cleans the memory
   upon siesta exit.

4) Changed local_DOS.F to local_DOS.F90

Also enabled LDOS and PDOS energy specification with respect to EF. I.e. now
users may select the energy-range with respect to the Fermi-level.

Description of the change

Clarified and extended the LDOS and PDOS calculations.
Now a unified DOS.kgrid.* specification may be used instead of PDOS.kgrid/LDOS.kgrid.

Secondly, this branch enables energy specifications of PDOS/LDOS to be given with respect to the Fermi-level. This may be very advantageous because the options becomes independent on the used material.

To post a comment you must log in.
Revision history for this message
Nick Papior (nickpapior) wrote :

Ideally I would like another set of routines dos* which calculates the eigenvalues only and writes them out to the EIG file.

This however is a larger requirement.

Revision history for this message
Alberto Garcia (albertog) wrote :

Please merge the latest trunk update. Thanks!

709. By Nick Papior

Merged trunk-708

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

Done, now it should be ready for review, thanks!

Revision history for this message
Alberto Garcia (albertog) wrote :

I just noticed:

You deleted local_DOS.F and re-added it as local_DOS.F90, instead of renaming... is there a specific reason for that? Same for projected_DOS.

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

No, when I initially did the branch I did as you said. However, when I merged in trunk it didn't "get" it, hence I needed to manually correct this :(

I don't know if I could have done it in another way?

Revision history for this message
Alberto Garcia (albertog) wrote :

I have just one suggestion, otherwise approve: Remove this paragraph from siesta.tex, as it seems to imply that the EIG file can be (re)computed with a new DOS.kgrid specification:

---------------------------------------------------------------->>>> From here

The k-point specification for the density of states calculations may
be tuned via these options. Note that the \fdf*{DOS.kgrid.?} options
are the default values for \fdf{ProjectedDensityOfStates} and
\fdf{LocalDensityOfStates}.

\begin{fdfentry}{DOS.kgrid.?}<kgrid.?>

  The generic DOS k-grid specification.

  See Sec.~\ref{ssec:k-points} for details. If \emph{any} of
  \fdf*{DOS.kgrid.MonkhorstPack}, \fdf*{DOS.kgrid.Cutoff} or
  \fdf*{DOS.kgrid.File} is present, they will be used, otherwise fall
  back to the SCF k-point sampling.

\end{fdfentry}

---------------------------------------------------------------->>>> To here
\subsubsection{Partial (projected) density of states}

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

Would it suffice to add a line:

"Note that DOS.kgrid.? does not influence the k-points in the EIG file, i.e. kgrid.? determines the sampled eigenvalues in the EIG file."

It is more that later it *could* be nice to create the EIG file based on the DOS.kgrid?

If you don't agree I can comment it out so it is easy to add later?

Revision history for this message
Alberto Garcia (albertog) wrote :

Hi Nick,

As a compromise, I have written the following (attached) for the dos section of the manual.
If you like it, please go ahead and merge the branch in the trunk.

  Best regards,

   Alberto

> On 28 Jun 2018, at 08:37, Nick Papior <email address hidden> wrote:
>
> Would it suffice to add a line:
>
> "Note that DOS.kgrid.? does not influence the k-points in the EIG file, i.e. kgrid.? determines the sampled eigenvalues in the EIG file."
>
> It is more that later it *could* be nice to create the EIG file based on the DOS.kgrid?
>
> If you don't agree I can comment it out so it is easy to add later?
> --
> https://code.launchpad.net/~nickpapior/siesta/trunk-kpoint-dos/+merge/348522
> You are requested to review the proposed merge of lp:~nickpapior/siesta/trunk-kpoint-dos into lp:siesta.

710. By Nick Papior

Added Alberto's suggestions for the documentation

I have moved the note into the DOS.kgrid specification because
I think it will be more highlighted.

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 13:02:38 +0000
3+++ Docs/siesta.tex 2018-06-28 08:26:38 +0000
4@@ -3396,6 +3396,7 @@
5
6
7 \subsection{\texorpdfstring{$k$}{k}-point sampling}
8+\label{ssec:k-points}
9
10 These are options for the $k$-point grid used in the SCF cycle. For
11 other specialized grids, see Secs.~\ref{sec:macroscopic-polarization}
12@@ -7655,33 +7656,62 @@
13 There are several options to obtain the
14 total density of states:
15 \begin{itemize}
16-\index{output!eigenvalues}
17-\item The Hamiltonian eigenvalues for the SCF sampling $\vec k$ points can be
18-dumped into SystemLabel.EIG in a format analogous to SystemLabel.bands,
19-but without the kmin, kmax, emin, emax information, and without
20-the abscissa. The \program{Eig2DOS}\index{Eig2DOS@\textsc{Eig2DOS}}
21-postprocessing utility can be then used to obtain the density of
22-states.\index{density of states}
23-See the \fdf{WriteEigenvalues} descriptor.
24-%
25-\item As a side-product of a partial-density-of-states calculation
26+ \index{output!eigenvalues}
27+
28+ \item The Hamiltonian eigenvalues for the SCF sampling $\vec k$ points can be
29+ dumped into \sysfile{EIG} in a format analogous to SystemLabel.bands,
30+ but without the kmin, kmax, emin, emax information, and without
31+ the abscissa. The \program{Eig2DOS}\index{Eig2DOS@\textsc{Eig2DOS}}
32+ postprocessing utility can be then used to obtain the density of
33+ states.\index{density of states}
34+ See the \fdf{WriteEigenvalues} descriptor.
35+
36+ \item As a side-product of a partial-density-of-states calculation
37 (see below)
38-\item As one of the files produced by the \program{Util/COOP/mprop} during
39+
40+ \item As one of the files produced by the \program{Util/COOP/mprop} during
41 the off-line analysis of the electronic structure. This method
42 allows the flexibility of specifying energy ranges and resolutions
43 at will, without re-running \siesta\ See Sec.~\ref{sec:coop}.
44-\item Using the inertia-counting routines in the PEXSI solver (see Sec.~\ref{pexsi-dos}).
45+
46+ \item Using the inertia-counting routines in the PEXSI solver (see
47+ Sec.~\ref{pexsi-dos}).
48+
49 \end{itemize}
50
51+The k-point specification for the partial and local density of states
52+calculations described in the following two sections may optionally be
53+given by
54+
55+\begin{fdfentry}{DOS.kgrid.?}<kgrid.?>
56+
57+ The generic DOS k-grid specification.
58+
59+ See Sec.~\ref{ssec:k-points} for details. If \emph{any} of
60+ \fdf*{DOS.kgrid.MonkhorstPack}, \fdf*{DOS.kgrid.Cutoff} or
61+ \fdf*{DOS.kgrid.File} is present, they will be used, otherwise fall
62+ back to the SCF k-point sampling (\fdf*{kgrid.?}).
63+
64+ \note \fdf{DOS.kgrid.?} options are the default values for
65+ \fdf{ProjectedDensityOfStates} and \fdf{LocalDensityOfStates}, but
66+ they do not affect the sampling used to generate the \sysfile{EIG}
67+ file. This feature might be implemented in a later version.
68+
69+\end{fdfentry}
70+
71+
72 \subsubsection{Partial (projected) density of states}
73
74 There are two options to obtain the partial density of states
75 \begin{itemize}
76-\item Using the options below
77-\item Using the \program{Util/COOP/mprop} program for the off-line analysis of
78+
79+ \item Using the options below
80+
81+ \item Using the \program{Util/COOP/mprop} program for the off-line analysis of
82 the electronic structure in PDOS mode. This method allows the
83 flexibility of specifying energy ranges, orbitals, and resolutions
84 at will, without re-running \siesta. See Sec.~\ref{sec:coop}.
85+
86 \end{itemize}
87
88 \begin{fdfentry}{ProjectedDensityOfStates}[block]
89@@ -7700,17 +7730,21 @@
90 -20.00 10.00 0.200 500 eV
91 %endblock ProjectedDensityOfStates
92 \end{fdfexample}
93+ Optionally one may start the line with \shell{EF} as this:
94+ \begin{fdfexample}
95+ %block ProjectedDensityOfStates
96+ EF -20.00 10.00 0.200 500 eV
97+ %endblock ProjectedDensityOfStates
98+ \end{fdfexample}
99+ This specifies the energies with respect to the Fermi-level.
100
101 By default the projected density of states is generated for the same
102 grid of points in reciprocal space as used for the SCF calculation.
103 However, a separate set of K-points, usually on a finer grid, can be
104- generated using one of the options \fdf{PDOS.kgrid.Cutoff} or
105- \fdf{PDOS.kgrid.MonkhorstPack}. The format of these options is
106- exactly the same as for \fdf{kgrid.Cutoff} and
107- \fdf{kgrid.MonkhorstPack}, respectively. Note that if a gamma
108- point calculation is being used in the SCF part, especially as part
109- of a geometry optimisation, and this is then to be run with a grid
110- of K-points for the PDOS calculation it is more efficient to run the
111+ generated by using \fdf{PDOS.kgrid.?} Note that if a gamma point
112+ calculation is being used in the SCF part, especially as part of a
113+ geometry optimisation, and this is then to be run with a grid of
114+ K-points for the PDOS calculation it is more efficient to run the
115 SCF phase first and then restart to perform the PDOS evaluation
116 using the density matrix saved from the SCF phase.
117
118@@ -7740,6 +7774,18 @@
119
120 \end{fdfentry}
121
122+\begin{fdfentry}{PDOS.kgrid.?}<\fdfvalue{DOS.kgrid.?}>
123+
124+ This is PDOS only specification for the k-points. I.e. if one wishes
125+ to use a specific k-point sampling. These options are equivalent to
126+ the \fdf{kgrid!Cutoff}, \fdf{kgrid!MonkhorstPack} and
127+ \fdf{kgrid!File} options. Refer to them for additional details.
128+
129+ If \fdf{PDOS.kgrid.?} does not exist, then \fdf{DOS.kgrid.?} is
130+ checked, and if that does not exist then \fdf*{kgrid.?} options are
131+ used.
132+
133+\end{fdfentry}
134
135
136 \subsubsection{Local density of states}
137@@ -7767,11 +7813,36 @@
138 %endblock LocalDensityOfStates
139 \end{fdfexample}
140
141+ One may optionally write \shell{EF} as the first word to specify that
142+ the energies are with respect to the Fermi level
143+ \begin{fdfexample}
144+ %block LocalDensityOfStates
145+ EF -3.50 0.00 eV
146+ %endblock LocalDensityOfStates
147+ \end{fdfexample}
148+ would calculate the LDOS from $-3.5\,\mathrm{eV}$ below the
149+ Fermi-level up to the Fermi-level.
150+
151+ One may use \fdf{LDOS.kgrid.?} to fine-tune the k-point sampling in
152+ the LDOS calculation.
153+
154 \note the two energies of the range must be ordered, with lowest
155 first.
156
157 \end{fdfentry}
158
159+\begin{fdfentry}{LDOS.kgrid.?}<\fdfvalue{DOS.kgrid.?}>
160+
161+ This is LDOS only specification for the k-points. I.e. if one wishes
162+ to use a specific k-point sampling. These options are equivalent to
163+ the \fdf{kgrid!Cutoff}, \fdf{kgrid!MonkhorstPack} and
164+ \fdf{kgrid!File} options. Refer to them for additional details.
165+
166+ If \fdf{LDOS.kgrid.?} does not exist, then \fdf{DOS.kgrid.?} is
167+ checked, if that does not exist then \fdf*{kgrid.?} are used.
168+
169+\end{fdfentry}
170+
171
172
173 \subsection{Options for chemical analysis}
174
175=== modified file 'Src/Makefile'
176--- Src/Makefile 2018-06-26 14:07:08 +0000
177+++ Src/Makefile 2018-06-28 08:26:38 +0000
178@@ -103,7 +103,6 @@
179 savepsi.o shaper.o timer_tree.o timer.o \
180 vmb.o vmat.o vmatsp.o volcel.o \
181 cgvc.o cgvc_zmatrix.o m_convergence.o \
182- kpoint_t.o kpoint_scf.o kpoint_pdos.o \
183 iocg.o ioeig.o iofa.o iokp.o iomd.o typecell.o \
184 ofc.o poison.o readsp.o radfft.o \
185 write_md_record.o find_kgrid.o proximity_check.o\
186@@ -170,6 +169,8 @@
187 m_evolve.o cranknic_evolk.o cranknic_evolg.o sankey_change_basis.o m_iotddft.o \
188 m_matdiag.o m_matswinvers.o iotdxv.o m_inversemm.o
189
190+OBJS += kpoint_t.o kpoint_scf.o kpoint_dos.o kpoint_pdos.o kpoint_ldos.o
191+
192 OBJS += init_output.o
193
194 # Diagonalization algorithm
195@@ -729,14 +730,6 @@
196 fft.o: alloc.o fft1d.o m_timer.o mesh.o parallel.o parallelsubs.o precision.o
197 fft.o: sys.o
198 fft1d.o: parallel.o precision.o sys.o
199-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
200-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
201-final.old.o: ldau_specs.o m_dipol.o m_energies.o m_forces.o m_hsx.o
202-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
203-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
204-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
205-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o sys.o
206-final.old.o: ts_kpoint_scf.o units.o
207 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
208 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
209 final_H_f_stress.o: ldau.o ldau_specs.o m_dipol.o m_energies.o m_forces.o
210@@ -795,7 +788,11 @@
211 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
212 kinefsm.o: precision.o
213 kpoint_convert.o: precision.o sys.o units.o
214-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
215+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
216+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
217+kpoint_ldos.o: siesta_options.o
218+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
219+kpoint_pdos.o: siesta_options.o
220 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
221 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
222 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
223@@ -808,9 +805,10 @@
224 ldau_specs.o: basis_specs.o basis_types.o interpolation.o m_cite.o parallel.o
225 ldau_specs.o: precision.o pseudopotential.o radial.o sys.o units.o
226 listsc.o: alloc.o
227-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o m_energies.o
228-local_DOS.o: m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o siesta_geom.o
229-local_DOS.o: siesta_options.o sparse_matrices.o sys.o
230+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
231+local_DOS.o: kpoint_scf.o m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o
232+local_DOS.o: parallel.o precision.o siesta_geom.o siesta_options.o
233+local_DOS.o: sparse_matrices.o sys.o units.o
234 m_broyddj.o: alloc.o m_mpi_utils.o parallel.o precision.o sys.o
235 m_broyddj_nocomm.o: alloc.o parallel.o precision.o sys.o
236 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
237@@ -1151,8 +1149,6 @@
238 normalize_dm.o: siesta_options.o sparse_matrices.o sys.o
239 obc.o: alloc.o precision.o
240 ofc.o: alloc.o files.o precision.o units.o
241-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
242-old.o: precision.o
243 on_subs.o: alloc.o onmod.o onmod.o
244 onmod.o: precision.o
245 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o parallel.o
246@@ -1192,8 +1188,8 @@
247 print_spin.o: atomlist.o m_mpi_utils.o m_spin.o parallel.o precision.o
248 print_spin.o: siesta_cml.o sparse_matrices.o
249 printmatrix.o: alloc.o
250-projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o m_eo.o m_spin.o
251-projected_DOS.o: parallel.o precision.o siesta_geom.o siesta_options.o
252+projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o m_energies.o
253+projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_options.o
254 projected_DOS.o: sparse_matrices.o sys.o units.o
255 propor.o: precision.o sys.o
256 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
257@@ -1271,10 +1267,12 @@
258 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
259 siesta_dicts.o: siesta_options.o
260 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
261-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
262+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
263+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
264 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
265 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
266 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
267+siesta_end.o: ts_kpoint_scf.o
268 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
269 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
270 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
271@@ -1292,15 +1290,16 @@
272 siesta_geom.o: precision.o
273 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
274 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
275-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
276-siesta_init.o: kpoint_scf.o ksvinit.o m_check_walltime.o m_cite.o m_energies.o
277-siesta_init.o: m_eo.o m_fixed.o m_forces.o m_iostruct.o m_mpi_utils.o
278-siesta_init.o: m_new_dm.o m_rmaxh.o m_spin.o m_steps.o m_supercell.o m_timer.o
279-siesta_init.o: m_wallclock.o metaforce.o molecularmechanics.o object_debug.o
280-siesta_init.o: parallel.o parallelsubs.o projected_DOS.o siesta_cmlsubs.o
281-siesta_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
282-siesta_init.o: struct_init.o sys.o timer.o timestamp.o ts_init.o units.o
283-siesta_init.o: writewave.o zmatrix.o
284+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
285+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o
286+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
287+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
288+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
289+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
290+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
291+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
292+siesta_init.o: sys.o timer.o timestamp.o ts_init.o units.o writewave.o
293+siesta_init.o: zmatrix.o
294 siesta_master.o: iopipes.o iosockets.o precision.o sys.o
295 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
296 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
297@@ -1355,8 +1354,8 @@
298 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
299 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
300 ts_init.o: ts_kpoint_scf.o
301-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
302-ts_kpoint_scf.o: precision.o siesta_options.o
303+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
304+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
305 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
306 ts_show_regions.o: precision.o units.o
307 typecell.o: precision.o
308@@ -1444,6 +1443,8 @@
309 diagmemory.o: memoryinfo.o
310 f90sockets.o: fsockets.o
311 fsiesta.o: fsiesta_sockets.o
312+kpoint_dos_m.o: kpoint_dos.o
313+kpoint_ldos_m.o: kpoint_ldos.o
314 kpoint_pdos_m.o: kpoint_pdos.o
315 kpoint_scf_m.o: kpoint_scf.o
316 kpoint_t_m.o: kpoint_t.o
317
318=== modified file 'Src/compute_dm.F'
319--- Src/compute_dm.F 2018-06-26 13:02:38 +0000
320+++ Src/compute_dm.F 2018-06-28 08:26:38 +0000
321@@ -23,7 +23,7 @@
322 use atomlist, only: qa, lasto, iphorb, iaorb, no_u, no_s, indxuo,
323 & qtot, Qtots, no_l
324 use sys, only: die, bye
325- use kpoint_scf_m, only: kpoints_scf, gamma_scf
326+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
327 use m_energies, only: Ebs, Ecorrec, Entropy, DE_NEGF
328 use m_energies, only: Ef, Efs
329 use m_rmaxh
330@@ -179,7 +179,7 @@
331 & numh, listhptr, listh, numh, listhptr, listh,
332 & H, S, qtot, fixspin, qtots, temp, e1, e2,
333 $ xijo, indxuo, gamma_SCF,
334- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w,
335+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w,
336 & eo, qo, Dscf, Escf, ef, efs, Entropy, no_u,
337 & occtol, iscf, neigwanted)
338 Ecorrec = 0.0_dp
339@@ -214,7 +214,7 @@
340 call zminim(.false., PreviousCallDiagon, iscf, istp, no_l,
341 & spin%H, no_u, maxnh, numh, listhptr, listh, Dscf,
342 & eta, qtots, no_s, xijo, indxuo,
343- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w,
344+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w,
345 & H, S, H_kin)
346 end if
347 Ecorrec = 0.0_dp
348@@ -240,7 +240,7 @@
349 & numh, listhptr, listh, numh, listhptr, listh,
350 & H, S, qtot, fixspin, qtots, temp, e1, e2,
351 $ xijo, indxuo, gamma_SCF,
352- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w,
353+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w,
354 & eo, qo, Dscf, Escf, ef, efs, Entropy, no_u,
355 & occtol, iscf, neigwanted)
356
357
358=== modified file 'Src/cranknic_evolk.F90'
359--- Src/cranknic_evolk.F90 2018-05-24 19:58:35 +0000
360+++ Src/cranknic_evolk.F90 2018-06-28 08:26:38 +0000
361@@ -32,7 +32,7 @@
362 USE sparse_matrices, ONLY: H, S, numh, listh, listhptr, xijo, Dscf
363 USE atomlist, ONLY: no_u, no_l, indxuo
364 USE m_spin, ONLY: nspin
365- USE kpoint_scf_m, ONLY: kpoints_scf
366+ USE kpoint_scf_m, ONLY: kpoint_scf
367 USE wavefunctions, ONLY: compute_tddm, wavef_ms, complx_0, complx_1
368 USE m_energies, ONLY: etot
369 USE m_eo, ONLY: qo, eo
370@@ -64,7 +64,7 @@
371 call timer( 'cn_evolk', 1)
372 !
373 !
374- DO ik = 1,kpoints_scf%N
375+ DO ik = 1,kpoint_scf%N
376 DO ispin =1,nspin
377 call m_allocate ( Hauxms, no_u, no_u, m_storage)
378 call m_allocate ( Sauxms, no_u, no_u, m_storage)
379@@ -76,8 +76,8 @@
380 ind = listhptr(i) + j
381 juo = listh(ind)
382 jo = indxuo (juo)
383- kxij = kpoints_scf%k(1,ik)*xijo(1,ind) + kpoints_scf%k(2,ik)*xijo(2,ind) + &
384- kpoints_scf%k(3,ik)*xijo(3,ind)
385+ kxij = kpoint_scf%k(1,ik)*xijo(1,ind) + kpoint_scf%k(2,ik)*xijo(2,ind) + &
386+ kpoint_scf%k(3,ik)*xijo(3,ind)
387 ckxij = cos(kxij)
388 skxij = -sin(kxij)
389 cvar1 = cmplx(H(ind,ispin)*ckxij,H(ind,ispin)*skxij,dp)
390@@ -132,7 +132,7 @@
391
392 USE wavefunctions
393 USE m_spin, ONLY: nspin
394- USE kpoint_scf_m, ONLY: kpoints_scf
395+ USE kpoint_scf_m, ONLY: kpoint_scf
396 USE cranknic_evolg, ONLY: Uphi
397 USE atomlist, ONLY: no_u
398 USE MatrixSwitch
399@@ -165,14 +165,14 @@
400 ENDIF
401
402 IF(extrapol_H_tdks) THEN
403- ALLOCATE(firstimeK(kpoints_scf%N, nspin))
404- ALLOCATE(Hsave(kpoints_scf%N, nspin))
405- DO i=1,kpoints_scf%N
406+ ALLOCATE(firstimeK(kpoint_scf%N, nspin))
407+ ALLOCATE(Hsave(kpoint_scf%N, nspin))
408+ DO i=1,kpoint_scf%N
409 DO j=1,nspin
410 call m_allocate (Hsave(i,j),no_u, no_u, m_storage)
411 END DO
412 END DO
413- firstimeK(1:kpoints_scf%N,1:nspin) = .true.
414+ firstimeK(1:kpoint_scf%N,1:nspin) = .true.
415 END IF
416
417 firsttime = .false.
418
419=== modified file 'Src/final_H_f_stress.F'
420--- Src/final_H_f_stress.F 2018-06-26 13:02:38 +0000
421+++ Src/final_H_f_stress.F 2018-06-28 08:26:38 +0000
422@@ -68,7 +68,7 @@
423 use sparse_matrices, only: H_2D, S_1D
424 use files, only : label_length
425 use m_ts_options, only : TS_HS_save
426- use ts_kpoint_scf_m, only: ts_kpoints_scf, ts_gamma_scf
427+ use ts_kpoint_scf_m, only: ts_kpoint_scf, ts_gamma_scf
428 use m_ts_io, only : ts_write_TSHS,fname_TSHS, FC_index
429
430 #ifdef FINAL_CHECK_HS
431@@ -333,7 +333,7 @@
432 call ts_write_tshs(fname, .false., not_using_auxcell,
433 & ts_Gamma_scf,
434 & ucell, nsc, isc_off, na_u, no_s, spin%H,
435- & ts_kpoints_scf%k_cell, ts_kpoints_scf%k_displ,
436+ & ts_kpoint_scf%k_cell, ts_kpoint_scf%k_displ,
437 & xa, lasto,
438 & H_2D, S_1D, indxuo,
439 & Ef, Qtot, Temp, istep, 0)
440@@ -353,7 +353,7 @@
441 call ts_write_tshs(fname, .false.,
442 & not_using_auxcell, ts_Gamma_scf,
443 & ucell, nsc, isc_off, na_u, no_s, spin%H,
444- & ts_kpoints_scf%k_cell, ts_kpoints_scf%k_displ,
445+ & ts_kpoint_scf%k_cell, ts_kpoint_scf%k_displ,
446 & xa, lasto,
447 & H_2D, S_1D, indxuo,
448 & Ef, Qtot, Temp, io_istep, io_ia1)
449@@ -362,7 +362,7 @@
450 call ts_write_tshs(fname, .false.,
451 & not_using_auxcell, ts_Gamma_scf,
452 & ucell, nsc, isc_off, na_u, no_s, spin%H,
453- & ts_kpoints_scf%k_cell, ts_kpoints_scf%k_displ,
454+ & ts_kpoint_scf%k_cell, ts_kpoint_scf%k_displ,
455 & xa, lasto,
456 & H_2D, S_1D, indxuo,
457 & Ef, Qtot, Temp, 0, 0)
458
459=== added file 'Src/kpoint_dos.F90'
460--- Src/kpoint_dos.F90 1970-01-01 00:00:00 +0000
461+++ Src/kpoint_dos.F90 2018-06-28 08:26:38 +0000
462@@ -0,0 +1,63 @@
463+! ---
464+! Copyright (C) 1996-2016 The SIESTA group
465+! This file is distributed under the terms of the
466+! GNU General Public License: see COPYING in the top directory
467+! or http://www.gnu.org/copyleft/gpl.txt .
468+! See Docs/Contributors.txt for a list of contributors.
469+! ---
470+module kpoint_dos_m
471+ !
472+ ! Contains data structures and routines to deal with the kpoint-grid
473+ ! for all DOS related quantities, PDOS, LDOS and EIG-DOS.
474+ ! Other uses (bands, optical, polarization) have their own structures.
475+ !
476+ use precision, only : dp
477+
478+ ! The k-point-type
479+ use kpoint_t_m
480+
481+ implicit none
482+
483+ public :: setup_kpoint_dos
484+ public :: reset_kpoint_dos
485+ public :: kpoints_dos
486+ public :: gamma_dos
487+
488+ private
489+
490+ logical, save :: gamma_dos
491+ type(kpoint_t), save :: kpoints_dos
492+
493+contains
494+
495+ subroutine setup_kpoint_dos( ucell )
496+ use parallel, only: Node
497+ use siesta_options, only: writek
498+ use m_spin, only: TrSym
499+
500+ real(dp), intent(in) :: ucell(3,3)
501+
502+ ! First try and read the k-points
503+ call kpoint_read(kpoints_dos, 'DOS', ucell, TrSym)
504+
505+ if ( kpoints_dos%method == K_METHOD_NONE ) then
506+
507+ ! The user hasn't specified a specific DOS k-point sampling.
508+ call kpoint_delete(kpoints_dos)
509+ call kpoint_read(kpoints_dos, '', ucell, TrSym)
510+
511+ end if
512+
513+ gamma_dos = (kpoints_dos%N == 1 .and. &
514+ dot_product(kpoints_dos%k(:,1),kpoints_dos%k(:,1)) < 1.0e-20_dp)
515+
516+ end subroutine setup_kpoint_dos
517+
518+ subroutine reset_kpoint_dos()
519+
520+ call kpoint_delete(kpoints_dos)
521+ gamma_DOS = .true.
522+
523+ end subroutine reset_kpoint_dos
524+
525+end module kpoint_dos_m
526
527=== added file 'Src/kpoint_ldos.F90'
528--- Src/kpoint_ldos.F90 1970-01-01 00:00:00 +0000
529+++ Src/kpoint_ldos.F90 2018-06-28 08:26:38 +0000
530@@ -0,0 +1,83 @@
531+! ---
532+! Copyright (C) 1996-2016 The SIESTA group
533+! This file is distributed under the terms of the
534+! GNU General Public License: see COPYING in the top directory
535+! or http://www.gnu.org/copyleft/gpl.txt .
536+! See Docs/Contributors.txt for a list of contributors.
537+! ---
538+module kpoint_ldos_m
539+ !
540+ ! Contains data structures and routines to deal with the kpoint-grid
541+ ! only for the LDOS kgrid.
542+ ! Other uses (bands, optical, polarization) have their own structures.
543+ !
544+ use precision, only : dp
545+
546+ ! The k-point-type
547+ use kpoint_t_m
548+
549+ implicit none
550+
551+ public :: setup_kpoint_ldos
552+ public :: reset_kpoint_ldos
553+ public :: kpoint_ldos
554+ public :: gamma_ldos
555+
556+ private
557+
558+ logical, save :: gamma_ldos
559+ type(kpoint_t), save :: kpoint_ldos
560+
561+contains
562+
563+ subroutine setup_kpoint_ldos( ucell )
564+ use parallel, only: Node
565+ use siesta_options, only: writek
566+ use m_spin, only: TrSym
567+ use kpoint_dos_m, only: setup_kpoint_dos, kpoints_dos, gamma_dos
568+
569+ real(dp), intent(in) :: ucell(3,3)
570+
571+ ! First try and read the k-points
572+ call kpoint_read(kpoint_ldos, 'LDOS', ucell, TrSym)
573+
574+ if ( kpoint_ldos%method == K_METHOD_NONE ) then
575+ ! Default to the DOS related quantity
576+
577+ if ( kpoints_DOS%N == 0 ) &
578+ call setup_kpoint_dos( ucell )
579+
580+ call kpoint_associate(kpoint_ldos, kpoints_dos)
581+ gamma_ldos = gamma_dos
582+
583+ else
584+
585+ gamma_ldos = (kpoint_ldos%N == 1 .and. &
586+ dot_product(kpoint_ldos%k(:,1),kpoint_ldos%k(:,1)) < 1.0e-20_dp)
587+
588+ end if
589+
590+ ! Quick-return if non-IO
591+ if ( Node /= 0 ) return
592+
593+ ! Write to XML file
594+ call kpoint_write_stdout(kpoint_ldos, writek, 'LDOS')
595+ call kpoint_write_xml(kpoint_ldos, 'LDOS')
596+ call kpoint_write_file(kpoint_ldos, 'LDOS.KP')
597+
598+ end subroutine setup_kpoint_ldos
599+
600+ subroutine reset_kpoint_ldos()
601+ use kpoint_dos_m, only: kpoints_dos
602+
603+ if ( kpoint_associated(kpoint_ldos, kpoints_DOS) ) then
604+ call kpoint_nullify(kpoint_ldos)
605+ else
606+ call kpoint_delete(kpoint_ldos)
607+ end if
608+ gamma_LDOS = .true.
609+
610+ end subroutine reset_kpoint_ldos
611+
612+
613+end module kpoint_ldos_m
614
615=== modified file 'Src/kpoint_pdos.F90'
616--- Src/kpoint_pdos.F90 2018-05-25 11:12:14 +0000
617+++ Src/kpoint_pdos.F90 2018-06-28 08:26:38 +0000
618@@ -8,7 +8,7 @@
619 module kpoint_pdos_m
620 !
621 ! Contains data structures and routines to deal with the kpoint-grid
622- ! for the self-consistent calculation
623+ ! only for the PDOS kgrid.
624 ! Other uses (bands, optical, polarization) have their own structures.
625 !
626 use precision, only : dp
627@@ -19,13 +19,14 @@
628 implicit none
629
630 public :: setup_kpoint_pdos
631- public :: kpoints_pdos
632+ public :: reset_kpoint_pdos
633+ public :: kpoint_pdos
634 public :: gamma_pdos
635
636 private
637
638 logical, save :: gamma_pdos
639- type(kpoint_t), save :: kpoints_pdos
640+ type(kpoint_t), save :: kpoint_pdos
641
642 contains
643
644@@ -33,31 +34,49 @@
645 use parallel, only: Node
646 use siesta_options, only: writek
647 use m_spin, only: TrSym
648+ use kpoint_dos_m, only: setup_kpoint_dos, kpoints_dos, gamma_dos
649
650 real(dp), intent(in) :: ucell(3,3)
651
652 ! First try and read the k-points
653- call kpoint_read(kpoints_pdos, 'PDOS', ucell, TrSym)
654-
655- if ( kpoints_pdos%method == K_METHOD_NONE ) then
656-
657- ! The user hasn't specified a specific PDOS k-point sampling.
658- call kpoint_delete(kpoints_pdos)
659- call kpoint_read(kpoints_pdos, '', ucell, TrSym)
660+ call kpoint_read(kpoint_pdos, 'PDOS', ucell, TrSym)
661+
662+ if ( kpoint_pdos%method == K_METHOD_NONE ) then
663+ ! Default to the DOS related quantity
664+
665+ if ( kpoints_DOS%N == 0 ) &
666+ call setup_kpoint_dos( ucell )
667+
668+ call kpoint_associate(kpoint_pdos, kpoints_dos)
669+ gamma_pdos = gamma_dos
670+
671+ else
672+
673+ gamma_pdos = (kpoint_pdos%N == 1 .and. &
674+ dot_product(kpoint_pdos%k(:,1),kpoint_pdos%k(:,1)) < 1.0e-20_dp)
675
676 end if
677-
678- gamma_pdos = (kpoints_pdos%N == 1 .and. &
679- dot_product(kpoints_pdos%k(:,1),kpoints_pdos%k(:,1)) < 1.0e-20_dp)
680-
681+
682 ! Quick-return if non-IO
683 if ( Node /= 0 ) return
684-
685+
686 ! Write to XML file
687- call kpoint_write_stdout(kpoints_pdos, writek, 'PDOS')
688- call kpoint_write_xml(kpoints_pdos, 'PDOS')
689- call kpoint_write_file(kpoints_pdos, 'PDOS.KP')
690-
691+ call kpoint_write_stdout(kpoint_pdos, writek, 'PDOS')
692+ call kpoint_write_xml(kpoint_pdos, 'PDOS')
693+ call kpoint_write_file(kpoint_pdos, 'PDOS.KP')
694+
695 end subroutine setup_kpoint_pdos
696+
697+ subroutine reset_kpoint_pdos()
698+ use kpoint_dos_m, only: kpoints_dos
699+
700+ if ( kpoint_associated(kpoint_pdos, kpoints_DOS) ) then
701+ call kpoint_nullify(kpoint_pdos)
702+ else
703+ call kpoint_delete(kpoint_pdos)
704+ end if
705+ gamma_PDOS = .true.
706+
707+ end subroutine reset_kpoint_pdos
708
709 end module kpoint_pdos_m
710
711=== modified file 'Src/kpoint_scf.F90'
712--- Src/kpoint_scf.F90 2018-05-24 19:58:35 +0000
713+++ Src/kpoint_scf.F90 2018-06-28 08:26:38 +0000
714@@ -19,13 +19,14 @@
715 implicit none
716
717 public :: setup_kpoint_scf
718- public :: kpoints_scf
719+ public :: reset_kpoint_scf
720+ public :: kpoint_scf
721 public :: gamma_scf
722
723 private
724
725 logical, save :: gamma_scf
726- type(kpoint_t), save :: kpoints_scf
727+ type(kpoint_t), save :: kpoint_scf
728
729 contains
730
731@@ -36,18 +37,25 @@
732
733 real(dp), intent(in) :: ucell(3,3)
734
735- call kpoint_read(kpoints_scf, '', ucell, TrSym)
736+ call kpoint_read(kpoint_scf, '', ucell, TrSym)
737
738- gamma_scf = (kpoints_scf%N == 1 .and. &
739- dot_product(kpoints_scf%k(:,1),kpoints_scf%k(:,1)) < 1.0e-20_dp)
740+ gamma_scf = (kpoint_scf%N == 1 .and. &
741+ dot_product(kpoint_scf%k(:,1),kpoint_scf%k(:,1)) < 1.0e-20_dp)
742
743 ! Quick-return if non-IO
744 if ( Node /= 0 ) return
745
746- call kpoint_write_stdout(kpoints_scf, all=writek)
747- call kpoint_write_xml(kpoints_scf)
748- call kpoint_write_file(kpoints_scf, 'KP')
749+ call kpoint_write_stdout(kpoint_scf, all=writek)
750+ call kpoint_write_xml(kpoint_scf)
751+ call kpoint_write_file(kpoint_scf, 'KP')
752
753 end subroutine setup_kpoint_scf
754-
755+
756+ subroutine reset_kpoint_scf()
757+
758+ call kpoint_delete(kpoint_scf)
759+ gamma_scf = .true.
760+
761+ end subroutine reset_kpoint_scf
762+
763 end module kpoint_scf_m
764
765=== removed file 'Src/local_DOS.F'
766--- Src/local_DOS.F 2018-06-26 13:02:38 +0000
767+++ Src/local_DOS.F 1970-01-01 00:00:00 +0000
768@@ -1,111 +0,0 @@
769-! ---
770-! Copyright (C) 1996-2016 The SIESTA group
771-! This file is distributed under the terms of the
772-! GNU General Public License: see COPYING in the top directory
773-! or http://www.gnu.org/copyleft/gpl.txt .
774-! See Docs/Contributors.txt for a list of contributors.
775-! ---
776-
777- MODULE m_local_DOS
778- private
779- public :: local_DOS
780-
781- CONTAINS
782-
783- subroutine local_DOS( )
784- use m_energies
785-
786- use sparse_matrices
787- USE siesta_options
788- use siesta_geom
789- use atomlist, only: indxuo, indxua
790- use atomlist, only: qtot, qtots, no_u, no_l
791- use atomlist, only: iphorb
792- use atomlist, only: datm, no_s, iaorb
793- use fdf
794- use sys, only: die
795- use files, only: slabel ! system label
796- use files, only: filesOut_t ! derived type for output file names
797- use kpoint_scf_m, only: kpoints_scf, gamma_scf
798- use parallel, only: IOnode
799- use files, only : label_length
800- use m_ntm
801- use m_forces, only: fa
802- use m_energies, only: Ef, Efs
803- use m_eo
804- use m_spin, only: nspin
805- use m_spin, only: spinor_dim
806- use m_diagon, only: diagon
807- use m_dhscf, only: dhscf
808- implicit none
809-
810- integer :: dummy_iscf = 1
811-
812- real(dp):: e1 ! Lower bound of energy range
813- real(dp):: e2 ! Upper bound of energy range
814-
815- real(dp) :: dummy_str(3,3), dummy_strl(3,3) ! for dhscf call
816- real(dp) :: dummy_dipol(3)
817-
818- real(dp) :: factor, g2max, dummy_Entrop
819- logical :: genlogic ! Generate local density of states?
820-
821- type(block_fdf) :: bfdf
822- type(parsed_line), pointer :: pline
823- type(filesOut_t) :: filesOut ! blank output file names
824-
825-#ifdef DEBUG
826- call write_debug( ' PRE local_DOS' )
827-#endif
828-! Find local density of states
829- genlogic = fdf_block('LocalDensityOfStates',bfdf)
830-
831- if ( genlogic ) then
832-
833-! Find the desired energy range
834- if (.not. fdf_bline(bfdf,pline))
835- . call die('local_DOS: ERROR in LocalDensityOfStates block')
836- if (.not. fdf_bmatch(pline,'vvn'))
837- . call die("Wrong format in LocalDensityofStates")
838- factor = fdf_convfac( fdf_bnames(pline,1), 'Ry' )
839- e1 = fdf_bvalues(pline,1)*factor
840- e2 = fdf_bvalues(pline,2)*factor
841-
842- !Find the density matrix for states between e1 and e2
843- if ((isolve .eq. SOLVE_DIAGON) .or.
844- . ((isolve .eq. SOLVE_MINIM) .and.
845- . minim_calc_eigenvalues)) then
846- call diagon(no_s, spinor_dim, no_l, maxnh, maxnh, no_u,
847- . numh, listhptr, listh, numh, listhptr, listh,
848- . H, S, qtot, fixspin, qtots, temp, e1, e2,
849- . xijo, indxuo, gamma_SCF,
850- . kpoints_scf%N, kpoints_scf%k, kpoints_scf%w,
851- . eo, qo, Dscf, Escf, ef, efs, dummy_Entrop, no_u,
852- . occtol, dummy_iscf, neigwanted)
853-
854- !Find the LDOS in the real space mesh
855- filesOut%rho = trim(slabel) // '.LDOS'
856- g2max = g2cut
857- call dhscf( nspin, no_s, iaorb, iphorb, no_l,
858- . no_u, na_u, na_s, isa, xa_last, indxua,
859- . ntm, 0, 0, 0, filesOut,
860- . maxnh, numh, listhptr, listh, Dscf, Datm, maxnh, H,
861- . Enaatm, Enascf, Uatm, Uscf, DUscf, DUext, Exc, Dxc,
862- . dummy_dipol, dummy_str, fa, dummy_strl )
863- ! next to last argument is dummy here,
864- ! as no forces are calculated
865- ! todo: make all these optional
866- else
867- if (IOnode) write(6,*)
868- . 'siesta: ERROR: LDOS implemented only with diagon'
869- endif
870-
871- endif ! genlogic
872-
873-
874-#ifdef DEBUG
875- call write_debug( ' POS local_DOS' )
876-#endif
877- END subroutine local_DOS
878-
879- END module m_local_DOS
880
881=== added file 'Src/local_DOS.F90'
882--- Src/local_DOS.F90 1970-01-01 00:00:00 +0000
883+++ Src/local_DOS.F90 2018-06-28 08:26:38 +0000
884@@ -0,0 +1,176 @@
885+! ---
886+! Copyright (C) 1996-2016 The SIESTA group
887+! This file is distributed under the terms of the
888+! GNU General Public License: see COPYING in the top directory
889+! or http://www.gnu.org/copyleft/gpl.txt .
890+! See Docs/Contributors.txt for a list of contributors.
891+! ---
892+
893+module m_local_DOS
894+
895+ implicit none
896+ private
897+
898+ public :: init_local_DOS
899+ public :: local_DOS
900+
901+contains
902+
903+ subroutine init_local_DOS( ucell )
904+
905+ use precision, only: dp
906+ use siesta_options
907+ use fdf, only: fdf_block, block_fdf
908+ use kpoint_ldos_m, only: setup_kpoint_ldos
909+ use parallel, only: IOnode
910+
911+ real(dp), intent(in) :: ucell(3,3)
912+ type(block_fdf) :: bfdf
913+
914+ !-------------------------------------------------------------------------BEGIN
915+ ! Compute the projected density of states
916+ do_ldos = fdf_block('LocalDensityOfStates', bfdf)
917+ if ( .not. do_ldos ) return
918+
919+ if ( isolve /= SOLVE_DIAGON ) then
920+ if (.not.((isolve == SOLVE_MINIM).and. minim_calc_eigenvalues)) then
921+ if (IONode) then
922+ write(*,*) 'siesta: ERROR: LDOS implemented only with diagon'
923+ end if
924+ do_ldos = .false.
925+ end if
926+ end if
927+
928+ if ( .not. do_ldos ) return
929+
930+ call setup_kpoint_ldos( ucell )
931+
932+ end subroutine init_local_DOS
933+
934+ subroutine local_DOS( )
935+
936+ use units, only: eV
937+ use alloc, only: re_alloc
938+ use m_energies
939+ use sparse_matrices
940+ use siesta_options
941+ use siesta_geom
942+ use atomlist, only: indxuo, indxua
943+ use atomlist, only: qtot, qtots, no_u, no_l
944+ use atomlist, only: iphorb
945+ use atomlist, only: datm, no_s, iaorb
946+ use fdf
947+ use sys, only: die
948+ use files, only: slabel ! system label
949+ use files, only: filesOut_t ! derived type for output file names
950+ use kpoint_scf_m, only: kpoint_scf
951+ use kpoint_ldos_m, only: kpoint_ldos, gamma_ldos
952+ use parallel, only: IOnode
953+ use files, only : label_length
954+ use m_ntm
955+ use m_forces, only: fa
956+ use m_energies, only: Ef, Efs
957+ use m_eo
958+ use m_spin, only: nspin
959+ use m_spin, only: spinor_dim
960+ use m_diagon, only: diagon
961+ use m_dhscf, only: dhscf
962+
963+ integer :: dummy_iscf = 1
964+
965+ real(dp):: e1 ! Lower bound of energy range
966+ real(dp):: e2 ! Upper bound of energy range
967+
968+ real(dp) :: dummy_str(3,3), dummy_strl(3,3) ! for dhscf call
969+ real(dp) :: dummy_dipol(3)
970+
971+ real(dp) :: factor, g2max, dummy_Entrop
972+
973+ type(block_fdf) :: bfdf
974+ type(parsed_line), pointer :: pline
975+ type(filesOut_t) :: filesOut ! blank output file names
976+
977+ if ( .not. do_ldos ) return
978+
979+#ifdef DEBUG
980+ call write_debug( ' PRE local_DOS' )
981+#endif
982+
983+ ! Find local density of states
984+ if ( fdf_block('LocalDensityOfStates',bfdf) ) then
985+
986+ ! Find the desired energy range
987+ if (.not. fdf_bline(bfdf,pline)) &
988+ call die('local_DOS: ERROR in LocalDensityOfStates block')
989+
990+ if ( IONode ) write(*,'(/a)') 'siesta: LDOS info'
991+
992+ if ( fdf_bmatch(pline, 'nvvn') ) then
993+ ! EF e1 e2 unit
994+ if ( .not. leqi(fdf_bnames(pline,1), 'Ef') ) then
995+ call die('local_DOS: ERROR in LocalDensityOfStates block, first name *must* be EF or not set')
996+ end if
997+ if ( IONode ) &
998+ write(*,'(a)') 'siesta: Shifting energies with respect to Fermi-level'
999+
1000+ factor = fdf_convfac( fdf_bnames(pline,2), 'Ry' )
1001+ e1 = fdf_bvalues(pline,1)*factor + Ef
1002+ e2 = fdf_bvalues(pline,2)*factor + Ef
1003+
1004+ else if ( fdf_bmatch(pline, 'vvn') ) then
1005+
1006+ factor = fdf_convfac( fdf_bnames(pline,1), 'Ry' )
1007+ e1 = fdf_bvalues(pline,1)*factor
1008+ e2 = fdf_bvalues(pline,2)*factor
1009+
1010+ else
1011+ call die('local_DOS: ERROR in LocalDensityOfStates block!')
1012+ end if
1013+
1014+ if ( IONode ) then
1015+ write(*,'(a,tr1,f8.3," -- ",f8.3)') 'siesta: E1 -- E2 [eV]:', e1/eV, e2/eV
1016+ end if
1017+
1018+ ! If the k points have been set specifically for the LDOS then use this set
1019+ if ( kpoint_ldos%N > kpoint_scf%N ) then
1020+ call re_alloc(eo,1,no_u,1,spinor_dim,1,kpoint_ldos%N,name="eo", &
1021+ routine="local_dos")
1022+ call re_alloc(qo,1,no_u,1,spinor_dim,1,kpoint_ldos%N,name="qo", &
1023+ routine="local_dos")
1024+ end if
1025+
1026+ ! Find the density matrix for states between e1 and e2
1027+ call diagon(no_s, spinor_dim, no_l, maxnh, maxnh, no_u, &
1028+ numh, listhptr, listh, numh, listhptr, listh, &
1029+ H, S, qtot, fixspin, qtots, temp, e1, e2, &
1030+ xijo, indxuo, gamma_ldos, &
1031+ kpoint_ldos%N, kpoint_ldos%k, kpoint_ldos%w, &
1032+ eo, qo, Dscf, Escf, ef, efs, dummy_Entrop, no_u, &
1033+ occtol, dummy_iscf, neigwanted)
1034+
1035+ ! Find the LDOS in the real space mesh
1036+ filesOut%rho = trim(slabel) // '.LDOS'
1037+ g2max = g2cut
1038+ call dhscf( nspin, no_s, iaorb, iphorb, no_l, &
1039+ no_u, na_u, na_s, isa, xa_last, indxua, &
1040+ ntm, 0, 0, 0, filesOut, &
1041+ maxnh, numh, listhptr, listh, Dscf, Datm, maxnh, H, &
1042+ Enaatm, Enascf, Uatm, Uscf, DUscf, DUext, Exc, Dxc, &
1043+ dummy_dipol, dummy_str, fa, dummy_strl )
1044+
1045+ ! next to last argument is dummy here,
1046+ ! as no forces are calculated
1047+ ! todo: make all these optional
1048+
1049+ else
1050+
1051+ call die('LDOS: something went terribly wrong')
1052+
1053+ end if
1054+
1055+#ifdef DEBUG
1056+ call write_debug( ' POS local_DOS' )
1057+#endif
1058+ end subroutine local_DOS
1059+
1060+end module m_local_DOS
1061
1062=== modified file 'Src/m_initwf.F90'
1063--- Src/m_initwf.F90 2018-06-26 13:02:38 +0000
1064+++ Src/m_initwf.F90 2018-06-28 08:26:38 +0000
1065@@ -76,7 +76,7 @@
1066 use fdf
1067 use densematrix, only : Haux, Saux, psi
1068 use sparse_matrices, only : maxnh
1069- use kpoint_scf_m, only : kpoints_scf, gamma_scf
1070+ use kpoint_scf_m, only : kpoint_scf, gamma_scf
1071 use atomlist, only : no_s, no_l, no_u, qtot, indxuo
1072 use m_spin, only : nspin
1073 use alloc
1074@@ -161,10 +161,10 @@
1075 call re_alloc(psi,1,npsi,name='psi',routine='initwf')
1076 allocate(muo(nuo),stat=mem_stat)
1077 call memory('A','I',nuo,'initwf',stat=mem_stat)
1078- allocate(nocck(kpoints_scf%N,nspin),stat=mem_stat)
1079- call memory('A','I',kpoints_scf%N*nspin,'initwf',stat=mem_stat)
1080- allocate(occup(no_u,nspin,kpoints_scf%N),stat=mem_stat)
1081- call memory('A','L',nuo*kpoints_scf%N*nspin,'initwf',stat=mem_stat)
1082+ allocate(nocck(kpoint_scf%N,nspin),stat=mem_stat)
1083+ call memory('A','I',kpoint_scf%N*nspin,'initwf',stat=mem_stat)
1084+ allocate(occup(no_u,nspin,kpoint_scf%N),stat=mem_stat)
1085+ call memory('A','L',nuo*kpoint_scf%N*nspin,'initwf',stat=mem_stat)
1086 ! Check indxuo .......................................................
1087 do iuo = 1,nuo
1088 muo(iuo) = 0
1089@@ -197,7 +197,7 @@
1090 ! evolved by integrating TDKS equations. !
1091 ! ............................................................................!
1092 temp=1.0d-6
1093- call fermid( nspin, nspin, kpoints_scf%N, kpoints_scf%w, no_u, no_u, eo, &
1094+ call fermid( nspin, nspin, kpoint_scf%N, kpoint_scf%w, no_u, no_u, eo, &
1095 temp, qtot, qo, ef, entrp )
1096 nocc(1) = 0
1097 nocc(2) = 0
1098@@ -205,26 +205,26 @@
1099 degen= .false.
1100 !
1101 !
1102- do ik=1,kpoints_scf%N
1103+ do ik=1,kpoint_scf%N
1104 do ispin=1,nspin
1105 nocck(ik,ispin)=0
1106 do io=1,no_u
1107 occup(io,ispin,ik)=.false.
1108- if(dabs(qo(io,ispin,ik)-2.0d0*kpoints_scf%w(ik)/nspin).le. &
1109- 1.0d-2*dabs(2.0d0**kpoints_scf%w(ik)/nspin)) then
1110+ if(dabs(qo(io,ispin,ik)-2.0d0*kpoint_scf%w(ik)/nspin).le. &
1111+ 1.0d-2*dabs(2.0d0**kpoint_scf%w(ik)/nspin)) then
1112 nocc(ispin)=nocc(ispin)+1
1113 nocck(ik,ispin)=nocck(ik,ispin)+1
1114 ! Accounting the number of electrons corresponding the states being marked
1115 ! as occupied.
1116- nelect=nelect+dabs(2.0d0*kpoints_scf%w(ik)/nspin)
1117+ nelect=nelect+dabs(2.0d0*kpoint_scf%w(ik)/nspin)
1118 occup(io,ispin,ik)=.true.
1119 else
1120- if ( dabs( qo(io,ispin,ik)) .gt.1.0d-2*dabs(2.0d0*kpoints_scf%w(ik)/nspin)) then
1121+ if ( dabs( qo(io,ispin,ik)) .gt.1.0d-2*dabs(2.0d0*kpoint_scf%w(ik)/nspin)) then
1122 IF (Node .eq. 0) THEN
1123 IF(.not. degen) write(6,fmt="(/,a,tr3,a,tr3,a,tr3,a)") "initwf:","ik", &
1124 "occupancy","maximum occupancy"
1125 write(6,"(tr2,I10,tr3,f8.6,tr4,f8.6)") ik, qo(io,ispin,ik), &
1126- 2.0d0*kpoints_scf%w(ik)/nspin
1127+ 2.0d0*kpoint_scf%w(ik)/nspin
1128 END IF
1129 degen = .true.
1130 end if
1131@@ -257,8 +257,8 @@
1132 #else
1133 m_storage='szden'
1134 #endif
1135- allocate(wavef_ms(1:kpoints_scf%N,1:nspin)) ! allocate (nkpnt*npsin) matrices inside wavef_ms
1136- do i=1,kpoints_scf%N !for every value of nkpnt and nspin, allocate a matrix of size (no_u x nocck(i,j))
1137+ allocate(wavef_ms(1:kpoint_scf%N,1:nspin)) ! allocate (nkpnt*npsin) matrices inside wavef_ms
1138+ do i=1,kpoint_scf%N !for every value of nkpnt and nspin, allocate a matrix of size (no_u x nocck(i,j))
1139 do j=1,nspin
1140 call m_allocate(wavef_ms(i,j),no_u,nocck(i,j),m_storage)
1141 end do
1142@@ -269,7 +269,7 @@
1143 Haux, Saux, psi, no_u, occup)
1144 else if (nspin.le.2 .and. .not.gamma_scf) then
1145 call diagkiwf( nspin, nuo, no_s, nspin, no_l, maxnh, &
1146- no_u, indxuo, kpoints_scf%N, kpoints_scf%k, Haux, Saux, &
1147+ no_u, indxuo, kpoint_scf%N, kpoint_scf%k, Haux, Saux, &
1148 psi, no_u, occup)
1149 else
1150 call die('initwf: ERROR: non-collinear spin options for TDDFT not yet implemented')
1151@@ -277,7 +277,7 @@
1152 ! Write/save wavefunction in .TDWF file to use for TDDFT calculation.
1153 IF (Node .eq. 0) WRITE(6,'(a)') 'initwf: Saving wavefunctions &
1154 &in <systemlabel>.TDWF file.'
1155- call iowavef('write',wavef_ms,no_u,kpoints_scf%N,nspin)
1156+ call iowavef('write',wavef_ms,no_u,kpoint_scf%N,nspin)
1157 ! Free local arrays
1158 call memory('D','I',size(muo),'initwf',stat=mem_stat)
1159 deallocate(muo,stat=mem_stat)
1160
1161=== modified file 'Src/m_ncdf_siesta.F90'
1162--- Src/m_ncdf_siesta.F90 2018-06-26 13:02:38 +0000
1163+++ Src/m_ncdf_siesta.F90 2018-06-28 08:26:38 +0000
1164@@ -490,12 +490,12 @@
1165
1166 subroutine cdf_save_settings(fname)
1167
1168- use kpoint_scf_m, only: kpoints_scf
1169+ use kpoint_scf_m, only: kpoint_scf
1170 use siesta_options, only: cdf_w_parallel
1171 use siesta_options, only: dDtol, dHtol, charnet, wmix, temp, g2cut
1172 use siesta_options, only: isolve
1173 use siesta_options, only: SOLVE_DIAGON, SOLVE_ORDERN, SOLVE_TRANSI
1174- use ts_kpoint_scf_m, only: ts_kpoints_scf
1175+ use ts_kpoint_scf_m, only: ts_kpoint_scf
1176
1177 character(len=*), intent(in) :: fname
1178
1179@@ -508,8 +508,8 @@
1180 call ncdf_open_grp(ncdf,'SETTINGS',grp)
1181
1182 ! Save settings
1183- call ncdf_put_var(grp,'BZ',kpoints_scf%k_cell)
1184- call ncdf_put_var(grp,'BZ_displ',kpoints_scf%k_displ)
1185+ call ncdf_put_var(grp,'BZ',kpoint_scf%k_cell)
1186+ call ncdf_put_var(grp,'BZ_displ',kpoint_scf%k_displ)
1187 call ncdf_put_var(grp,'DMTolerance',dDtol)
1188 call ncdf_put_var(grp,'HTolerance',dHtol)
1189 call ncdf_put_var(grp,'NetCharge',charnet)
1190@@ -523,8 +523,8 @@
1191 if ( isolve == SOLVE_TRANSI ) then
1192 call ncdf_open_grp(ncdf,'TRANSIESTA',grp)
1193
1194- call ncdf_put_var(grp,'BZ',ts_kpoints_scf%k_cell)
1195- call ncdf_put_var(grp,'BZ_displ',ts_kpoints_scf%k_displ)
1196+ call ncdf_put_var(grp,'BZ',ts_kpoint_scf%k_cell)
1197+ call ncdf_put_var(grp,'BZ_displ',ts_kpoint_scf%k_displ)
1198
1199 end if
1200
1201
1202=== modified file 'Src/m_transiesta.F90'
1203--- Src/m_transiesta.F90 2018-06-26 13:02:38 +0000
1204+++ Src/m_transiesta.F90 2018-06-28 08:26:38 +0000
1205@@ -58,7 +58,7 @@
1206 use class_OrbitalDistribution
1207 use class_Sparsity
1208
1209- use ts_kpoint_scf_m, only : ts_kpoints_scf, ts_gamma_scf
1210+ use ts_kpoint_scf_m, only : ts_kpoint_scf, ts_gamma_scf
1211
1212 use m_ts_electype
1213
1214@@ -588,7 +588,7 @@
1215 end if
1216
1217 if ( Elecs(iEl)%out_of_core ) then
1218- call read_Green(uGF(iEl),Elecs(iEl), ts_kpoints_scf%N, NEn )
1219+ call read_Green(uGF(iEl),Elecs(iEl), ts_kpoint_scf%N, NEn )
1220 end if
1221
1222 end do
1223
1224=== modified file 'Src/m_ts_fullk.F90'
1225--- Src/m_ts_fullk.F90 2018-05-24 19:58:35 +0000
1226+++ Src/m_ts_fullk.F90 2018-06-28 08:26:38 +0000
1227@@ -96,7 +96,7 @@
1228 ! Self-energy expansion
1229 use m_ts_elec_se
1230
1231- use ts_kpoint_scf_m, only : ts_kpoints_scf
1232+ use ts_kpoint_scf_m, only : ts_kpoint_scf
1233
1234 use m_ts_options, only : Calc_Forces
1235 use m_ts_options, only : N_mu, mus
1236@@ -282,7 +282,7 @@
1237 end if
1238
1239 ! start the itterators
1240- call itt_init (SpKp,end1=nspin,end2=ts_kpoints_scf%N)
1241+ call itt_init (SpKp,end1=nspin,end2=ts_kpoint_scf%N)
1242 ! point to the index iterators
1243 call itt_attach(SpKp,cur1=ispin,cur2=ikpt)
1244
1245@@ -300,10 +300,10 @@
1246 end if
1247
1248 ! Include spin factor and 1/(2\pi)
1249- kpt(:) = ts_kpoints_scf%k(:,ikpt)
1250+ kpt(:) = ts_kpoint_scf%k(:,ikpt)
1251 ! create the k-point in reciprocal space
1252 call kpoint_convert(ucell,kpt,bkpt,1)
1253- kw = 0.5_dp / Pi * ts_kpoints_scf%w(ikpt)
1254+ kw = 0.5_dp / Pi * ts_kpoint_scf%w(ikpt)
1255 if ( nspin == 1 ) kw = kw * 2._dp
1256
1257 #ifdef TRANSIESTA_TIMING
1258
1259=== modified file 'Src/m_ts_mumpsk.F90'
1260--- Src/m_ts_mumpsk.F90 2018-05-24 19:58:35 +0000
1261+++ Src/m_ts_mumpsk.F90 2018-06-28 08:26:38 +0000
1262@@ -66,7 +66,7 @@
1263 ! Self-energy expansion
1264 use m_ts_elec_se
1265
1266- use ts_kpoint_scf_m, only : ts_kpoints_scf
1267+ use ts_kpoint_scf_m, only : ts_kpoint_scf
1268
1269 use m_ts_options, only : Calc_Forces
1270 use m_ts_options, only : N_mu, mus
1271@@ -236,7 +236,7 @@
1272 end if
1273
1274 ! start the itterators
1275- call itt_init (SpKp,end1=nspin,end2=ts_kpoints_scf%N)
1276+ call itt_init (SpKp,end1=nspin,end2=ts_kpoint_scf%N)
1277 ! point to the index iterators
1278 call itt_attach(SpKp,cur1=ispin,cur2=ikpt)
1279
1280@@ -252,10 +252,10 @@
1281 end if
1282
1283 ! Include spin factor and 1/(2\pi)
1284- kpt(:) = ts_kpoints_scf%k(:,ikpt)
1285+ kpt(:) = ts_kpoint_scf%k(:,ikpt)
1286 ! create the k-point in reciprocal space
1287 call kpoint_convert(ucell,kpt,bkpt,1)
1288- kw = 0.5_dp / Pi * ts_kpoints_scf%w(ikpt)
1289+ kw = 0.5_dp / Pi * ts_kpoint_scf%w(ikpt)
1290 if ( nspin == 1 ) kw = kw * 2._dp
1291
1292 write(mum%ICNTL(1),'(/,a,i0,a,3(tr1,g10.4),/)') &
1293
1294=== modified file 'Src/m_ts_trik.F90'
1295--- Src/m_ts_trik.F90 2018-05-24 19:58:35 +0000
1296+++ Src/m_ts_trik.F90 2018-06-28 08:26:38 +0000
1297@@ -72,7 +72,7 @@
1298 ! Self-energy expansion
1299 use m_ts_elec_se
1300
1301- use ts_kpoint_scf_m, only : ts_kpoints_scf
1302+ use ts_kpoint_scf_m, only : ts_kpoint_scf
1303
1304 use m_ts_options, only : Calc_Forces
1305 use m_ts_options, only : N_mu, mus
1306@@ -298,7 +298,7 @@
1307
1308
1309 ! start the itterators
1310- call itt_init (SpKp,end1=nspin,end2=ts_kpoints_scf%N)
1311+ call itt_init (SpKp,end1=nspin,end2=ts_kpoint_scf%N)
1312 ! point to the index iterators
1313 call itt_attach(SpKp,cur1=ispin,cur2=ikpt)
1314
1315@@ -311,10 +311,10 @@
1316 end if
1317
1318 ! Include spin factor and 1/(2\pi)
1319- kpt(:) = ts_kpoints_scf%k(:,ikpt)
1320+ kpt(:) = ts_kpoint_scf%k(:,ikpt)
1321 ! create the k-point in reciprocal space
1322 call kpoint_convert(ucell,kpt,bkpt,1)
1323- kw = 0.5_dp / Pi * ts_kpoints_scf%w(ikpt)
1324+ kw = 0.5_dp / Pi * ts_kpoint_scf%w(ikpt)
1325 if ( nspin == 1 ) kw = kw * 2._dp
1326
1327 #ifdef TRANSIESTA_TIMING
1328@@ -685,7 +685,7 @@
1329 ! Self-energy expansion
1330 use m_ts_elec_se
1331
1332- use ts_kpoint_scf_m, only : ts_kpoints_scf
1333+ use ts_kpoint_scf_m, only : ts_kpoint_scf
1334
1335 use m_ts_sparse, only : ts_sp_uc, tsup_sp_uc
1336 use m_ts_sparse, only : ltsup_sp_sc, sc_off
1337@@ -811,15 +811,15 @@
1338 zDM => val(spuDM)
1339 call newdSpData2D(ltsup_sp_sc,1, sp_dist,spDM ,name='TS spDM')
1340
1341- call itt_init (SpKp,end1=nspin,end2=ts_kpoints_scf%N)
1342+ call itt_init (SpKp,end1=nspin,end2=ts_kpoint_scf%N)
1343 call itt_attach(SpKp,cur1=ispin,cur2=ikpt)
1344
1345 call init_val(spDM)
1346 do while ( .not. itt_step(SpKp) )
1347
1348- kpt(:) = ts_kpoints_scf%k(:,ikpt)
1349+ kpt(:) = ts_kpoint_scf%k(:,ikpt)
1350 call kpoint_convert(ucell,kpt,bkpt,1)
1351- kw = 0.5_dp / Pi * ts_kpoints_scf%w(ikpt)
1352+ kw = 0.5_dp / Pi * ts_kpoint_scf%w(ikpt)
1353 if ( nspin == 1 ) kw = kw * 2._dp
1354
1355 #ifdef TRANSIESTA_TIMING
1356
1357=== modified file 'Src/post_scf_work.F'
1358--- Src/post_scf_work.F 2018-06-26 13:02:38 +0000
1359+++ Src/post_scf_work.F 2018-06-28 08:26:38 +0000
1360@@ -40,7 +40,7 @@
1361 use m_steps, only : istp, inicoor
1362 use m_compute_dm, only : PreviousCallDiagon
1363 use m_eo
1364- use kpoint_scf_m, only: kpoints_scf, gamma_scf
1365+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
1366 implicit none
1367
1368 ! MD-step, SCF-step
1369@@ -77,7 +77,7 @@
1370 & numh, listhptr, listh, numh, listhptr, listh,
1371 & H, S, qtot, fixspin, qtots, temp, 1.0_dp, -1.0_dp,
1372 & xijo, indxuo, gamma_SCF,
1373- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w,
1374+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w,
1375 & eo, qo, Dscf, Escf, ef, efs, Entropy, no_u,
1376 & occtol, iscf, neigwanted)
1377 Ecorrec = 0.0_dp
1378@@ -91,7 +91,7 @@
1379 call zminim(.true., .false., iscf, istp, no_l, nspin, no_u,
1380 & maxnh, numh, listhptr, listh, Escf, eta, qtots,
1381 & no_s, xijo, indxuo,
1382- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w)
1383+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w)
1384 end if
1385 endif
1386 endif
1387
1388=== removed file 'Src/projected_DOS.F'
1389--- Src/projected_DOS.F 2018-06-26 13:02:38 +0000
1390+++ Src/projected_DOS.F 1970-01-01 00:00:00 +0000
1391@@ -1,127 +0,0 @@
1392-! ---
1393-! Copyright (C) 1996-2016 The SIESTA group
1394-! This file is distributed under the terms of the
1395-! GNU General Public License: see COPYING in the top directory
1396-! or http://www.gnu.org/copyleft/gpl.txt .
1397-! See Docs/Contributors.txt for a list of contributors.
1398-! ---
1399- module m_projected_DOS
1400-
1401- use precision
1402-
1403- implicit none
1404-
1405- private
1406-
1407- public :: init_projected_DOS, projected_DOS
1408-
1409- CONTAINS
1410-
1411- subroutine init_projected_DOS()
1412-
1413- USE siesta_options
1414- use fdf, only: fdf_block, block_fdf
1415- ! This is to get the reference kpoints in case PDOS.kgrid* has not
1416- ! been specified
1417- use kpoint_pdos_m, only: setup_kpoint_pdos
1418- use parallel, only: IOnode, Nodes
1419- use siesta_geom, only: ucell
1420- use m_spin, only: spin
1421-
1422- type(block_fdf) :: bfdf
1423-
1424-!-------------------------------------------------------------------------BEGIN
1425-! Compute the projected density of states
1426- do_pdos = fdf_block('ProjectedDensityOfStates', bfdf)
1427- if ( .not. do_pdos ) return
1428-
1429- if (isolve.ne.SOLVE_DIAGON) then
1430- if (.not.((isolve.eq.SOLVE_MINIM).and.
1431- . minim_calc_eigenvalues)) then
1432- if (IONode) then
1433- write(6,*)
1434- . 'siesta: ERROR: PDOS implemented only with diagon'
1435- endif
1436- do_pdos = .false.
1437- endif
1438- endif
1439-
1440- if ( .not. do_pdos ) return
1441-
1442-! Determine whether the projected density of states is to be computed
1443-! on a different grid to the SCF calculation
1444- call setup_kpoint_pdos( ucell )
1445-
1446-!---------------------------------------------------------------------------END
1447-
1448- end subroutine init_projected_DOS
1449-
1450- subroutine projected_DOS()
1451-
1452- use sparse_matrices
1453- USE siesta_options
1454- use alloc, only : re_alloc
1455- use atomlist, only : indxuo, no_s, no_u, no_l
1456- use fdf
1457- use sys, only : die
1458- use kpoint_scf_m, only: kpoints_scf
1459- use Kpoint_pdos_m, only: kpoints_pdos, gamma_pdos
1460- use parallel, only: IOnode
1461- use m_eo
1462- use m_spin, only: h_spin_dim, spinor_dim
1463- use units, only: eV
1464-
1465- implicit none
1466-
1467- type(block_fdf) :: bfdf
1468- type(parsed_line), pointer :: pline
1469-
1470- real(dp) :: factor
1471- logical :: dummy ! Logical to hold return value from call to fdf_block
1472- integer :: nhist ! Number of histogram intervals in projected DOS
1473- real(dp) :: e1 ! Lower bound of energy range
1474- real(dp) :: e2 ! Upper bound of energy range
1475- real(dp) :: sigma ! Energy width used to convolute partial DOS
1476-
1477-!------------------------------------------------------------------------- BEGIN
1478-! Compute the projected density of states
1479-
1480- if ( .not. do_PDOS ) return
1481-
1482- ! Call fdf_block to get iu - presence has already been tested in init_projected_PDOS
1483- dummy = fdf_block('ProjectedDensityOfStates',bfdf)
1484-! Find the desired energy range
1485- if (.not. fdf_bline(bfdf,pline))
1486- $ call die('projected_DOS: ERROR in ' //
1487- $ 'ProjectedDensityOfStates block')
1488- if ((fdf_bnreals(pline) .lt. 3) .or.
1489- $ (fdf_bnnames(pline) .ne. 1))
1490- $ call die("Wrong format in PDOS block, not enough reals/names")
1491- factor = fdf_convfac( fdf_bnames(pline,1), 'Ry' )
1492- e1 = fdf_breals(pline,1) * factor
1493- e2 = fdf_breals(pline,2) * factor
1494- sigma = fdf_breals(pline,3) * factor
1495- nhist = fdf_bintegers(pline,1)
1496- if (IOnode) then
1497- write(6,'(a)') 'siesta: PDOS info: '
1498- write(6,'(a,3(f8.2,a),2x,i5)')
1499- $ 'siesta: e1, e2, sigma, nhist: ',
1500- $ e1/eV,' eV',e2/eV,' eV',sigma/eV,' eV', nhist
1501- end if
1502-
1503- ! If the k points have been set specifically for the PDOS then use this set
1504- if ( kpoints_pdos%N > kpoints_scf%N ) then
1505- call re_alloc(eo,1,no_u,1,spinor_dim,1,kpoints_pdos%N,name="eo",
1506- . routine="projected_dos")
1507- end if
1508-
1509- call pdos( no_s, h_spin_dim, spinor_dim, no_l,
1510- . maxnh, no_u, numh, listhptr, listh, H, S,
1511- . e1, e2, sigma, nhist, xijo, indxuo, gamma_PDOS,
1512- . kpoints_pdos%N, kpoints_pdos%k, kpoints_pdos%w, eo,
1513- . no_u)
1514-
1515-
1516- end subroutine projected_DOS
1517-
1518- end module m_projected_DOS
1519
1520=== added file 'Src/projected_DOS.F90'
1521--- Src/projected_DOS.F90 1970-01-01 00:00:00 +0000
1522+++ Src/projected_DOS.F90 2018-06-28 08:26:38 +0000
1523@@ -0,0 +1,150 @@
1524+! ---
1525+! Copyright (C) 1996-2016 The SIESTA group
1526+! This file is distributed under the terms of the
1527+! GNU General Public License: see COPYING in the top directory
1528+! or http://www.gnu.org/copyleft/gpl.txt .
1529+! See Docs/Contributors.txt for a list of contributors.
1530+! ---
1531+module m_projected_DOS
1532+
1533+ use precision
1534+
1535+ implicit none
1536+
1537+ private
1538+
1539+ public :: init_projected_DOS, projected_DOS
1540+
1541+contains
1542+
1543+ subroutine init_projected_DOS( ucell )
1544+
1545+ use precision, only: dp
1546+ use siesta_options
1547+ use fdf, only: fdf_block, block_fdf
1548+ ! This is to get the reference kpoints in case PDOS.kgrid* has not
1549+ ! been specified
1550+ use kpoint_pdos_m, only: setup_kpoint_pdos
1551+ use parallel, only: IOnode, Nodes
1552+
1553+ real(dp), intent(in) :: ucell(3,3)
1554+ type(block_fdf) :: bfdf
1555+
1556+ ! Compute the projected density of states
1557+ do_pdos = fdf_block('ProjectedDensityOfStates', bfdf)
1558+ if ( .not. do_pdos ) return
1559+
1560+ if (isolve.ne.SOLVE_DIAGON) then
1561+ if (.not.((isolve.eq.SOLVE_MINIM).and. minim_calc_eigenvalues)) then
1562+ if (IONode) then
1563+ write(*,*) 'siesta: ERROR: PDOS implemented only with diagon'
1564+ end if
1565+ do_pdos = .false.
1566+ end if
1567+ end if
1568+
1569+ if ( .not. do_pdos ) return
1570+
1571+ ! Determine whether the projected density of states is to be computed
1572+ ! on a different grid to the SCF calculation
1573+ call setup_kpoint_pdos( ucell )
1574+
1575+ end subroutine init_projected_DOS
1576+
1577+ subroutine projected_DOS()
1578+
1579+ use sparse_matrices
1580+ USE siesta_options
1581+ use alloc, only : re_alloc
1582+ use atomlist, only : indxuo, no_s, no_u, no_l
1583+ use fdf
1584+ use sys, only : die
1585+ use kpoint_scf_m, only: kpoint_scf
1586+ use Kpoint_pdos_m, only: kpoint_pdos, gamma_pdos
1587+ use parallel, only: IOnode
1588+ use m_energies, only: Ef
1589+ use m_eo
1590+ use m_spin, only: h_spin_dim, spinor_dim
1591+ use units, only: eV
1592+
1593+ type(block_fdf) :: bfdf
1594+ type(parsed_line), pointer :: pline
1595+
1596+ real(dp) :: factor
1597+ logical :: dummy ! Logical to hold return value from call to fdf_block
1598+ integer :: nhist ! Number of histogram intervals in projected DOS
1599+ real(dp) :: e1 ! Lower bound of energy range
1600+ real(dp) :: e2 ! Upper bound of energy range
1601+ real(dp) :: sigma ! Energy width used to convolute partial DOS
1602+
1603+ ! Compute the projected density of states
1604+
1605+ if ( .not. do_PDOS ) return
1606+
1607+#ifdef DEBUG
1608+ call write_debug( ' PRE projected_DOS' )
1609+#endif
1610+
1611+ ! Call fdf_block to get iu - presence has already been tested in init_projected_PDOS
1612+ if ( fdf_block('ProjectedDensityOfStates',bfdf) ) then
1613+
1614+ ! Find the desired energy range
1615+ if ( .not. fdf_bline(bfdf,pline) ) &
1616+ call die('projected_DOS: ERROR in ProjectedDensityOfStates block')
1617+
1618+ if ( IONode ) write(*,'(/a)') 'siesta: PDOS info'
1619+
1620+ if ( fdf_bmatch(pline, 'nvvvin') ) then
1621+
1622+ if ( .not. leqi(fdf_bnames(pline,1), 'Ef') ) then
1623+ call die('projected_DOS: ERROR in ProjectedDensityOfStates block, first name *must* be EF or not set')
1624+ end if
1625+ if ( IONode ) &
1626+ write(*,'(a)') 'siesta: Shifting energies with respect to Fermi-level'
1627+
1628+ factor = fdf_convfac( fdf_bnames(pline,2), 'Ry' )
1629+ e1 = fdf_breals(pline,1) * factor + Ef
1630+ e2 = fdf_breals(pline,2) * factor + Ef
1631+
1632+ else if ( fdf_bmatch(pline, 'vvvin') ) then
1633+
1634+ factor = fdf_convfac( fdf_bnames(pline,1), 'Ry' )
1635+ e1 = fdf_breals(pline,1) * factor
1636+ e2 = fdf_breals(pline,2) * factor
1637+
1638+ else
1639+ call die("projected_DOS: ERROR Wrong format in PDOS block, not enough reals/integer/names")
1640+ end if
1641+
1642+ ! Get sigma and n-hist
1643+ sigma = fdf_breals(pline,3) * factor
1644+ nhist = fdf_bintegers(pline,1)
1645+
1646+ if ( IOnode ) then
1647+ write(*,'(a,f8.3," -- ",2(f8.3,tr1),i0)') 'siesta: E1 -- E2, sigma [eV], nhist: ', &
1648+ e1/eV, e2/eV, sigma/eV, nhist
1649+ end if
1650+
1651+ ! If the k points have been set specifically for the PDOS then use this set
1652+ if ( kpoint_pdos%N > kpoint_scf%N ) then
1653+ call re_alloc(eo,1,no_u,1,spinor_dim,1,kpoint_pdos%N,name="eo", routine="projected_dos")
1654+ end if
1655+
1656+ call pdos( no_s, h_spin_dim, spinor_dim, no_l, &
1657+ maxnh, no_u, numh, listhptr, listh, H, S, &
1658+ e1, e2, sigma, nhist, xijo, indxuo, gamma_pdos, &
1659+ kpoint_pdos%N, kpoint_pdos%k, kpoint_pdos%w, eo, no_u)
1660+
1661+ else
1662+
1663+ call die('PDOS: something went terribly wrong')
1664+
1665+ end if
1666+
1667+#ifdef DEBUG
1668+ call write_debug( ' POS projected_DOS' )
1669+#endif
1670+
1671+ end subroutine projected_DOS
1672+
1673+end module m_projected_DOS
1674
1675=== modified file 'Src/sankey_change_basis.F90'
1676--- Src/sankey_change_basis.F90 2018-06-26 13:02:38 +0000
1677+++ Src/sankey_change_basis.F90 2018-06-28 08:26:38 +0000
1678@@ -45,7 +45,7 @@
1679 use mpi_siesta, only : mpi_bcast, mpi_comm_world, mpi_logical
1680 #endif
1681 use m_spin, only: nspin
1682- use kpoint_scf_m, only: kpoints_scf, gamma_scf
1683+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
1684 use atomlist, only: no_u, indxuo
1685 use wavefunctions
1686 use sparse_matrices, only : numh, listhptr, listh, S, xijo, Dscf
1687@@ -105,8 +105,8 @@
1688 END IF
1689 ! Allocate local arrays
1690 if(frstme) then
1691- allocate(sqrtS(kpoints_scf%N))
1692- do ik=1,kpoints_scf%N
1693+ allocate(sqrtS(kpoint_scf%N))
1694+ do ik=1,kpoint_scf%N
1695 call m_allocate(sqrtS(ik),no_u,no_u,m_storage)
1696 end do
1697 frstme=.false.
1698@@ -114,7 +114,7 @@
1699 call m_allocate(Maux,no_u,no_u,m_storage)
1700 call m_allocate(invsqS,no_u,no_u,m_storage)
1701 !
1702- do ik = 1,kpoints_scf%N
1703+ do ik = 1,kpoint_scf%N
1704 call m_allocate(Sauxms,no_u,no_u,m_storage)
1705 do iuo = 1,nuo
1706 call LocalToGlobalOrb(iuo, Node, Nodes, io)
1707@@ -123,9 +123,9 @@
1708 juo = listh(ind)
1709 jo = indxuo (juo)
1710 if(.not.gamma_scf) then
1711- kxij = kpoints_scf%k(1,ik) * xijo(1,ind) +&
1712- kpoints_scf%k(2,ik) * xijo(2,ind) +&
1713- kpoints_scf%k(3,ik) * xijo(3,ind)
1714+ kxij = kpoint_scf%k(1,ik) * xijo(1,ind) +&
1715+ kpoint_scf%k(2,ik) * xijo(2,ind) +&
1716+ kpoint_scf%k(3,ik) * xijo(3,ind)
1717 ckxij = cos(kxij)
1718 skxij = -sin(kxij)
1719 else
1720@@ -150,7 +150,7 @@
1721 call m_add ( Maux,'n',sqrtS(ik),cmplx(1.0_dp,0.0_dp,dp), &
1722 cmplx(0.0_dp,0.0_dp,dp),m_operation )
1723 ! C1=S0^1/2*S1^1/2*C0
1724- qe=2.0d0*kpoints_scf%w(ik)/dble(nspin)
1725+ qe=2.0d0*kpoint_scf%w(ik)/dble(nspin)
1726 do ispin=1,nspin
1727 ! Cn = Saux*Cn-1 where Saux= Sn-1^1/2*Sn^-1/2
1728 call m_allocate ( phi,wavef_ms(ik,ispin)%dim1, &
1729
1730=== modified file 'Src/siesta_analysis.F'
1731--- Src/siesta_analysis.F 2018-06-26 13:02:38 +0000
1732+++ Src/siesta_analysis.F 2018-06-28 08:26:38 +0000
1733@@ -39,7 +39,7 @@
1734 use files, only : slabel
1735 use files, only : filesOut_t ! derived type for output file names
1736 use zmatrix, only: lUseZmatrix, write_zmatrix
1737- use kpoint_scf_m, only: kpoints_scf, gamma_scf
1738+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
1739 use parallel, only: IOnode
1740 use parallel, only: SIESTA_worker
1741 use files, only : label_length
1742@@ -284,7 +284,7 @@
1743 ! The user is responsible for using appropriate values.
1744 wfs_band_min = fdf_get("WFS.BandMin",1)
1745 wfs_band_max = fdf_get("WFS.BandMax",no_u)
1746- call setup_wfs_list(kpoints_scf%N,no_u,
1747+ call setup_wfs_list(kpoint_scf%N,no_u,
1748 & wfs_band_min,wfs_band_max,
1749 $ use_scf_weights=.true.,
1750 $ use_energy_window=.true.)
1751@@ -292,9 +292,9 @@
1752 if (IONode) print "(a)", "Writing WFSX for COOP/COHP in "
1753 $ // trim(wfs_filename)
1754 call wwave( no_s, h_spin_dim, spinor_dim, no_u, no_l, maxnh,
1755- . kpoints_scf%N,
1756+ . kpoint_scf%N,
1757 . numh, listhptr, listh, H, S, Ef, xijo, indxuo,
1758- . gamma_scf, kpoints_scf%N, kpoints_scf%k, no_u, occtol)
1759+ . gamma_scf, kpoint_scf%N, kpoint_scf%k, no_u, occtol)
1760 endif
1761
1762 ! Compute bands
1763@@ -352,7 +352,7 @@
1764 if ( h_spin_dim <= 2 ) then
1765 write(6,'(/,a,/,a4,a3,a7)')
1766 & 'siesta: Eigenvalues (eV):', 'ik', 'is', 'eps'
1767- do ik = 1,kpoints_scf%N
1768+ do ik = 1,kpoint_scf%N
1769 do ispin = 1,spinor_dim
1770 write(6,'(i4,i3,10f7.2)')
1771 & ik,ispin,(eo(io,ispin,ik)/eV,io=1,min(10,neigwanted))
1772@@ -362,7 +362,7 @@
1773 enddo
1774 else
1775 write(6,'(/,a)') 'siesta: Eigenvalues (eV):'
1776- do ik = 1,kpoints_scf%N
1777+ do ik = 1,kpoint_scf%N
1778 write(6,'(a,i6)') 'ik =', ik
1779 write(6,'(10f7.2)')
1780 & ((eo(io,ispin,ik)/eV,io=1,neigwanted),ispin=1,2)
1781@@ -375,9 +375,9 @@
1782 if (((isolve.eq.SOLVE_DIAGON).or.
1783 & ((isolve.eq.SOLVE_MINIM).and.minim_calc_eigenvalues))
1784 & .and.IOnode)
1785- & call ioeig(eo,ef,neigwanted,nspin,kpoints_scf%N,
1786+ & call ioeig(eo,ef,neigwanted,nspin,kpoint_scf%N,
1787 & no_u,spinor_dim,
1788- & kpoints_scf%N, kpoints_scf%k, kpoints_scf%w)
1789+ & kpoint_scf%N, kpoint_scf%k, kpoint_scf%w)
1790
1791
1792 !** This uses H,S, and xa, as it diagonalizes them again
1793
1794=== modified file 'Src/siesta_dicts.F90'
1795--- Src/siesta_dicts.F90 2018-05-24 19:58:35 +0000
1796+++ Src/siesta_dicts.F90 2018-06-28 08:26:38 +0000
1797@@ -218,7 +218,7 @@
1798 subroutine dict_populate_variables()
1799
1800 use siesta_geom
1801- use kpoint_scf_m, only: kpoints_scf
1802+ use kpoint_scf_m, only: kpoint_scf
1803 use m_forces
1804 use m_energies
1805 use atomlist
1806@@ -327,9 +327,9 @@
1807
1808 ! Add the k-point sampling
1809 variables = variables // &
1810- ('BZ.k.Matrix'.kvp.kpoints_scf%k_cell)
1811+ ('BZ.k.Matrix'.kvp.kpoint_scf%k_cell)
1812 variables = variables // &
1813- ('BZ.k.Displacement'.kvp.kpoints_scf%k_displ)
1814+ ('BZ.k.Displacement'.kvp.kpoint_scf%k_displ)
1815
1816 end subroutine dict_populate_variables
1817
1818
1819=== modified file 'Src/siesta_end.F'
1820--- Src/siesta_end.F 2017-10-10 19:49:27 +0000
1821+++ Src/siesta_end.F 2018-06-28 08:26:38 +0000
1822@@ -38,6 +38,13 @@
1823 ! NP, new mixing
1824 use m_mixing_scf, only : mixers_scf_reset
1825 USE siesta_options, only : isolve, SOLVE_CHESS
1826+
1827+ use kpoint_scf_m, only: reset_kpoint_scf
1828+ use kpoint_dos_m, only: reset_kpoint_dos
1829+ use kpoint_pdos_m, only: reset_kpoint_pdos
1830+ use kpoint_ldos_m, only: reset_kpoint_ldos
1831+ use ts_kpoint_scf_m, only: reset_ts_kpoint_scf
1832+
1833 #ifdef SIESTA__CHESS
1834 use m_chess, only: CheSS_finalize
1835 #endif
1836@@ -81,6 +88,16 @@
1837 call resetRhog()
1838 call mixers_scf_reset()
1839
1840+ call reset_kpoint_ldos()
1841+ call reset_kpoint_pdos()
1842+ ! This *must* be called after LDOS+PDOS since
1843+ ! they may be associated with DOS
1844+ call reset_kpoint_dos()
1845+ ! This *must* be called before SCF since
1846+ ! they may be associated with SCF
1847+ call reset_ts_kpoint_scf()
1848+ call reset_kpoint_scf()
1849+
1850 ! Clean diagonalization
1851 call diag_exit()
1852
1853@@ -116,6 +133,7 @@
1854
1855 ! Print final date and time
1856 if (IOnode) then
1857+ write(*,*) ! Newline
1858 call timestamp('End of run')
1859 call wallclock('End of run')
1860 ! Ensure clock file is closed
1861
1862=== modified file 'Src/siesta_init.F'
1863--- Src/siesta_init.F 2018-06-26 13:02:38 +0000
1864+++ Src/siesta_init.F 2018-06-28 08:26:38 +0000
1865@@ -12,9 +12,10 @@
1866 CONTAINS
1867
1868 subroutine siesta_init()
1869- use kpoint_scf_m, only: setup_kpoint_scf, kpoints_scf
1870+ use kpoint_scf_m, only: setup_kpoint_scf, kpoint_scf
1871 use kpoint_scf_m, only: gamma_scf
1872 use kpoint_pdos_m, only: gamma_pdos
1873+ use kpoint_ldos_m, only: gamma_ldos
1874 use Band, only: gamma_bands, setup_bands
1875 use m_ksvinit, only: gamma_polarization,
1876 & estimate_pol_kpoints
1877@@ -60,6 +61,7 @@
1878 use m_eo
1879 use m_fixed, only: init_fixed, print_fixed
1880 use m_ioxv, only: xv_file_read
1881+ use m_local_DOS, only: init_local_DOS
1882 use m_projected_DOS, only: init_projected_DOS
1883 use writewave, only: gamma_wavefunctions,
1884 & setup_wf_kpoints
1885@@ -586,11 +588,18 @@
1886
1887 ! Call initialisation of PDOS here since we need to check if
1888 ! the auxiliary supercell is needed for a non-gamma calculation
1889- call init_projected_DOS( )
1890+ call init_projected_DOS( ucell )
1891 if ( do_pdos ) then
1892 not_using_auxcell = not_using_auxcell.and. gamma_pdos
1893 endif
1894
1895+! Call initialisation of LDOS here since we need to check if
1896+! the auxiliary supercell is needed for a non-gamma calculation
1897+ call init_local_DOS( ucell )
1898+ if ( do_ldos ) then
1899+ not_using_auxcell = not_using_auxcell .and. gamma_ldos
1900+ endif
1901+
1902 ! Read in diagonalization routines
1903 ! Note that only the sampled BZ is responsible for
1904 ! ParallelOverK option, the remaning options are
1905@@ -599,9 +608,9 @@
1906 call print_diag()
1907
1908 nullify(eo,qo)
1909- call re_alloc(eo, 1, no_u, 1, spin%spinor, 1, kpoints_scf%N, 'eo',
1910+ call re_alloc(eo, 1, no_u, 1, spin%spinor, 1, kpoint_scf%N, 'eo',
1911 & 'siesta_init')
1912- call re_alloc(qo, 1, no_u, 1, spin%spinor, 1, kpoints_scf%N, 'qo',
1913+ call re_alloc(qo, 1, no_u, 1, spin%spinor, 1, kpoint_scf%N, 'qo',
1914 & 'siesta_init')
1915
1916 call setup_bands( )
1917
1918=== modified file 'Src/siesta_options.F90'
1919--- Src/siesta_options.F90 2018-06-26 13:02:38 +0000
1920+++ Src/siesta_options.F90 2018-06-28 08:26:38 +0000
1921@@ -99,6 +99,7 @@
1922 logical :: writic ! Write the initial atomic ccordinates?
1923 logical :: varcel ! Change unit cell during relaxation or dynamics?
1924 logical :: do_pdos ! Compute the projected density of states?
1925+ logical :: do_ldos ! Compute the local density of states?
1926 logical :: write_tshs_history ! Write the MD track of Hamiltonian and overlap matrices in transiesta format
1927 logical :: write_hs_history ! Write the MD track of Hamiltonian and overlap matrices
1928 logical :: writedm ! Write file with density matrix?
1929
1930=== modified file 'Src/siesta_tddft.F90'
1931--- Src/siesta_tddft.F90 2018-06-26 13:02:38 +0000
1932+++ Src/siesta_tddft.F90 2018-06-28 08:26:38 +0000
1933@@ -34,7 +34,7 @@
1934 use m_energies, only: Etot ! Total energy
1935 use atomlist, only: no_s, no_l, no_u, indxuo
1936 use m_spin, only: nspin
1937- use kpoint_scf_m, only: kpoints_scf
1938+ use kpoint_scf_m, only: kpoint_scf
1939
1940 use m_compute_energies, only: compute_energies
1941 use m_state_analysis, only: state_analysis
1942@@ -113,8 +113,8 @@
1943 ! ms_scalapack_setup. Which is now implicit in changebasis.
1944
1945 if ( istep == 1 ) then
1946- allocate(wavef_ms(kpoints_scf%N,nspin))
1947- call iowavef('read',wavef_ms,no_u,kpoints_scf%N,nspin)
1948+ allocate(wavef_ms(kpoint_scf%N,nspin))
1949+ call iowavef('read',wavef_ms,no_u,kpoint_scf%N,nspin)
1950 IF (IONode) THEN
1951 write(6,'(a)') 'Computing DM from initial KS wavefunctions'
1952 END IF
1953@@ -126,7 +126,7 @@
1954 ! The wavefunctions are saved after transforming into the current basis
1955 ! but before evolving them to future.This keeps the wavefunctions
1956 ! concurrent with atomic position.
1957- if(fincoor .gt. 1) call iowavef('write',wavef_ms,no_u,kpoints_scf%N,nspin)
1958+ if(fincoor .gt. 1) call iowavef('write',wavef_ms,no_u,kpoint_scf%N,nspin)
1959 end if
1960
1961 do itded = 1 , ntded ! TDED loop
1962@@ -141,7 +141,7 @@
1963
1964 if (tdsavewf) then
1965 if (fincoor .eq. 1 .and. itded .eq. ntded) then
1966- call iowavef('write',wavef_ms,no_u,kpoints_scf%N,nspin)
1967+ call iowavef('write',wavef_ms,no_u,kpoint_scf%N,nspin)
1968 endif
1969 end if
1970
1971@@ -154,7 +154,7 @@
1972
1973 call compute_energies (itded)
1974 call write_tddft(totime, istep, itded, ntded, rstart_time, &
1975- etot, eo, no_u,nspin,kpoints_scf%N)
1976+ etot, eo, no_u,nspin,kpoint_scf%N)
1977
1978 end do ! TDED loop
1979 call compute_tdEdm (Escf)
1980
1981=== modified file 'Src/state_init.F'
1982--- Src/state_init.F 2018-06-26 13:02:38 +0000
1983+++ Src/state_init.F 2018-06-28 08:26:38 +0000
1984@@ -13,8 +13,8 @@
1985 CONTAINS
1986
1987 subroutine state_init( istep )
1988- use kpoint_scf_m, only: setup_kpoint_scf, kpoints_scf
1989- use kpoint_scf_m, only: gamma_scf
1990+ use kpoint_scf_m, only: setup_kpoint_scf
1991+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
1992 use kpoint_t_m, only: kpoint_delete, kpoint_nullify
1993
1994 use m_os, only: file_exist
1995@@ -80,7 +80,7 @@
1996 use sys, only: message, die
1997 use m_sparse, only : xij_offset
1998
1999- use ts_kpoint_scf_m, only: setup_ts_kpoint_scf, ts_kpoints_scf
2000+ use ts_kpoint_scf_m, only: setup_ts_kpoint_scf, ts_kpoint_scf
2001 use m_ts_charge, only : TS_RHOCORR_METHOD, TS_RHOCORR_FERMI
2002 use m_ts_options, only : BTD_method
2003 use m_ts_options, only : TS_Analyze
2004@@ -265,19 +265,19 @@
2005 & (istep.ne.inicoor) .and. (.not.gamma_scf) ) then
2006
2007 ! Will print k-points also
2008- call kpoint_delete(kpoints_scf)
2009+ call kpoint_delete(kpoint_scf)
2010 call setup_kpoint_scf( ucell )
2011
2012 if ( TSmode ) then
2013- call kpoint_delete( ts_kpoints_scf )
2014+ call kpoint_delete( ts_kpoint_scf )
2015 else
2016- call kpoint_nullify( ts_kpoints_scf )
2017+ call kpoint_nullify( ts_kpoint_scf )
2018 end if
2019- call setup_ts_kpoint_scf( ucell, kpoints_scf )
2020+ call setup_ts_kpoint_scf( ucell, kpoint_scf )
2021
2022- call re_alloc( eo, 1, no_u, 1, spin%spinor, 1, kpoints_scf%N,
2023+ call re_alloc( eo, 1, no_u, 1, spin%spinor, 1, kpoint_scf%N,
2024 & 'eo', 'state_init')
2025- call re_alloc( qo, 1, no_u, 1, spin%spinor, 1, kpoints_scf%N,
2026+ call re_alloc( qo, 1, no_u, 1, spin%spinor, 1, kpoint_scf%N,
2027 & 'qo', 'state_init' )
2028
2029 ! Find required supercell
2030
2031=== modified file 'Src/ts_init.F90'
2032--- Src/ts_init.F90 2018-05-25 11:12:14 +0000
2033+++ Src/ts_init.F90 2018-06-28 08:26:38 +0000
2034@@ -36,9 +36,9 @@
2035 use m_ts_gf, only : do_Green, do_Green_Fermi
2036 use m_ts_electrode, only : init_Electrode_HS
2037
2038- use kpoint_scf_m, only : kpoints_scf
2039+ use kpoint_scf_m, only : kpoint_scf
2040 use ts_kpoint_scf_m, only : setup_ts_kpoint_scf
2041- use ts_kpoint_scf_m, only : ts_kpoints_scf, ts_Gamma_scf
2042+ use ts_kpoint_scf_m, only : ts_kpoint_scf, ts_Gamma_scf
2043 use m_ts_cctype
2044 use m_ts_electype
2045 use m_ts_options ! Just everything (easier)
2046@@ -91,11 +91,11 @@
2047 call read_ts_elec( ucell, na_u, xa, lasto )
2048
2049 ! Read in the k-points
2050- call setup_ts_kpoint_scf( ucell, kpoints_scf )
2051+ call setup_ts_kpoint_scf( ucell, kpoint_scf )
2052
2053 ! Read after electrode stuff
2054 call read_ts_after_Elec( ucell, nspin, na_u, xa, lasto, &
2055- ts_kpoints_scf%k_cell, ts_kpoints_scf%k_displ)
2056+ ts_kpoint_scf%k_cell, ts_kpoint_scf%k_displ)
2057
2058 ! Print the options
2059 call print_ts_options( ucell )
2060@@ -188,13 +188,13 @@
2061 call init_Electrode_HS(Elecs(i))
2062
2063 call do_Green(Elecs(i), &
2064- ucell,ts_kpoints_scf%N,ts_kpoints_scf%k,ts_kpoints_scf%w, &
2065+ ucell,ts_kpoint_scf%N,ts_kpoint_scf%k,ts_kpoint_scf%w, &
2066 Elecs_xa_Eps, .false. )
2067
2068 if ( TS_RHOCORR_METHOD == TS_RHOCORR_FERMI ) then
2069
2070 call do_Green_Fermi(mean_kT, Elecs(i), &
2071- ucell,ts_kpoints_scf%N,ts_kpoints_scf%k,ts_kpoints_scf%w, &
2072+ ucell,ts_kpoint_scf%N,ts_kpoint_scf%k,ts_kpoint_scf%w, &
2073 Elecs_xa_Eps, .false. )
2074
2075 end if
2076
2077=== modified file 'Src/ts_kpoint_scf.F90'
2078--- Src/ts_kpoint_scf.F90 2018-05-25 11:12:14 +0000
2079+++ Src/ts_kpoint_scf.F90 2018-06-28 08:26:38 +0000
2080@@ -19,55 +19,69 @@
2081 implicit none
2082
2083 public :: setup_ts_kpoint_scf
2084- public :: ts_kpoints_scf
2085- public :: ts_gamma_scf
2086+ public :: reset_ts_kpoint_scf
2087+ public :: ts_kpoint_scf
2088+ public :: ts_gamma_SCF
2089
2090 private
2091
2092- logical, save :: ts_gamma_scf
2093- type(kpoint_t), save :: ts_kpoints_scf
2094+ logical, save :: ts_gamma_SCF
2095+ type(kpoint_t), save :: ts_kpoint_scf
2096
2097 contains
2098
2099- subroutine setup_ts_kpoint_scf( ucell, kpoints_scf )
2100+ subroutine setup_ts_kpoint_scf( ucell, kpoint_scf )
2101 use parallel, only: Node
2102 use siesta_options, only: writek
2103 use m_spin, only: TrSym
2104 use m_ts_global_vars, only : TSmode
2105
2106 real(dp), intent(in) :: ucell(3,3)
2107- type(kpoint_t), intent(in) :: kpoints_scf
2108-
2109- call kpoint_read(ts_kpoints_scf, 'TS', ucell, TrSym, process_k_cell=process_k_cell_displ)
2110-
2111- if ( ts_kpoints_scf%method == K_METHOD_NONE ) then
2112-
2113- call kpoint_delete(ts_kpoints_scf)
2114+ type(kpoint_t), intent(in) :: kpoint_scf
2115+
2116+ call kpoint_read(ts_kpoint_scf, 'TS', ucell, TrSym, process_k_cell=process_k_cell_displ)
2117+
2118+ if ( ts_kpoint_scf%method == K_METHOD_NONE ) then
2119+
2120+ call kpoint_delete(ts_kpoint_scf)
2121
2122 if ( TSmode ) then
2123 ! The user hasn't specified anything.
2124 ! This means that we will use the default setting from siesta
2125- call kpoint_read(ts_kpoints_scf, '', ucell, TrSym, process_k_cell=process_k_cell_displ)
2126+ call kpoint_read(ts_kpoint_scf, '', ucell, TrSym, process_k_cell=process_k_cell_displ)
2127 else
2128 ! To limit memory usage for very high number of k-points
2129- call kpoint_associate(ts_kpoints_scf, kpoints_scf)
2130+ call kpoint_associate(ts_kpoint_scf, kpoint_scf)
2131 end if
2132
2133 end if
2134
2135- ts_gamma_scf = (ts_kpoints_scf%N == 1 .and. &
2136- dot_product(ts_kpoints_scf%k(:,1),ts_kpoints_scf%k(:,1)) < 1.0e-20_dp)
2137+ ts_gamma_SCF = (ts_kpoint_scf%N == 1 .and. &
2138+ dot_product(ts_kpoint_scf%k(:,1),ts_kpoint_scf%k(:,1)) < 1.0e-20_dp)
2139
2140 ! Quick-return if non-IO or not a transiesta run
2141 if ( .not. TSmode ) return
2142 if ( Node /= 0 ) return
2143
2144- call kpoint_write_stdout(ts_kpoints_scf, writek, 'transiesta')
2145- call kpoint_write_xml(ts_kpoints_scf, 'TS')
2146- call kpoint_write_file(ts_kpoints_scf, 'TS.KP')
2147+ call kpoint_write_stdout(ts_kpoint_scf, writek, 'transiesta')
2148+ call kpoint_write_xml(ts_kpoint_scf, 'TS')
2149+ call kpoint_write_file(ts_kpoint_scf, 'TS.KP')
2150
2151 end subroutine setup_ts_kpoint_scf
2152
2153+ subroutine reset_ts_kpoint_scf()
2154+ use kpoint_scf_m, only: kpoint_scf
2155+
2156+ if ( kpoint_associated(ts_kpoint_scf, kpoint_scf) ) then
2157+ call kpoint_nullify(ts_kpoint_scf)
2158+ else
2159+ call kpoint_delete(ts_kpoint_scf)
2160+ end if
2161+ ts_gamma_SCF = .true.
2162+
2163+ end subroutine reset_ts_kpoint_scf
2164+
2165+
2166 subroutine process_k_cell_displ(k_cell, k_displ)
2167 use m_ts_global_vars, only : TSmode
2168 use m_ts_tdir, only: ts_tidx
2169
2170=== modified file 'Src/wavefunctions.F90'
2171--- Src/wavefunctions.F90 2018-06-26 13:02:38 +0000
2172+++ Src/wavefunctions.F90 2018-06-28 08:26:38 +0000
2173@@ -166,7 +166,7 @@
2174 !***********************************
2175 use sparse_matrices, only: numh, maxnh, listh, listhptr, &
2176 xijo
2177- use kpoint_scf_m, only: kpoints_scf, gamma_scf
2178+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
2179 use atomlist, only: no_l, no_u, indxuo
2180 use m_spin, only: nspin
2181 integer :: ispin, nuo, nuotot
2182@@ -185,9 +185,9 @@
2183 #endif
2184 Dnew(1:maxnh,1:nspin) = 0.0_dp
2185 call m_allocate(Daux,no_u,no_u,m_storage)
2186- Do ik = 1, kpoints_scf%N
2187+ Do ik = 1, kpoint_scf%N
2188 Do ispin =1, nspin
2189- wk = 2.00_dp*kpoints_scf%w(ik)/dble(nspin)
2190+ wk = 2.00_dp*kpoint_scf%w(ik)/dble(nspin)
2191 ! Calculating density matrix using MatrixSwitch.
2192 call mm_multiply(wavef_ms(ik,ispin),'n',wavef_ms(ik,ispin),'c',Daux, &
2193 cmplx(wk,0.0_dp,dp),cmplx(0.0_dp,0.0_dp,dp),m_operation)
2194@@ -198,9 +198,9 @@
2195 juo = listh(ind)
2196 jo = indxuo(juo)
2197 IF (.NOT. gamma_scf) THEN
2198- kxij = kpoints_scf%k(1,ik) * xijo(1,ind) + &
2199- kpoints_scf%k(2,ik) * xijo(2,ind) + &
2200- kpoints_scf%k(3,ik) * xijo(3,ind)
2201+ kxij = kpoint_scf%k(1,ik) * xijo(1,ind) + &
2202+ kpoint_scf%k(2,ik) * xijo(2,ind) + &
2203+ kpoint_scf%k(3,ik) * xijo(3,ind)
2204 ckxij = cos(kxij)
2205 skxij = -sin(kxij)
2206 ELSE
2207@@ -231,7 +231,7 @@
2208 use parallelsubs, only: LocalToGlobalOrb
2209 use sparse_matrices, only: numh, maxnh, listh, listhptr, xijo
2210 use sparse_matrices, only: H, S
2211- use kpoint_scf_m, only: kpoints_scf, gamma_scf
2212+ use kpoint_scf_m, only: kpoint_scf, gamma_scf
2213 use atomlist, only: no_l, no_u, indxuo
2214 use m_spin, only: nspin
2215 use MatrixSwitch
2216@@ -259,9 +259,9 @@
2217 Enew(1:maxnh,1:nspin) = 0.0_dp
2218 call m_allocate(S_1,no_u,no_u,m_storage)
2219 call m_allocate(Eaux,no_u,no_u,m_storage)
2220- Do ik=1,kpoints_scf%N
2221+ Do ik=1,kpoint_scf%N
2222 Do ispin=1,nspin
2223- wk = 2.00_dp*kpoints_scf%w(ik)/dble(nspin)
2224+ wk = 2.00_dp*kpoint_scf%w(ik)/dble(nspin)
2225 nocc = wavef_ms(ik,ispin)%dim2
2226 call m_allocate(psi,nocc,no_u,m_storage)
2227 call m_allocate (Hauxms,no_u, no_u, m_storage)
2228@@ -273,8 +273,8 @@
2229 juo = listh(ind)
2230 jo = indxuo(juo)
2231 if( .not. gamma_scf ) then
2232- kxij = kpoints_scf%k(1,ik)*xijo(1,ind) + kpoints_scf%k(2,ik)*xijo(2,ind) + &
2233- kpoints_scf%k(3,ik)*xijo(3,ind)
2234+ kxij = kpoint_scf%k(1,ik)*xijo(1,ind) + kpoint_scf%k(2,ik)*xijo(2,ind) + &
2235+ kpoint_scf%k(3,ik)*xijo(3,ind)
2236 ckxij = cos(kxij)
2237 skxij = -sin(kxij)
2238 else
2239@@ -306,9 +306,9 @@
2240 juo = listh(ind)
2241 jo = indxuo(juo)
2242 IF (.NOT. gamma_scf) THEN
2243- kxij = kpoints_scf%k(1,ik) * xijo(1,ind) + &
2244- kpoints_scf%k(2,ik) * xijo(2,ind) + &
2245- kpoints_scf%k(3,ik) * xijo(3,ind)
2246+ kxij = kpoint_scf%k(1,ik) * xijo(1,ind) + &
2247+ kpoint_scf%k(2,ik) * xijo(2,ind) + &
2248+ kpoint_scf%k(3,ik) * xijo(3,ind)
2249 ckxij = cos(kxij)
2250 skxij = -sin(kxij)
2251 ELSE
2252
2253=== modified file 'Src/writewave.F'
2254--- Src/writewave.F 2018-06-26 13:02:38 +0000
2255+++ Src/writewave.F 2018-06-28 08:26:38 +0000
2256@@ -660,7 +660,7 @@
2257 use parallel, only : Node, Nodes
2258 use parallelsubs, only : GlobalToLocalOrb, WhichNodeOrb
2259 use units, only : eV
2260- use kpoint_scf_m, only: kpoints_scf
2261+ use kpoint_scf_m, only: kpoint_scf
2262
2263 #ifdef MPI
2264 use mpi_siesta
2265@@ -739,7 +739,7 @@
2266 $ // "wavefunction coefficients from WFSX file"
2267 endif
2268 if (scf_set) then
2269- kpoint_weight = kpoints_scf%w(ik)
2270+ kpoint_weight = kpoint_scf%w(ik)
2271 else
2272 kpoint_weight = 1.0_dp
2273 endif
2274
2275=== modified file 'Util/COOP/Makefile'
2276--- Util/COOP/Makefile 2018-06-26 13:02:38 +0000
2277+++ Util/COOP/Makefile 2018-06-28 08:26:38 +0000
2278@@ -238,14 +238,6 @@
2279 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2280 fft.o: precision.o
2281 fft1d.o: local_sys.o parallel.o precision.o
2282-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2283-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2284-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2285-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2286-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2287-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2288-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2289-final.old.o: ts_kpoint_scf.o units.o
2290 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2291 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2292 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2293@@ -307,7 +299,11 @@
2294 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2295 kinefsm.o: precision.o
2296 kpoint_convert.o: local_sys.o precision.o units.o
2297-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2298+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2299+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2300+kpoint_ldos.o: siesta_options.o
2301+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2302+kpoint_pdos.o: siesta_options.o
2303 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2304 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2305 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2306@@ -321,9 +317,10 @@
2307 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2308 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2309 listsc.o: alloc.o
2310-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2311-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2312-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2313+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2314+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2315+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2316+local_DOS.o: sparse_matrices.o units.o
2317 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2318 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2319 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2320@@ -364,7 +361,7 @@
2321 m_getopts.o: f2kcli.o
2322 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2323 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2324-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2325+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2326 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2327 m_hartree_add.o: parallel.o precision.o units.o
2328 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2329@@ -667,8 +664,6 @@
2330 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2331 obc.o: alloc.o precision.o
2332 ofc.o: alloc.o files.o precision.o units.o
2333-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2334-old.o: precision.o
2335 on_subs.o: alloc.o onmod.o onmod.o
2336 onmod.o: precision.o
2337 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2338@@ -709,7 +704,7 @@
2339 print_spin.o: siesta_cml.o sparse_matrices.o
2340 printmatrix.o: alloc.o
2341 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
2342-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
2343+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
2344 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
2345 propor.o: local_sys.o precision.o
2346 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
2347@@ -793,10 +788,12 @@
2348 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
2349 siesta_dicts.o: siesta_options.o
2350 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
2351-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2352+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
2353+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2354 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
2355 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
2356 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
2357+siesta_end.o: ts_kpoint_scf.o
2358 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
2359 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
2360 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
2361@@ -814,15 +811,15 @@
2362 siesta_geom.o: precision.o
2363 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
2364 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
2365-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
2366-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
2367-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
2368-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
2369-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
2370-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
2371-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
2372-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
2373-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
2374+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
2375+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
2376+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
2377+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
2378+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
2379+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
2380+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
2381+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
2382+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
2383 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
2384 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
2385 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
2386@@ -877,8 +874,8 @@
2387 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
2388 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
2389 ts_init.o: ts_kpoint_scf.o
2390-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
2391-ts_kpoint_scf.o: precision.o siesta_options.o
2392+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
2393+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
2394 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
2395 ts_show_regions.o: precision.o units.o
2396 typecell.o: precision.o
2397@@ -980,6 +977,8 @@
2398 diagmemory.o: memoryinfo.o
2399 f90sockets.o: fsockets.o
2400 fsiesta.o: fsiesta_sockets.o
2401+kpoint_dos_m.o: kpoint_dos.o
2402+kpoint_ldos_m.o: kpoint_ldos.o
2403 kpoint_pdos_m.o: kpoint_pdos.o
2404 kpoint_scf_m.o: kpoint_scf.o
2405 kpoint_t_m.o: kpoint_t.o
2406
2407=== modified file 'Util/Denchar/Src/Makefile'
2408--- Util/Denchar/Src/Makefile 2018-06-26 13:02:38 +0000
2409+++ Util/Denchar/Src/Makefile 2018-06-28 08:26:38 +0000
2410@@ -312,14 +312,6 @@
2411 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2412 fft.o: precision.o
2413 fft1d.o: local_sys.o parallel.o precision.o
2414-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2415-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2416-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2417-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2418-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2419-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2420-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2421-final.old.o: ts_kpoint_scf.o units.o
2422 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2423 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2424 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2425@@ -381,7 +373,11 @@
2426 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2427 kinefsm.o: precision.o
2428 kpoint_convert.o: local_sys.o precision.o units.o
2429-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2430+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2431+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2432+kpoint_ldos.o: siesta_options.o
2433+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2434+kpoint_pdos.o: siesta_options.o
2435 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2436 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2437 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2438@@ -395,9 +391,10 @@
2439 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2440 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2441 listsc.o: alloc.o
2442-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2443-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2444-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2445+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2446+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2447+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2448+local_DOS.o: sparse_matrices.o units.o
2449 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2450 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2451 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2452@@ -438,7 +435,7 @@
2453 m_getopts.o: f2kcli.o
2454 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2455 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2456-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2457+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2458 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2459 m_hartree_add.o: parallel.o precision.o units.o
2460 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2461@@ -741,8 +738,6 @@
2462 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2463 obc.o: alloc.o precision.o
2464 ofc.o: alloc.o files.o precision.o units.o
2465-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2466-old.o: precision.o
2467 on_subs.o: alloc.o onmod.o onmod.o
2468 onmod.o: precision.o
2469 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2470@@ -783,7 +778,7 @@
2471 print_spin.o: siesta_cml.o sparse_matrices.o
2472 printmatrix.o: alloc.o
2473 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
2474-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
2475+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
2476 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
2477 propor.o: local_sys.o precision.o
2478 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
2479@@ -867,10 +862,12 @@
2480 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
2481 siesta_dicts.o: siesta_options.o
2482 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
2483-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2484+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
2485+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2486 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
2487 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
2488 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
2489+siesta_end.o: ts_kpoint_scf.o
2490 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
2491 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
2492 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
2493@@ -888,15 +885,15 @@
2494 siesta_geom.o: precision.o
2495 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
2496 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
2497-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
2498-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
2499-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
2500-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
2501-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
2502-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
2503-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
2504-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
2505-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
2506+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
2507+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
2508+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
2509+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
2510+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
2511+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
2512+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
2513+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
2514+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
2515 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
2516 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
2517 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
2518@@ -951,8 +948,8 @@
2519 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
2520 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
2521 ts_init.o: ts_kpoint_scf.o
2522-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
2523-ts_kpoint_scf.o: precision.o siesta_options.o
2524+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
2525+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
2526 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
2527 ts_show_regions.o: precision.o units.o
2528 typecell.o: precision.o
2529@@ -1059,6 +1056,8 @@
2530 diagmemory.o: memoryinfo.o
2531 f90sockets.o: fsockets.o
2532 fsiesta.o: fsiesta_sockets.o
2533+kpoint_dos_m.o: kpoint_dos.o
2534+kpoint_ldos_m.o: kpoint_ldos.o
2535 kpoint_pdos_m.o: kpoint_pdos.o
2536 kpoint_scf_m.o: kpoint_scf.o
2537 kpoint_t_m.o: kpoint_t.o
2538
2539=== modified file 'Util/Gen-basis/Makefile'
2540--- Util/Gen-basis/Makefile 2018-06-26 13:02:38 +0000
2541+++ Util/Gen-basis/Makefile 2018-06-28 08:26:38 +0000
2542@@ -302,14 +302,6 @@
2543 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2544 fft.o: precision.o
2545 fft1d.o: local_sys.o parallel.o precision.o
2546-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2547-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2548-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2549-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2550-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2551-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2552-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2553-final.old.o: ts_kpoint_scf.o units.o
2554 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2555 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2556 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2557@@ -371,7 +363,11 @@
2558 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2559 kinefsm.o: precision.o
2560 kpoint_convert.o: local_sys.o precision.o units.o
2561-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2562+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2563+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2564+kpoint_ldos.o: siesta_options.o
2565+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2566+kpoint_pdos.o: siesta_options.o
2567 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2568 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2569 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2570@@ -385,9 +381,10 @@
2571 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2572 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2573 listsc.o: alloc.o
2574-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2575-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2576-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2577+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2578+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2579+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2580+local_DOS.o: sparse_matrices.o units.o
2581 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2582 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2583 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2584@@ -428,7 +425,7 @@
2585 m_getopts.o: f2kcli.o
2586 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2587 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2588-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2589+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2590 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2591 m_hartree_add.o: parallel.o precision.o units.o
2592 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2593@@ -731,8 +728,6 @@
2594 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2595 obc.o: alloc.o precision.o
2596 ofc.o: alloc.o files.o precision.o units.o
2597-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2598-old.o: precision.o
2599 on_subs.o: alloc.o onmod.o onmod.o
2600 onmod.o: precision.o
2601 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2602@@ -773,7 +768,7 @@
2603 print_spin.o: siesta_cml.o sparse_matrices.o
2604 printmatrix.o: alloc.o
2605 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
2606-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
2607+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
2608 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
2609 propor.o: local_sys.o precision.o
2610 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
2611@@ -857,10 +852,12 @@
2612 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
2613 siesta_dicts.o: siesta_options.o
2614 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
2615-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2616+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
2617+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2618 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
2619 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
2620 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
2621+siesta_end.o: ts_kpoint_scf.o
2622 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
2623 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
2624 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
2625@@ -878,15 +875,15 @@
2626 siesta_geom.o: precision.o
2627 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
2628 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
2629-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
2630-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
2631-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
2632-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
2633-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
2634-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
2635-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
2636-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
2637-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
2638+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
2639+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
2640+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
2641+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
2642+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
2643+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
2644+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
2645+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
2646+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
2647 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
2648 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
2649 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
2650@@ -941,8 +938,8 @@
2651 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
2652 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
2653 ts_init.o: ts_kpoint_scf.o
2654-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
2655-ts_kpoint_scf.o: precision.o siesta_options.o
2656+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
2657+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
2658 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
2659 ts_show_regions.o: precision.o units.o
2660 typecell.o: precision.o
2661@@ -1034,6 +1031,8 @@
2662 diagmemory.o: memoryinfo.o
2663 f90sockets.o: fsockets.o
2664 fsiesta.o: fsiesta_sockets.o
2665+kpoint_dos_m.o: kpoint_dos.o
2666+kpoint_ldos_m.o: kpoint_ldos.o
2667 kpoint_pdos_m.o: kpoint_pdos.o
2668 kpoint_scf_m.o: kpoint_scf.o
2669 kpoint_t_m.o: kpoint_t.o
2670
2671=== modified file 'Util/Grimme/Makefile'
2672--- Util/Grimme/Makefile 2018-06-26 13:02:38 +0000
2673+++ Util/Grimme/Makefile 2018-06-28 08:26:38 +0000
2674@@ -240,14 +240,6 @@
2675 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2676 fft.o: precision.o
2677 fft1d.o: local_sys.o parallel.o precision.o
2678-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2679-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2680-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2681-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2682-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2683-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2684-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2685-final.old.o: ts_kpoint_scf.o units.o
2686 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2687 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2688 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2689@@ -309,7 +301,11 @@
2690 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2691 kinefsm.o: precision.o
2692 kpoint_convert.o: local_sys.o precision.o units.o
2693-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2694+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2695+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2696+kpoint_ldos.o: siesta_options.o
2697+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2698+kpoint_pdos.o: siesta_options.o
2699 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2700 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2701 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2702@@ -323,9 +319,10 @@
2703 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2704 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2705 listsc.o: alloc.o
2706-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2707-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2708-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2709+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2710+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2711+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2712+local_DOS.o: sparse_matrices.o units.o
2713 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2714 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2715 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2716@@ -366,7 +363,7 @@
2717 m_getopts.o: f2kcli.o
2718 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2719 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2720-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2721+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2722 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2723 m_hartree_add.o: parallel.o precision.o units.o
2724 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2725@@ -669,8 +666,6 @@
2726 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2727 obc.o: alloc.o precision.o
2728 ofc.o: alloc.o files.o precision.o units.o
2729-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2730-old.o: precision.o
2731 on_subs.o: alloc.o onmod.o onmod.o
2732 onmod.o: precision.o
2733 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2734@@ -711,7 +706,7 @@
2735 print_spin.o: siesta_cml.o sparse_matrices.o
2736 printmatrix.o: alloc.o
2737 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
2738-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
2739+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
2740 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
2741 propor.o: local_sys.o precision.o
2742 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
2743@@ -795,10 +790,12 @@
2744 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
2745 siesta_dicts.o: siesta_options.o
2746 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
2747-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2748+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
2749+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2750 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
2751 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
2752 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
2753+siesta_end.o: ts_kpoint_scf.o
2754 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
2755 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
2756 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
2757@@ -816,15 +813,15 @@
2758 siesta_geom.o: precision.o
2759 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
2760 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
2761-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
2762-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
2763-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
2764-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
2765-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
2766-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
2767-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
2768-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
2769-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
2770+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
2771+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
2772+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
2773+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
2774+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
2775+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
2776+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
2777+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
2778+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
2779 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
2780 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
2781 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
2782@@ -879,8 +876,8 @@
2783 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
2784 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
2785 ts_init.o: ts_kpoint_scf.o
2786-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
2787-ts_kpoint_scf.o: precision.o siesta_options.o
2788+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
2789+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
2790 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
2791 ts_show_regions.o: precision.o units.o
2792 typecell.o: precision.o
2793@@ -970,6 +967,8 @@
2794 diagmemory.o: memoryinfo.o
2795 f90sockets.o: fsockets.o
2796 fsiesta.o: fsiesta_sockets.o
2797+kpoint_dos_m.o: kpoint_dos.o
2798+kpoint_ldos_m.o: kpoint_ldos.o
2799 kpoint_pdos_m.o: kpoint_pdos.o
2800 kpoint_scf_m.o: kpoint_scf.o
2801 kpoint_t_m.o: kpoint_t.o
2802
2803=== modified file 'Util/Helpers/Makefile'
2804--- Util/Helpers/Makefile 2018-06-26 13:02:38 +0000
2805+++ Util/Helpers/Makefile 2018-06-28 08:26:38 +0000
2806@@ -243,14 +243,6 @@
2807 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2808 fft.o: precision.o
2809 fft1d.o: local_sys.o parallel.o precision.o
2810-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2811-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2812-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2813-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2814-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2815-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2816-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2817-final.old.o: ts_kpoint_scf.o units.o
2818 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2819 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2820 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2821@@ -312,7 +304,11 @@
2822 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2823 kinefsm.o: precision.o
2824 kpoint_convert.o: local_sys.o precision.o units.o
2825-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2826+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2827+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2828+kpoint_ldos.o: siesta_options.o
2829+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2830+kpoint_pdos.o: siesta_options.o
2831 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2832 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2833 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2834@@ -326,9 +322,10 @@
2835 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2836 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2837 listsc.o: alloc.o
2838-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2839-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2840-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2841+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2842+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2843+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2844+local_DOS.o: sparse_matrices.o units.o
2845 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2846 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2847 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2848@@ -369,7 +366,7 @@
2849 m_getopts.o: f2kcli.o
2850 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2851 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2852-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2853+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2854 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2855 m_hartree_add.o: parallel.o precision.o units.o
2856 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2857@@ -672,8 +669,6 @@
2858 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2859 obc.o: alloc.o precision.o
2860 ofc.o: alloc.o files.o precision.o units.o
2861-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2862-old.o: precision.o
2863 on_subs.o: alloc.o onmod.o onmod.o
2864 onmod.o: precision.o
2865 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2866@@ -714,7 +709,7 @@
2867 print_spin.o: siesta_cml.o sparse_matrices.o
2868 printmatrix.o: alloc.o
2869 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
2870-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
2871+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
2872 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
2873 propor.o: local_sys.o precision.o
2874 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
2875@@ -798,10 +793,12 @@
2876 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
2877 siesta_dicts.o: siesta_options.o
2878 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
2879-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2880+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
2881+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
2882 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
2883 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
2884 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
2885+siesta_end.o: ts_kpoint_scf.o
2886 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
2887 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
2888 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
2889@@ -819,15 +816,15 @@
2890 siesta_geom.o: precision.o
2891 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
2892 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
2893-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
2894-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
2895-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
2896-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
2897-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
2898-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
2899-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
2900-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
2901-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
2902+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
2903+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
2904+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
2905+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
2906+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
2907+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
2908+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
2909+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
2910+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
2911 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
2912 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
2913 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
2914@@ -882,8 +879,8 @@
2915 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
2916 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
2917 ts_init.o: ts_kpoint_scf.o
2918-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
2919-ts_kpoint_scf.o: precision.o siesta_options.o
2920+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
2921+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
2922 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
2923 ts_show_regions.o: precision.o units.o
2924 typecell.o: precision.o
2925@@ -973,6 +970,8 @@
2926 diagmemory.o: memoryinfo.o
2927 f90sockets.o: fsockets.o
2928 fsiesta.o: fsiesta_sockets.o
2929+kpoint_dos_m.o: kpoint_dos.o
2930+kpoint_ldos_m.o: kpoint_ldos.o
2931 kpoint_pdos_m.o: kpoint_pdos.o
2932 kpoint_scf_m.o: kpoint_scf.o
2933 kpoint_t_m.o: kpoint_t.o
2934
2935=== modified file 'Util/STM/ol-stm/Src/Makefile'
2936--- Util/STM/ol-stm/Src/Makefile 2018-06-26 13:02:38 +0000
2937+++ Util/STM/ol-stm/Src/Makefile 2018-06-28 08:26:38 +0000
2938@@ -325,14 +325,6 @@
2939 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
2940 fft.o: precision.o
2941 fft1d.o: local_sys.o parallel.o precision.o
2942-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2943-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
2944-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
2945-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
2946-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
2947-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
2948-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
2949-final.old.o: ts_kpoint_scf.o units.o
2950 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
2951 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
2952 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
2953@@ -394,7 +386,11 @@
2954 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2955 kinefsm.o: precision.o
2956 kpoint_convert.o: local_sys.o precision.o units.o
2957-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2958+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2959+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2960+kpoint_ldos.o: siesta_options.o
2961+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
2962+kpoint_pdos.o: siesta_options.o
2963 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
2964 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
2965 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
2966@@ -408,9 +404,10 @@
2967 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
2968 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
2969 listsc.o: alloc.o
2970-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
2971-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
2972-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
2973+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
2974+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
2975+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
2976+local_DOS.o: sparse_matrices.o units.o
2977 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
2978 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
2979 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
2980@@ -451,7 +448,7 @@
2981 m_getopts.o: f2kcli.o
2982 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
2983 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
2984-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
2985+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
2986 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
2987 m_hartree_add.o: parallel.o precision.o units.o
2988 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
2989@@ -754,8 +751,6 @@
2990 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
2991 obc.o: alloc.o precision.o
2992 ofc.o: alloc.o files.o precision.o units.o
2993-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
2994-old.o: precision.o
2995 on_subs.o: alloc.o onmod.o onmod.o
2996 onmod.o: precision.o
2997 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
2998@@ -796,7 +791,7 @@
2999 print_spin.o: siesta_cml.o sparse_matrices.o
3000 printmatrix.o: alloc.o
3001 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3002-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3003+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3004 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3005 propor.o: local_sys.o precision.o
3006 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3007@@ -880,10 +875,12 @@
3008 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3009 siesta_dicts.o: siesta_options.o
3010 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3011-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3012+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3013+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3014 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3015 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3016 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3017+siesta_end.o: ts_kpoint_scf.o
3018 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3019 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3020 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3021@@ -901,15 +898,15 @@
3022 siesta_geom.o: precision.o
3023 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3024 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3025-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3026-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3027-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3028-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3029-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3030-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3031-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3032-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3033-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3034+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3035+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3036+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3037+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3038+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3039+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3040+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3041+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3042+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3043 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3044 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3045 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3046@@ -964,8 +961,8 @@
3047 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3048 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3049 ts_init.o: ts_kpoint_scf.o
3050-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3051-ts_kpoint_scf.o: precision.o siesta_options.o
3052+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3053+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3054 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3055 ts_show_regions.o: precision.o units.o
3056 typecell.o: precision.o
3057@@ -1060,6 +1057,8 @@
3058 diagmemory.o: memoryinfo.o
3059 f90sockets.o: fsockets.o
3060 fsiesta.o: fsiesta_sockets.o
3061+kpoint_dos_m.o: kpoint_dos.o
3062+kpoint_ldos_m.o: kpoint_ldos.o
3063 kpoint_pdos_m.o: kpoint_pdos.o
3064 kpoint_scf_m.o: kpoint_scf.o
3065 kpoint_t_m.o: kpoint_t.o
3066
3067=== modified file 'Util/SpPivot/Makefile'
3068--- Util/SpPivot/Makefile 2018-06-26 13:02:38 +0000
3069+++ Util/SpPivot/Makefile 2018-06-28 08:26:38 +0000
3070@@ -254,14 +254,6 @@
3071 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
3072 fft.o: precision.o
3073 fft1d.o: local_sys.o parallel.o precision.o
3074-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3075-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
3076-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
3077-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
3078-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
3079-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
3080-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
3081-final.old.o: ts_kpoint_scf.o units.o
3082 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3083 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
3084 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
3085@@ -323,7 +315,11 @@
3086 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3087 kinefsm.o: precision.o
3088 kpoint_convert.o: local_sys.o precision.o units.o
3089-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3090+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3091+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3092+kpoint_ldos.o: siesta_options.o
3093+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3094+kpoint_pdos.o: siesta_options.o
3095 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3096 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
3097 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
3098@@ -337,9 +333,10 @@
3099 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
3100 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
3101 listsc.o: alloc.o
3102-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
3103-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
3104-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
3105+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
3106+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
3107+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
3108+local_DOS.o: sparse_matrices.o units.o
3109 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
3110 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
3111 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
3112@@ -380,7 +377,7 @@
3113 m_getopts.o: f2kcli.o
3114 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
3115 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
3116-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
3117+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
3118 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
3119 m_hartree_add.o: parallel.o precision.o units.o
3120 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
3121@@ -683,8 +680,6 @@
3122 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
3123 obc.o: alloc.o precision.o
3124 ofc.o: alloc.o files.o precision.o units.o
3125-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3126-old.o: precision.o
3127 on_subs.o: alloc.o onmod.o onmod.o
3128 onmod.o: precision.o
3129 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
3130@@ -725,7 +720,7 @@
3131 print_spin.o: siesta_cml.o sparse_matrices.o
3132 printmatrix.o: alloc.o
3133 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3134-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3135+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3136 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3137 propor.o: local_sys.o precision.o
3138 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3139@@ -809,10 +804,12 @@
3140 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3141 siesta_dicts.o: siesta_options.o
3142 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3143-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3144+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3145+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3146 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3147 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3148 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3149+siesta_end.o: ts_kpoint_scf.o
3150 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3151 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3152 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3153@@ -830,15 +827,15 @@
3154 siesta_geom.o: precision.o
3155 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3156 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3157-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3158-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3159-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3160-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3161-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3162-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3163-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3164-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3165-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3166+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3167+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3168+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3169+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3170+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3171+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3172+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3173+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3174+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3175 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3176 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3177 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3178@@ -893,8 +890,8 @@
3179 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3180 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3181 ts_init.o: ts_kpoint_scf.o
3182-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3183-ts_kpoint_scf.o: precision.o siesta_options.o
3184+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3185+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3186 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3187 ts_show_regions.o: precision.o units.o
3188 typecell.o: precision.o
3189@@ -986,6 +983,8 @@
3190 diagmemory.o: memoryinfo.o
3191 f90sockets.o: fsockets.o
3192 fsiesta.o: fsiesta_sockets.o
3193+kpoint_dos_m.o: kpoint_dos.o
3194+kpoint_ldos_m.o: kpoint_ldos.o
3195 kpoint_pdos_m.o: kpoint_pdos.o
3196 kpoint_scf_m.o: kpoint_scf.o
3197 kpoint_t_m.o: kpoint_t.o
3198
3199=== modified file 'Util/TS/TBtrans/Makefile'
3200--- Util/TS/TBtrans/Makefile 2018-06-26 13:02:38 +0000
3201+++ Util/TS/TBtrans/Makefile 2018-06-28 08:26:38 +0000
3202@@ -512,14 +512,6 @@
3203 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
3204 fft.o: precision.o
3205 fft1d.o: local_sys.o parallel.o precision.o
3206-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3207-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
3208-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
3209-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
3210-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
3211-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
3212-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
3213-final.old.o: ts_kpoint_scf.o units.o
3214 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3215 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
3216 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
3217@@ -581,7 +573,11 @@
3218 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3219 kinefsm.o: precision.o
3220 kpoint_convert.o: local_sys.o precision.o units.o
3221-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3222+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3223+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3224+kpoint_ldos.o: siesta_options.o
3225+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3226+kpoint_pdos.o: siesta_options.o
3227 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3228 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
3229 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
3230@@ -595,9 +591,10 @@
3231 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
3232 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
3233 listsc.o: alloc.o
3234-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
3235-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
3236-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
3237+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
3238+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
3239+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
3240+local_DOS.o: sparse_matrices.o units.o
3241 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
3242 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
3243 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
3244@@ -638,7 +635,7 @@
3245 m_getopts.o: f2kcli.o
3246 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
3247 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
3248-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
3249+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
3250 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
3251 m_hartree_add.o: parallel.o precision.o units.o
3252 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
3253@@ -941,8 +938,6 @@
3254 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
3255 obc.o: alloc.o precision.o
3256 ofc.o: alloc.o files.o precision.o units.o
3257-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3258-old.o: precision.o
3259 on_subs.o: alloc.o onmod.o onmod.o
3260 onmod.o: precision.o
3261 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
3262@@ -983,7 +978,7 @@
3263 print_spin.o: siesta_cml.o sparse_matrices.o
3264 printmatrix.o: alloc.o
3265 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3266-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3267+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3268 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3269 propor.o: local_sys.o precision.o
3270 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3271@@ -1067,10 +1062,12 @@
3272 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3273 siesta_dicts.o: siesta_options.o
3274 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3275-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3276+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3277+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3278 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3279 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3280 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3281+siesta_end.o: ts_kpoint_scf.o
3282 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3283 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3284 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3285@@ -1088,15 +1085,15 @@
3286 siesta_geom.o: precision.o
3287 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3288 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3289-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3290-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3291-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3292-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3293-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3294-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3295-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3296-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3297-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3298+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3299+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3300+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3301+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3302+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3303+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3304+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3305+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3306+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3307 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3308 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3309 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3310@@ -1151,8 +1148,8 @@
3311 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3312 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3313 ts_init.o: ts_kpoint_scf.o
3314-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3315-ts_kpoint_scf.o: precision.o siesta_options.o
3316+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3317+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3318 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3319 ts_show_regions.o: precision.o units.o
3320 typecell.o: precision.o
3321@@ -1332,6 +1329,8 @@
3322 diagmemory.o: memoryinfo.o
3323 f90sockets.o: fsockets.o
3324 fsiesta.o: fsiesta_sockets.o
3325+kpoint_dos_m.o: kpoint_dos.o
3326+kpoint_ldos_m.o: kpoint_ldos.o
3327 kpoint_pdos_m.o: kpoint_pdos.o
3328 kpoint_scf_m.o: kpoint_scf.o
3329 kpoint_t_m.o: kpoint_t.o
3330
3331=== modified file 'Util/TS/ts2ts/Makefile'
3332--- Util/TS/ts2ts/Makefile 2018-06-26 13:02:38 +0000
3333+++ Util/TS/ts2ts/Makefile 2018-06-28 08:26:38 +0000
3334@@ -247,14 +247,6 @@
3335 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
3336 fft.o: precision.o
3337 fft1d.o: local_sys.o parallel.o precision.o
3338-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3339-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
3340-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
3341-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
3342-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
3343-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
3344-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
3345-final.old.o: ts_kpoint_scf.o units.o
3346 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3347 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
3348 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
3349@@ -316,7 +308,11 @@
3350 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3351 kinefsm.o: precision.o
3352 kpoint_convert.o: local_sys.o precision.o units.o
3353-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3354+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3355+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3356+kpoint_ldos.o: siesta_options.o
3357+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3358+kpoint_pdos.o: siesta_options.o
3359 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3360 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
3361 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
3362@@ -330,9 +326,10 @@
3363 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
3364 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
3365 listsc.o: alloc.o
3366-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
3367-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
3368-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
3369+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
3370+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
3371+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
3372+local_DOS.o: sparse_matrices.o units.o
3373 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
3374 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
3375 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
3376@@ -373,7 +370,7 @@
3377 m_getopts.o: f2kcli.o
3378 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
3379 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
3380-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
3381+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
3382 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
3383 m_hartree_add.o: parallel.o precision.o units.o
3384 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
3385@@ -676,8 +673,6 @@
3386 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
3387 obc.o: alloc.o precision.o
3388 ofc.o: alloc.o files.o precision.o units.o
3389-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3390-old.o: precision.o
3391 on_subs.o: alloc.o onmod.o onmod.o
3392 onmod.o: precision.o
3393 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
3394@@ -718,7 +713,7 @@
3395 print_spin.o: siesta_cml.o sparse_matrices.o
3396 printmatrix.o: alloc.o
3397 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3398-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3399+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3400 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3401 propor.o: local_sys.o precision.o
3402 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3403@@ -802,10 +797,12 @@
3404 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3405 siesta_dicts.o: siesta_options.o
3406 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3407-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3408+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3409+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3410 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3411 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3412 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3413+siesta_end.o: ts_kpoint_scf.o
3414 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3415 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3416 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3417@@ -823,15 +820,15 @@
3418 siesta_geom.o: precision.o
3419 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3420 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3421-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3422-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3423-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3424-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3425-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3426-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3427-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3428-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3429-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3430+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3431+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3432+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3433+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3434+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3435+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3436+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3437+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3438+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3439 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3440 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3441 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3442@@ -886,8 +883,8 @@
3443 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3444 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3445 ts_init.o: ts_kpoint_scf.o
3446-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3447-ts_kpoint_scf.o: precision.o siesta_options.o
3448+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3449+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3450 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3451 ts_show_regions.o: precision.o units.o
3452 typecell.o: precision.o
3453@@ -977,6 +974,8 @@
3454 diagmemory.o: memoryinfo.o
3455 f90sockets.o: fsockets.o
3456 fsiesta.o: fsiesta_sockets.o
3457+kpoint_dos_m.o: kpoint_dos.o
3458+kpoint_ldos_m.o: kpoint_ldos.o
3459 kpoint_pdos_m.o: kpoint_pdos.o
3460 kpoint_scf_m.o: kpoint_scf.o
3461 kpoint_t_m.o: kpoint_t.o
3462
3463=== modified file 'Util/TS/tshs2tshs/Makefile'
3464--- Util/TS/tshs2tshs/Makefile 2018-06-26 13:02:38 +0000
3465+++ Util/TS/tshs2tshs/Makefile 2018-06-28 08:26:38 +0000
3466@@ -315,14 +315,6 @@
3467 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
3468 fft.o: precision.o
3469 fft1d.o: local_sys.o parallel.o precision.o
3470-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3471-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
3472-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
3473-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
3474-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
3475-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
3476-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
3477-final.old.o: ts_kpoint_scf.o units.o
3478 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3479 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
3480 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
3481@@ -384,7 +376,11 @@
3482 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3483 kinefsm.o: precision.o
3484 kpoint_convert.o: local_sys.o precision.o units.o
3485-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3486+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3487+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3488+kpoint_ldos.o: siesta_options.o
3489+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3490+kpoint_pdos.o: siesta_options.o
3491 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3492 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
3493 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
3494@@ -398,9 +394,10 @@
3495 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
3496 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
3497 listsc.o: alloc.o
3498-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
3499-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
3500-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
3501+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
3502+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
3503+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
3504+local_DOS.o: sparse_matrices.o units.o
3505 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
3506 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
3507 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
3508@@ -441,7 +438,7 @@
3509 m_getopts.o: f2kcli.o
3510 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
3511 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
3512-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
3513+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
3514 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
3515 m_hartree_add.o: parallel.o precision.o units.o
3516 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
3517@@ -744,8 +741,6 @@
3518 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
3519 obc.o: alloc.o precision.o
3520 ofc.o: alloc.o files.o precision.o units.o
3521-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3522-old.o: precision.o
3523 on_subs.o: alloc.o onmod.o onmod.o
3524 onmod.o: precision.o
3525 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
3526@@ -786,7 +781,7 @@
3527 print_spin.o: siesta_cml.o sparse_matrices.o
3528 printmatrix.o: alloc.o
3529 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3530-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3531+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3532 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3533 propor.o: local_sys.o precision.o
3534 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3535@@ -870,10 +865,12 @@
3536 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3537 siesta_dicts.o: siesta_options.o
3538 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3539-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3540+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3541+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3542 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3543 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3544 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3545+siesta_end.o: ts_kpoint_scf.o
3546 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3547 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3548 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3549@@ -891,15 +888,15 @@
3550 siesta_geom.o: precision.o
3551 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3552 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3553-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3554-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3555-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3556-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3557-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3558-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3559-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3560-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3561-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3562+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3563+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3564+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3565+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3566+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3567+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3568+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3569+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3570+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3571 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3572 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3573 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3574@@ -954,8 +951,8 @@
3575 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3576 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3577 ts_init.o: ts_kpoint_scf.o
3578-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3579-ts_kpoint_scf.o: precision.o siesta_options.o
3580+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3581+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3582 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3583 ts_show_regions.o: precision.o units.o
3584 typecell.o: precision.o
3585@@ -1048,6 +1045,8 @@
3586 diagmemory.o: memoryinfo.o
3587 f90sockets.o: fsockets.o
3588 fsiesta.o: fsiesta_sockets.o
3589+kpoint_dos_m.o: kpoint_dos.o
3590+kpoint_ldos_m.o: kpoint_ldos.o
3591 kpoint_pdos_m.o: kpoint_pdos.o
3592 kpoint_scf_m.o: kpoint_scf.o
3593 kpoint_t_m.o: kpoint_t.o
3594
3595=== modified file 'Util/VCA/Makefile'
3596--- Util/VCA/Makefile 2018-06-26 13:02:38 +0000
3597+++ Util/VCA/Makefile 2018-06-28 08:26:38 +0000
3598@@ -273,14 +273,6 @@
3599 fft.o: alloc.o fft1d.o local_sys.o m_timer.o mesh.o parallel.o parallelsubs.o
3600 fft.o: precision.o
3601 fft1d.o: local_sys.o parallel.o precision.o
3602-final.old.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3603-final.old.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o ldau.o
3604-final.old.o: ldau_specs.o local_sys.o m_dipol.o m_energies.o m_forces.o m_hsx.o
3605-final.old.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
3606-final.old.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_options.o metaforce.o
3607-final.old.o: molecularmechanics.o naefs.o nlefsm.o overfsm.o parallel.o
3608-final.old.o: siesta_geom.o siesta_options.o sparse_matrices.o spinorbit.o
3609-final.old.o: ts_kpoint_scf.o units.o
3610 final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o class_SpData2D.o
3611 final_H_f_stress.o: compute_max_diff.o dnaefs.o files.o grdsam.o kinefsm.o
3612 final_H_f_stress.o: ldau.o ldau_specs.o local_sys.o m_dipol.o m_energies.o
3613@@ -342,7 +334,11 @@
3614 kinefsm.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3615 kinefsm.o: precision.o
3616 kpoint_convert.o: local_sys.o precision.o units.o
3617-kpoint_pdos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3618+kpoint_dos.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3619+kpoint_ldos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3620+kpoint_ldos.o: siesta_options.o
3621+kpoint_pdos.o: kpoint_dos.o kpoint_t.o m_spin.o parallel.o precision.o
3622+kpoint_pdos.o: siesta_options.o
3623 kpoint_scf.o: kpoint_t.o m_spin.o parallel.o precision.o siesta_options.o
3624 kpoint_t.o: alloc.o files.o find_kgrid.o m_char.o m_io.o m_os.o minvec.o
3625 kpoint_t.o: parallel.o precision.o siesta_cml.o units.o
3626@@ -356,9 +352,10 @@
3627 ldau_specs.o: basis_specs.o basis_types.o interpolation.o local_sys.o m_cite.o
3628 ldau_specs.o: parallel.o precision.o pseudopotential.o radial.o units.o
3629 listsc.o: alloc.o
3630-local_DOS.o: atomlist.o dhscf.o diagon.o files.o kpoint_scf.o local_sys.o
3631-local_DOS.o: m_energies.o m_eo.o m_forces.o m_ntm.o m_spin.o parallel.o
3632-local_DOS.o: siesta_geom.o siesta_options.o sparse_matrices.o
3633+local_DOS.o: alloc.o atomlist.o dhscf.o diagon.o files.o kpoint_ldos.o
3634+local_DOS.o: kpoint_scf.o local_sys.o m_energies.o m_eo.o m_forces.o m_ntm.o
3635+local_DOS.o: m_spin.o parallel.o precision.o siesta_geom.o siesta_options.o
3636+local_DOS.o: sparse_matrices.o units.o
3637 m_broyddj.o: alloc.o local_sys.o m_mpi_utils.o parallel.o precision.o
3638 m_broyddj_nocomm.o: alloc.o local_sys.o parallel.o precision.o
3639 m_broyden_mixing.o: alloc.o m_broyddj.o m_mpi_utils.o parallel.o precision.o
3640@@ -399,7 +396,7 @@
3641 m_getopts.o: f2kcli.o
3642 m_handle_sparse.o: class_OrbitalDistribution.o class_SpData1D.o
3643 m_handle_sparse.o: class_SpData2D.o class_Sparsity.o geom_helper.o m_iodm.o
3644-m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o
3645+m_handle_sparse.o: m_os.o m_ts_io.o parallel.o precision.o units.o
3646 m_hartree_add.o: intrinsic_missing.o m_cite.o m_geom_objects.o m_mesh_node.o
3647 m_hartree_add.o: parallel.o precision.o units.o
3648 m_hs_matrix.o: alloc.o cellsubs.o geom_helper.o local_sys.o precision.o
3649@@ -702,8 +699,6 @@
3650 normalize_dm.o: precision.o siesta_options.o sparse_matrices.o
3651 obc.o: alloc.o precision.o
3652 ofc.o: alloc.o files.o precision.o units.o
3653-old.o: alloc.o atmfuncs.o mneighb.o new_matel.o parallel.o parallelsubs.o
3654-old.o: precision.o
3655 on_subs.o: alloc.o onmod.o onmod.o
3656 onmod.o: precision.o
3657 optical.o: alloc.o atomlist.o densematrix.o fermid.o files.o local_sys.o
3658@@ -744,7 +739,7 @@
3659 print_spin.o: siesta_cml.o sparse_matrices.o
3660 printmatrix.o: alloc.o
3661 projected_DOS.o: alloc.o atomlist.o kpoint_pdos.o kpoint_scf.o local_sys.o
3662-projected_DOS.o: m_eo.o m_spin.o parallel.o precision.o siesta_geom.o
3663+projected_DOS.o: m_energies.o m_eo.o m_spin.o parallel.o precision.o
3664 projected_DOS.o: siesta_options.o sparse_matrices.o units.o
3665 propor.o: local_sys.o precision.o
3666 proximity_check.o: chemical.o m_ts_global_vars.o mneighb.o parallel.o
3667@@ -828,10 +823,12 @@
3668 siesta_dicts.o: m_mixing_scf.o m_steps.o m_stress.o precision.o siesta_geom.o
3669 siesta_dicts.o: siesta_options.o
3670 siesta_end.o: alloc.o bands.o densematrix.o diag.o extrae_eventllist.o
3671-siesta_end.o: flook_siesta.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3672+siesta_end.o: flook_siesta.o kpoint_dos.o kpoint_ldos.o kpoint_pdos.o
3673+siesta_end.o: kpoint_scf.o m_chess.o m_dscfcomm.o m_fixed.o m_io.o
3674 siesta_end.o: m_mixing_scf.o m_rhog.o m_wallclock.o meshdscf.o meshphi.o
3675 siesta_end.o: moremeshsubs.o parallel.o siesta_cml.o siesta_cmlsubs.o
3676 siesta_end.o: siesta_master.o siesta_options.o sparse_matrices.o timestamp.o
3677+siesta_end.o: ts_kpoint_scf.o
3678 siesta_forces.o: atomlist.o class_Fstack_Data1D.o class_SpData2D.o compute_dm.o
3679 siesta_forces.o: compute_energies.o compute_max_diff.o densematrix.o
3680 siesta_forces.o: dm_charge.o files.o final_H_f_stress.o flook_siesta.o
3681@@ -849,15 +846,15 @@
3682 siesta_geom.o: precision.o
3683 siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
3684 siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o densematrix.o
3685-siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_pdos.o
3686-siesta_init.o: kpoint_scf.o ksvinit.o local_sys.o m_check_walltime.o m_cite.o
3687-siesta_init.o: m_energies.o m_eo.o m_fixed.o m_forces.o m_iostruct.o
3688-siesta_init.o: m_mpi_utils.o m_new_dm.o m_rmaxh.o m_spin.o m_steps.o
3689-siesta_init.o: m_supercell.o m_timer.o m_wallclock.o metaforce.o
3690-siesta_init.o: molecularmechanics.o object_debug.o parallel.o parallelsubs.o
3691-siesta_init.o: projected_DOS.o siesta_cmlsubs.o siesta_dicts.o siesta_geom.o
3692-siesta_init.o: siesta_options.o sparse_matrices.o struct_init.o timer.o
3693-siesta_init.o: timestamp.o ts_init.o units.o writewave.o zmatrix.o
3694+siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_ldos.o
3695+siesta_init.o: kpoint_pdos.o kpoint_scf.o ksvinit.o local_DOS.o local_sys.o
3696+siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
3697+siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
3698+siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
3699+siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
3700+siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
3701+siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
3702+siesta_init.o: timer.o timestamp.o ts_init.o units.o writewave.o zmatrix.o
3703 siesta_master.o: iopipes.o iosockets.o local_sys.o precision.o
3704 siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
3705 siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
3706@@ -912,8 +909,8 @@
3707 ts_init.o: m_ts_electrode.o m_ts_electype.o m_ts_gf.o m_ts_global_vars.o
3708 ts_init.o: m_ts_method.o m_ts_options.o parallel.o siesta_options.o
3709 ts_init.o: ts_kpoint_scf.o
3710-ts_kpoint_scf.o: kpoint_t.o m_spin.o m_ts_global_vars.o m_ts_tdir.o parallel.o
3711-ts_kpoint_scf.o: precision.o siesta_options.o
3712+ts_kpoint_scf.o: kpoint_scf.o kpoint_t.o m_spin.o m_ts_global_vars.o
3713+ts_kpoint_scf.o: m_ts_tdir.o parallel.o precision.o siesta_options.o
3714 ts_show_regions.o: m_region.o m_ts_electype.o m_ts_method.o parallel.o
3715 ts_show_regions.o: precision.o units.o
3716 typecell.o: precision.o
3717@@ -1005,6 +1002,8 @@
3718 diagmemory.o: memoryinfo.o
3719 f90sockets.o: fsockets.o
3720 fsiesta.o: fsiesta_sockets.o
3721+kpoint_dos_m.o: kpoint_dos.o
3722+kpoint_ldos_m.o: kpoint_ldos.o
3723 kpoint_pdos_m.o: kpoint_pdos.o
3724 kpoint_scf_m.o: kpoint_scf.o
3725 kpoint_t_m.o: kpoint_t.o
3726
3727=== modified file 'version.info'
3728--- version.info 2018-06-26 14:07:08 +0000
3729+++ version.info 2018-06-28 08:26:38 +0000
3730@@ -1,1 +1,1 @@
3731-trunk-708
3732+trunk-708--kpoint-dos-4

Subscribers

People subscribed via source and target branches