Merge lp:~nickpapior/siesta/4.1-ts-int into lp:siesta/4.1
- 4.1-ts-int
- Merge into rel-4.1
Status: | Merged |
---|---|
Approved by: | Nick Papior |
Approved revision: | 813 |
Merged at revision: | 833 |
Proposed branch: | lp:~nickpapior/siesta/4.1-ts-int |
Merge into: | lp:siesta/4.1 |
Diff against target: |
2824 lines (+467/-558) (has conflicts) 37 files modified
Docs/siesta.tex (+194/-150) Docs/tex/variables.tex (+4/-0) Src/Makefile (+65/-56) Src/compute_dm.F (+5/-20) Src/dhscf.F (+5/-13) Src/final_H_f_stress.F (+1/-10) Src/kpoint_grid.F90 (+1/-1) Src/m_energies.F90 (+0/-7) Src/m_ncdf_siesta.F90 (+3/-19) Src/m_new_dm.F90 (+0/-30) Src/m_ts_electype.F90 (+2/-3) Src/m_ts_hartree.F90 (+1/-1) Src/m_ts_kpoints.F90 (+31/-14) Src/m_ts_options.F90 (+10/-3) Src/proximity_check.F (+0/-6) Src/read_options.F90 (+0/-6) Src/reinit.F (+9/-4) Src/save_density_matrix.F (+37/-74) Src/siesta_dicts.F90 (+0/-6) Src/siesta_forces.F (+0/-18) Src/siesta_init.F (+0/-4) Src/siesta_options.F90 (+0/-2) Src/state_init.F (+3/-16) Src/version.F90 (+5/-3) Src/write_subs.F (+0/-16) Util/COOP/Makefile (+8/-7) Util/Denchar/Src/Makefile (+8/-7) Util/Gen-basis/Makefile (+8/-7) Util/Grimme/Makefile (+8/-7) Util/Helpers/Makefile (+8/-7) Util/STM/ol-stm/Src/Makefile (+8/-7) Util/SpPivot/Makefile (+8/-7) Util/TS/TBtrans/Makefile (+7/-6) Util/TS/ts2ts/Makefile (+8/-7) Util/TS/tshs2tshs/Makefile (+8/-7) Util/VCA/Makefile (+8/-7) version.info (+4/-0) Text conflict in Docs/siesta.tex Text conflict in Docs/tex/variables.tex Text conflict in version.info |
To merge this branch: | bzr merge lp:~nickpapior/siesta/4.1-ts-int |
Related bugs: | |
Related blueprints: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alberto Garcia | Pending | ||
Review via email: mp+334209@code.launchpad.net |
Commit message
Make transiesta an intrinsic part of siesta.
This change is merely to accomplish transiesta calculations with the siesta executable. This I think clears *many* problems with the different executables and should yield less problems in the future in regards of bug-reports because now everything is in one source (no preprocessor statements).
Description of the change
This change makes transiesta fully part of the siesta executable.
The changes are minimal because everything was prepared. The only difference is that additional transiesta options are printed and allowed for.
The main problem with this transition is that electrode calculations now have to either:
1) Set TS.HS.Save (and possibly TS.DE.Save) true to store the TSHS files.
2) Run siesta with optional flag --electrode which overwrites the internal fdf-flags as specified in 1.
I have tested the SOC_Pt2_xx example and compared 4.1 with this branch, with no differences.
I decided that this transition was appropriate for 4.1 because:
1) 4.1 already has a major difference in transiesta
2) To post-pone this transition will only confuse newcomers to the code
(My assumption is that with psml and the new N-electrode transiesta there will be at least some newcomers)
However, to make it backward compatible the transiesta executable is still enabled. When compiling this executable the *only* difference is the default values for the above mentioned flags.
Lastly, I decided that this transisito
- 813. By Nick Papior
-
Cleaned up the last details for the TS merge
Now the documentation is on par with the merging of
transiesta into siesta.
Since this superseedes the need for two executables a lot
of documentation describing the "make transiesta" stuff has
been removed.Also, fixed a few minor details in the options of transiesta.
Preview Diff
1 | === modified file 'Docs/siesta.tex' |
2 | --- Docs/siesta.tex 2017-12-22 10:33:21 +0000 |
3 | +++ Docs/siesta.tex 2017-12-28 12:43:28 +0000 |
4 | @@ -202,9 +202,9 @@ |
5 | Julian Gale (then at Imperial College, London). In 2007 Jose M. Cela |
6 | (Barcelona Supercomputing Center, BSC) became a core developer. |
7 | |
8 | -The current TranSIESTA module within SIESTA is developed by |
9 | +The current \tsiesta\ module within SIESTA is developed by |
10 | Nick R. Papior (then at Technical University of Denmark) and Mads Brandbyge. |
11 | -The original TranSIESTA module was developed by |
12 | +The original \tsiesta\ module was developed by |
13 | Pablo Ordejon and Jose L. Mozos (then at ICMAB-CSIC), and Mads Brandbyge, |
14 | Kurt Stokbro, and Jeremy Taylor (Technical Univ. of Denmark). |
15 | |
16 | @@ -347,6 +347,10 @@ |
17 | density. A new density is computed using the NEGF formalism, which closes the DFT-NEGF |
18 | self consistent cycle. |
19 | |
20 | +Starting from version 4.1, \tsiesta\ is an intrinsic part of the |
21 | +\siesta\ code. I.e. a separate executable is not necessary |
22 | +anymore. See Sec.~\ref{sec:transiesta} for details. |
23 | + |
24 | For more details on the formalism, see the main \tsiesta\ |
25 | reference cited below. A section has been added to this User's Guide, |
26 | that describes the necessary steps involved in doing transport |
27 | @@ -414,7 +418,7 @@ |
28 | Extensive review of applications as of summer 2003. |
29 | |
30 | \item |
31 | - ``Improvements on non-equilibrium and transport Green function techniques: The next-generation tranSIESTA'', |
32 | + ``Improvements on non-equilibrium and transport Green function techniques: The next-generation TranSIESTA'', |
33 | Nick Papior, Nicolas Lorente, Thomas Frederiksen, Alberto GarcĂa and |
34 | Mads Brandbyge, Computer Physics Communications, \textbf{212}, 8--24 (2017). |
35 | |
36 | @@ -433,6 +437,7 @@ |
37 | \url{http://www.uam.es/siesta}. |
38 | |
39 | \section{COMPILATION} |
40 | +\label{sec:compilation} |
41 | |
42 | \subsection{The build directory} |
43 | |
44 | @@ -1123,20 +1128,23 @@ |
45 | |
46 | \shell{siesta -out RUN.out}. |
47 | |
48 | -\end{fdfoptions} |
49 | -Additionally \tsiesta\ accepts these flags: |
50 | -\begin{fdfoptions} |
51 | + \option[-electrode|-elec]% |
52 | + \fdfdepend{TS!HS.Save,TS!DE.Save} |
53 | + denote this as an electrode calculation which forces the |
54 | + \sysfile{TSHS} and \sysfile{TSDE} files to be saved. |
55 | |
56 | \option[-V]% |
57 | - specify the bias for the current \tsiesta\ run. |
58 | + \fdfdepend{TS.Voltage} |
59 | + specify the bias for the current \tsiesta\ run. |
60 | |
61 | - \shell{transiesta -V 0.25:eV} or \shell{transiesta -V "0.25 eV"} |
62 | + \shell{siesta -V 0.25:eV} or \shell{siesta -V "0.25 eV"} |
63 | which sets the applied bias to $0.25\,\mathrm{eV}$. |
64 | |
65 | \end{fdfoptions} |
66 | |
67 | |
68 | -\section{THE FLEXIBLE DATA FORMAT (FDF)}\index{FDF} |
69 | +\section{THE FLEXIBLE DATA FORMAT (FDF)} |
70 | +\index{FDF} |
71 | |
72 | The main input file,\index{input file} |
73 | which is read as the standard input (unit 5), |
74 | @@ -10483,21 +10491,38 @@ |
75 | |
76 | |
77 | \section{TRANSIESTA} |
78 | +\label{sec:transiesta} |
79 | + |
80 | |
81 | \siesta\ includes the possibility of performing calculations of |
82 | electronic transport properties using the \tsiesta\ method. This |
83 | -Section describes how to compile the code to be able to use these |
84 | +Section describes how to use these |
85 | capabilities, and a reference guide to the relevant \fdflib\ |
86 | options. We describe here only the additional options available for |
87 | \tsiesta\ calculations, while the rest of the Siesta functionalities |
88 | and variables are described in the previous sections of this User's |
89 | Guide. |
90 | |
91 | +Starting from 4.1 \tsiesta\ is intrinsic to the \siesta\ executable |
92 | +and thus there is no need for two separate executables. |
93 | + |
94 | + |
95 | +\subsection{Source code structure} |
96 | + |
97 | +In this implementation, the \tsiesta\ routines have been grouped in a |
98 | +set of modules whose file names begin with \texttt{m\_ts} or |
99 | +\texttt{ts}. |
100 | + |
101 | +\subsection{Compilation} |
102 | + |
103 | +Simply compile \siesta\ and \tsiesta\ is enabled, see |
104 | +Sec.~\ref{sec:compilation} for details on compiling \siesta. |
105 | + |
106 | \subsection{Brief description} |
107 | |
108 | The \tsiesta\ method is a procedure to solve the electronic |
109 | structure of an open system formed by a finite structure sandwiched |
110 | -between two semi-infinite metallic leads. A finite bias can be applied |
111 | +between semi-infinite metallic leads. A finite bias can be applied |
112 | between both leads, to drive a finite current. The method is described |
113 | in detail in \cite{Brandbyge2002,Papior2017}. In practical terms, |
114 | calculations using \tsiesta\ involve the solution of the |
115 | @@ -10525,54 +10550,16 @@ |
116 | |
117 | The current \tsiesta\ module has been completely rewritten by Nick |
118 | R. Papior and encompass a highly advanced inversion algorithm as well |
119 | -as allowing $N$ electrode setups among just a few additional |
120 | -features. Furthermore, the utility \tbtrans\ has also been fully |
121 | -re-coded (by Nick R. Papior) to be a generic tight-binding code capable |
122 | -of analyzing physics from the Greens function perspective in $N\ge1$ |
123 | -setups. |
124 | - |
125 | -\subsection{Source code structure} |
126 | - |
127 | -In this implementation, the \tsiesta\ routines have been grouped in a |
128 | -set of modules whose file names begin with \texttt{m\_ts} or |
129 | -\texttt{ts}. The inclusion of \tsiesta\ has also required the |
130 | -modification of some of the \siesta\ routines. Presently, these |
131 | -modifications are controlled by pre-processor compilation directives |
132 | -(such as in \texttt{\#ifdef TRANSIESTA}). See the next section for |
133 | -compilation instructions. |
134 | - |
135 | -\subsection{Compilation} |
136 | - |
137 | -The standard \siesta\ executable (obtained as described in Section |
138 | -2) does not include the \tsiesta\ modules. In order to use the |
139 | -\tsiesta\ capabilities, you must compile the \siesta\ |
140 | -package as indicated in this Section. In this way, the compilation is |
141 | -done using the appropriate preprocessor flags needed to include the |
142 | -\tsiesta\ modules in the binary file. To generate a binary of |
143 | -\siesta\ which includes the \tsiesta\ capabilities, just |
144 | -type: |
145 | - |
146 | -\begin{verbatim} |
147 | -$ make transiesta |
148 | -\end{verbatim} |
149 | - |
150 | -using the appropriate \file{arch.make} file for your system (note that |
151 | -you do not need to make any modification on your arch.make file: you |
152 | -can use the same one that you have used to make a standard \siesta\ |
153 | -compilation in your system). The Makefile takes care of defining the |
154 | -appropriate preprocessor flag \texttt{-DTRANSIESTA} so that the |
155 | -\tsiesta\ modules and modifications are compiled and incorporated into |
156 | -the binary. Upon successful compilation, the binary file |
157 | -\program{transiesta} will be generated, containing an executable |
158 | -version of \siesta\ with \tsiesta\ capabilities. |
159 | - |
160 | - |
161 | -\subsection{Brief explanation} |
162 | +as allowing $N$ electrode setups among many new features. Furthermore, |
163 | +the utility \tbtrans\ has also been fully re-coded (by Nick R. Papior) |
164 | +to be a generic tight-binding code capable of analyzing physics from |
165 | +the Greens function perspective in $N\ge1$ setups. |
166 | + |
167 | |
168 | \begin{itemize} |
169 | \item% |
170 | Transport calculations involve \emph{electrode} (EL) calculations, |
171 | - and then the Scattering Region (SR) calculation. The |
172 | + and subsequently the Scattering Region (SR) calculation. The |
173 | \emph{electrode} calculations are usual \siesta\ calculations, but |
174 | where a file \sysfile{TSHS} is generated. These files contain the |
175 | information necessary for calculation of the self-energies. If any |
176 | @@ -10603,10 +10590,16 @@ |
177 | |
178 | \item % |
179 | When performing several bias calculations, it is heavily advised to |
180 | +<<<<<<< TREE |
181 | copy the \sysfile{TSDE} for the closest, previously, calculated |
182 | bias. In effect one starts by calculating the zero-bias case and |
183 | slowly increase the bias in reasonable steps (say $\sim |
184 | 0.1\,\mathrm{V}$). |
185 | +======= |
186 | + run different bias' in different directories. To drastically improve |
187 | + convergence (and throughput) one should copy the \sysfile{TSDE} from |
188 | + the closest, previously, calculated bias to the current bias. |
189 | +>>>>>>> MERGE-SOURCE |
190 | |
191 | \item % |
192 | The \sysfile{TSDE} may be read equivalently as the |
193 | @@ -10629,7 +10622,7 @@ |
194 | \item % |
195 | When the non-equilibrium calculation uses different electrodes one |
196 | may use so-called \emph{buffer} atoms behind the electrodes to act |
197 | - as additional screening region when calculating the initial guess |
198 | + as additional screening regions when calculating the initial guess |
199 | (using \siesta) for \tsiesta. Essentially they may be used to |
200 | achieve a better ``bulk-like'' environment at the electrodes. |
201 | |
202 | @@ -10641,12 +10634,19 @@ |
203 | contours must be \emph{well} below the lowest eigenvalue. |
204 | |
205 | \item% |
206 | +<<<<<<< TREE |
207 | \tsiesta\ assumes periodic boundary conditions in the |
208 | directions transverse to the electrodes semi-infinite |
209 | directions. If the semi-infinite directions are unique \tsiesta\ can |
210 | automatically figure out where $k$-point sampling are |
211 | allowed. However, for $N$ electrode calculations the user has to |
212 | explicitly specify the $k$-point sampling. |
213 | +======= |
214 | + \tsiesta\ assumes periodic boundary conditions in directions |
215 | + orthogonal to the electrodes semi-infinite directions. If $N>2$ |
216 | + \tsiesta\ does not assume anything and one is required to specify |
217 | + the periodicity (via $k$-points) separately. |
218 | +>>>>>>> MERGE-SOURCE |
219 | |
220 | \item% |
221 | The default algorithm for matrix inversion is the BTD method, before |
222 | @@ -10654,35 +10654,48 @@ |
223 | step \fdf{TS!Analyze}. |
224 | |
225 | \item% |
226 | +<<<<<<< TREE |
227 | When calculating transport properties it is \emph{very} important to |
228 | increase the $k$-point sampling when performing periodic system |
229 | calculations. It is thus important to converge the number of |
230 | $k$-points. |
231 | +======= |
232 | + Importantly(!) the $k$-point sampling need typically be much higher |
233 | + in a \tbtrans\ calculation to achieve a converged transmission |
234 | + function. |
235 | +>>>>>>> MERGE-SOURCE |
236 | |
237 | \end{itemize} |
238 | |
239 | \subsection{Electrodes} |
240 | |
241 | -In order to calculate the electronic structure of a system under |
242 | -external bias, \tsiesta\ attaches the system to semi-infinite |
243 | -electrodes which extend to their respective semi-infinite |
244 | -directions. Examples of electrodes would include surfaces, nanowires, |
245 | -nanotubes or even atomic chains. The electrode must be large enough |
246 | -(in the semi-infinite direction) so that orbitals within the unit cell |
247 | -only interact with a single nearest neighbor cell in the semi-infinite |
248 | -direction (the size of the unit cell can thus be derived from the |
249 | -range of support for the orbital basis functions). \tsiesta\ will warn |
250 | -if this is not enforced. The electrodes are generated by a separate |
251 | -transiesta run on a bulk system. The results are saved in a file with |
252 | -extension \sysfile{TSHS} which contains a description of the electrode |
253 | -unit cell, the position of the atoms within the unit cell, as well as |
254 | -the Hamiltonian and overlap matrices that describe the electronic |
255 | +To calculate the electronic structure of a system under external bias, |
256 | +\tsiesta\ attaches the system to semi-infinite electrodes which extend |
257 | +to their respective semi-infinite directions. Examples of electrodes |
258 | +would include surfaces, nanowires, nanotubes or even atomic |
259 | +chains. The electrode must be large enough (in the semi-infinite |
260 | +direction) so that orbitals within the unit cell only interact with a |
261 | +single nearest neighbor cell in the semi-infinite direction (the size |
262 | +of the unit cell can thus be derived from the range of support for the |
263 | +orbital basis functions). \tsiesta\ will stop if this is not |
264 | +enforced. The electrodes are generated by a separate \tsiesta\ run on |
265 | +a bulk system. The results are saved in a file with extension |
266 | +\sysfile{TSHS} which contains a description of the electrode unit |
267 | +cell, the position of the atoms within the unit cell, as well as the |
268 | +Hamiltonian and overlap matrices that describe the electronic |
269 | structure of the lead. One can generate a variety of electrodes and |
270 | -the typical use of transiesta would involve reusing the same electrode |
271 | -for several setups. At runtime, the transiesta coordinates are checked |
272 | +the typical use of \tsiesta\ would involve reusing the same electrode |
273 | +for several setups. At runtime, the \tsiesta\ coordinates are checked |
274 | against the electrode coordinates and the program stops if there is a |
275 | mismatch to a certain precision ($10^{-4}\,\mathrm{Bohr}$). |
276 | |
277 | +To run an electrode calculation one should do: |
278 | +\begin{shellexample} |
279 | + siesta --electrode RUN.fdf |
280 | +\end{shellexample} |
281 | +or define these options in the electrode fdf files: |
282 | +\fdf{TS!HS.Save:true} and \fdf{TS!DE.Save:true} (the above |
283 | +\code{--electrode} is a shorthand for setting the two options). |
284 | |
285 | \paragraph{Principal layer interactions} % |
286 | \index{transiesta!electrode!principal layer}% |
287 | @@ -10719,7 +10732,7 @@ |
288 | calculations, only the usual \siesta\ options are relevant. |
289 | % |
290 | Note that since \tsiesta\ is a generic $N$ electrode NEGF code the |
291 | -input options are heavily changed. |
292 | +input options are heavily changed compared to versions prior to 4.1. |
293 | |
294 | \subsubsection{Quick and dirty} |
295 | |
296 | @@ -10736,20 +10749,20 @@ |
297 | ts2ts OLD.fdf > NEW.fdf |
298 | \end{fdfexample} |
299 | which translates all keys to the new, equivalent, input format. If you |
300 | -are familiar with the old-style flags this is highly recommendable to |
301 | -become comfortable with the new input format. Please note that some |
302 | -defaults have changed to more conservative values in the newer |
303 | -release. |
304 | +are familiar with the old-style flags this is highly recommendable |
305 | +while becoming comfortable with the new input format. Please note that |
306 | +some defaults have changed to more conservative values in the newer |
307 | +release. |
308 | |
309 | If one does not know the old flags and wish to get a basic example of |
310 | -an input file, a program \program{Util/TS/tselecs.sh} exists that can |
311 | +an input file, a script \program{Util/TS/tselecs.sh} exists that can |
312 | create the basic input for $N$ electrodes. One may call it like: |
313 | -\begin{fdfexample} |
314 | +\begin{shellexample} |
315 | tselecs.sh -2 > TWO_ELECTRODE.fdf |
316 | tselecs.sh -3 > THREE_ELECTRODE.fdf |
317 | tselecs.sh -4 > FOUR_ELECTRODE.fdf |
318 | ... |
319 | -\end{fdfexample} |
320 | +\end{shellexample} |
321 | where the first call creates an input fdf for 2 electrode setups, the |
322 | second for a 3 electrode setup, and so on. See the help (\program{-h}) |
323 | for the program for additional options. |
324 | @@ -10757,11 +10770,11 @@ |
325 | Before endeavoring on large scale calculations you are advised to run |
326 | an analyzation of the system at hand, you may run your system as |
327 | \begin{shellexample} |
328 | - transiesta -fdf TS.Analyze RUN.fdf > analyze.out |
329 | + siesta -fdf TS.Analyze RUN.fdf > analyze.out |
330 | \end{shellexample} |
331 | which will analyze the sparsity pattern and print out several |
332 | different pivoting schemes. Please see \fdf{TS!Analyze} for additional |
333 | -information. |
334 | +information. |
335 | |
336 | |
337 | \subsubsection{General options} |
338 | @@ -10820,11 +10833,11 @@ |
339 | \fdf*{atom} line(s). |
340 | |
341 | \begin{fdfexample} |
342 | - %block TBT.Atoms.Buffer |
343 | + %block TS.Atoms.Buffer |
344 | atom [ 1 -- 5 ] |
345 | %endblock |
346 | # Or equivalently as a list |
347 | - TBT.Atoms.Buffer [1 -- 5] |
348 | + TS.Atoms.Buffer [1 -- 5] |
349 | \end{fdfexample} |
350 | will remove atoms [1--5] from the calculation. |
351 | |
352 | @@ -10841,11 +10854,12 @@ |
353 | |
354 | \begin{fdfentry}{TS!SCF.Initialize}[string]<diagon|transiesta>% |
355 | |
356 | - Control which initial guess should be used for \tsiesta. The |
357 | - general way is the \fdf*{diagon} solution method, however, one can |
358 | - start immediately in a \tsiesta\ run. If you start directly with |
359 | - \tsiesta\ please refer to these flags: \fdf{TS!Elecs!DM.Init}, |
360 | - \fdf{DM.Init.Bulk} and \fdf{TS!Fermi.Initial}. |
361 | + Control which initial guess should be used for \tsiesta. The general |
362 | + way is the \fdf*{diagon} solution method (which is preferred), |
363 | + however, one can start a \tsiesta\ run immediately. If you start |
364 | + directly with \tsiesta\ please refer to these flags: |
365 | + \fdf{TS!Elecs!DM.Init}, \fdf{DM.Init.Bulk} and |
366 | + \fdf{TS!Fermi.Initial}. |
367 | |
368 | \note Setting this to \fdf*{transiesta} is highly experimental and |
369 | convergence may be extremely poor. |
370 | @@ -10968,7 +10982,7 @@ |
371 | |
372 | Control whether the forces are calculated. If \emph{not} \tsiesta\ |
373 | will use slightly less memory and the performance slightly |
374 | - increased. |
375 | + increased, however the final forces shown are incorrect. |
376 | |
377 | \end{fdflogicalT} |
378 | |
379 | @@ -11002,8 +11016,12 @@ |
380 | cubic spline interpolation to much faster converge to the |
381 | ``correct'' Fermi level. |
382 | |
383 | +<<<<<<< TREE |
384 | This method will create a file called \file{TS\_FERMI} and works |
385 | best with the BTD algorithm. |
386 | +======= |
387 | + This method will create a file called \file{TS\_FERMI}. |
388 | +>>>>>>> MERGE-SOURCE |
389 | |
390 | \end{fdfoptions} |
391 | |
392 | @@ -11012,9 +11030,9 @@ |
393 | \begin{fdfentry}{TS!ChargeCorrection!Factor}[real]<0.75> |
394 | |
395 | Should be between $0$ and $1$ to lower the charge adjustment. $0$ |
396 | - means no charge correction. $1$ means total charge |
397 | - conservation. This will reduce the fluctuations in the SCF and |
398 | - setting this to $1$ may result in difficulties in converging. |
399 | + means no charge correction. $1$ means total charge correction. This |
400 | + will reduce the fluctuations in the SCF and setting this to $1$ may |
401 | + result in difficulties in converging. |
402 | |
403 | \end{fdfentry} |
404 | |
405 | @@ -11031,7 +11049,7 @@ |
406 | The maximally allowed value that the Fermi level will change from a |
407 | charge correction using the Fermi correction method. In case the |
408 | Fermi level lies in between two bands a DOS of $0$ at the Fermi |
409 | - level will make the Fermi change equal $\infty$. This is not |
410 | + level will make the Fermi change equal to $\infty$. This is not |
411 | physical and the user can thus truncate the correction. |
412 | |
413 | \emph{If you know the band-gab, setting this to $1/4$ (or smaller) |
414 | @@ -11042,15 +11060,24 @@ |
415 | |
416 | \begin{fdflogicalT}{TS!HS.Save} |
417 | |
418 | - Must be \fdftrue\ for saving the Hamiltonian. In almost no cases |
419 | - is this useful to redefine. |
420 | + Must be \fdftrue\ for saving the Hamiltonian (\sysfile{TSHS}). Can only be set if |
421 | + \fdf{SolutionMethod} is not \fdf*{transiesta}. |
422 | + |
423 | + The default is \fdffalse\ for \fdf{SolutionMethod} different from |
424 | + \fdf*{transiesta} and if \code{--electrode} has not been passed as a |
425 | + command line argument. |
426 | |
427 | \end{fdflogicalT} |
428 | |
429 | \begin{fdflogicalT}{TS!DE.Save} |
430 | |
431 | - Must be \fdftrue\ for saving the density matrix for continuation |
432 | - runs. If \fdffalse\ the \sysfile{TSDE} file will not be created. |
433 | + Must be \fdftrue\ for saving the density and energy density matrix |
434 | + for continuation runs (\sysfile{TSDE}). Can only be set if |
435 | + \fdf{SolutionMethod} is not \fdf*{transiesta}. |
436 | + |
437 | + The default is \fdffalse\ for \fdf{SolutionMethod} different from |
438 | + \fdf*{transiesta} and if \code{--electrode} has not been passed as a |
439 | + command line argument. |
440 | |
441 | \end{fdflogicalT} |
442 | |
443 | @@ -11066,8 +11093,11 @@ |
444 | \begin{fdflogicalF}{TS!SIESTA.Only} |
445 | |
446 | Stop \tsiesta\ right after the initial diagonalization run in |
447 | - \siesta. Upon exit it will also create the TSDE file which may be |
448 | - used for initialization runs later. |
449 | + \siesta. Upon exit it will also create the \sysfile{TSDE} file which |
450 | + may be used for initialization runs later. |
451 | + |
452 | + This is mainly intended for test runs where one wishes to start |
453 | + several calculations from the same initial density matrix. |
454 | |
455 | \end{fdflogicalF} |
456 | |
457 | @@ -11075,9 +11105,9 @@ |
458 | \begin{fdflogicalF}{TS!Analyze} |
459 | |
460 | When using the BTD solution method (\fdf{TS!SolutionMethod}) this |
461 | - will analyze the Hamiltonian and printout an analysis on the |
462 | + will analyze the Hamiltonian and printout an analysis of the |
463 | sparsity pattern for optimal choice of the BTD partitioning |
464 | - algorithm. |
465 | + algorithm. |
466 | |
467 | This yields information regarding the \fdf{TS!BTD!Pivot} flag. |
468 | |
469 | @@ -11088,7 +11118,7 @@ |
470 | |
471 | To run the analyzing step you may do: |
472 | \begin{shellexample} |
473 | - transiesta -fdf TS.Analyze RUN.fdf > analyze.out |
474 | + siesta -fdf TS.Analyze RUN.fdf > analyze.out |
475 | \end{shellexample} |
476 | note that there is little gain on using MPI and it should complete |
477 | within a few minutes, no matter the number of orbitals. |
478 | @@ -11177,7 +11207,6 @@ |
479 | electrode(s), append \fdf*{+<elec-name>} to initialize the PCG |
480 | algorithm from the specified electrode. |
481 | |
482 | - |
483 | \end{fdfoptions} |
484 | |
485 | Examples are |
486 | @@ -11257,10 +11286,10 @@ |
487 | |
488 | Define how the correction of the Poisson equation is |
489 | superimposed. The default is to apply the linear correction across |
490 | - the central region (if there are two semi-infinite aligned electrodes). |
491 | - Otherwise this defaults to the \emph{box} solution which will |
492 | - introduce spurious effects at the electrode boundaries. In this case |
493 | - you are encouraged to supply a \fdf*{file}. |
494 | + the central region (if there are two semi-infinite aligned |
495 | + electrodes). Otherwise this defaults to the \emph{box} solution |
496 | + which will introduce spurious effects at the electrode |
497 | + boundaries. In this case you are encouraged to supply a \fdf*{file}. |
498 | |
499 | If the input is a \fdf*{file}, it should be a NetCDF file containing |
500 | the grid information which acts as the boundary conditions for the |
501 | @@ -11329,7 +11358,7 @@ |
502 | For anything but two electrodes this defaults to \fdf*{elec-plane} |
503 | because the plane should be at a fixed position in the cell. |
504 | |
505 | - \note generally this shouldn't need to be changed. |
506 | + \note generally this need not be changed. |
507 | |
508 | \end{fdfentry} |
509 | |
510 | @@ -11337,20 +11366,20 @@ |
511 | |
512 | Fraction of the correction that is applied. |
513 | |
514 | - \note this is an experimental feature and shouldn't be used. |
515 | + \note this is an experimental feature! |
516 | |
517 | \end{fdfentry} |
518 | |
519 | |
520 | \subsubsection{Electrode description options} |
521 | |
522 | -As \tsiesta\ supports $N$ electrodes you need to specify all |
523 | +As \tsiesta\ supports $N$ electrodes one needs to specify all |
524 | electrodes in a generic input format. |
525 | |
526 | \begin{fdfentry}{TS!Elecs}[block] |
527 | |
528 | - Each line denote an electrode which may be queried in |
529 | - \fdf{TS!Elec.<>} for its setup. |
530 | + Each line denote an electrode which is queried in \fdf{TS!Elec.<>} |
531 | + for its setup. |
532 | |
533 | \end{fdfentry} |
534 | |
535 | @@ -11358,7 +11387,12 @@ |
536 | |
537 | Each line represents a setting for electrode \fdf*{<>}. |
538 | There are a few lines that \emph{must} be present, \fdf*{HS}, |
539 | - \fdf*{semi-inf-dir}, \fdf*{electrode-pos}, \fdf*{chem-pot}. |
540 | + \fdf*{semi-inf-dir}, \fdf*{electrode-pos}, \fdf*{chem-pot}. The |
541 | + remaining options are optional. |
542 | + |
543 | + \note Options prefixed with \fdf*{tbt} are neglected in \tsiesta\ |
544 | + calculations. In \tbtrans\ calculations these flags has precedence |
545 | + over the other options. |
546 | |
547 | \begin{fdfoptions} |
548 | |
549 | @@ -11377,9 +11411,10 @@ |
550 | The semi-infinite direction of the electrode with respect to the |
551 | electrode unit-cell. |
552 | |
553 | - \note this has nothing to do with the scattering region unit cell, |
554 | - \tsiesta\ will figure out the alignment of the electrode unit-cell |
555 | - and the scattering region unit-cell. |
556 | + \note this direction is \emph{not} with respect to the scattering |
557 | + region unit cell. It is with respect to the electrode unit |
558 | + cell. \tsiesta\ will figure out the alignment of the electrode |
559 | + unit cell and the scattering region unit-cell. |
560 | |
561 | \option[chemical-potential|chem-pot|mu]% |
562 | \fdfindex*{TS!Elec.<>!chemical-potential}% |
563 | @@ -11409,10 +11444,11 @@ |
564 | \fdfindex*{TS!Elec.<>!Bulk}% |
565 | Logical controlling whether the Hamiltonian of the electrode |
566 | region in the scattering region is enforced \emph{bulk} or whether |
567 | - the Hamiltonian is taken from the scattering region elements. |
568 | + the Hamiltonian is taken from the scattering region elements. If |
569 | |
570 | \option[DM-update]% |
571 | \fdfindex*{TS!Elec.<>!DM-Update}% |
572 | + \fdfdepend{TS!Elec.<>!Bulk}% |
573 | String of values \fdf*{none}, \fdf*{cross-terms} or \fdf*{all} |
574 | which controls which part of the electrode density matrix elements |
575 | that are updated. If \fdf*{all}, both the density matrix elements |
576 | @@ -11421,6 +11457,8 @@ |
577 | only the coupling elements between the electrode and the |
578 | scattering region are updated. |
579 | |
580 | + If \fdf{TS!Elec.<>!Bulk:false} this is forced to \fdf*{all}. |
581 | + |
582 | \option[Gf]% |
583 | \fdfindex*{TS!Elec.<>!Gf}% |
584 | String with filename of the surface Green function data. This may |
585 | @@ -11441,16 +11479,16 @@ |
586 | |
587 | \option[Eta]% |
588 | \fdfindex*{TS!Elec.<>!Eta}% |
589 | + \fdfdepend{TS!Elecs!Eta} |
590 | Control the imaginary part of the surface Green function for this |
591 | - electrode. See \fdf{TS!Elecs!Eta}. |
592 | + electrode. |
593 | |
594 | \option[Accuracy]% |
595 | \fdfindex*{TS!Elec.<>!Accuracy}% |
596 | + \fdfdepend{TS!Elecs!Accuracy} |
597 | Control the convergence accuracy required for the self-energy |
598 | calculation when using the Lopez-Sanchez, Lopez-Sanchez iterative |
599 | scheme. |
600 | - % |
601 | - See \fdf{TS!Elecs!Accuracy}. |
602 | |
603 | \note advanced use \emph{only}. |
604 | |
605 | @@ -11467,10 +11505,10 @@ |
606 | |
607 | \option[Bloch]% |
608 | \fdfindex*{TS!Elec.<>!Bloch}% |
609 | - $3$ integers are present on this line which each denote the number |
610 | - of times bigger the scattering region electrode is compared to the |
611 | - electrode, in each lattice direction. Remark that these expansion |
612 | - coefficients are with regard to the electrode unit-cell. |
613 | + $3$ integers should be present on this line which each denote the |
614 | + number of times bigger the scattering region electrode is compared |
615 | + to the electrode, in each lattice direction. Remark that these |
616 | + expansion coefficients are with regard to the electrode unit-cell. |
617 | This is denoted ``Bloch'' because it is an expansion based on |
618 | Bloch waves. |
619 | |
620 | @@ -11509,7 +11547,7 @@ |
621 | electrode $\mathbf k$ samplings are commensurate. This flag |
622 | controls whether this check is enforced. |
623 | |
624 | - \note only use if fully aware of the implications. |
625 | + \note only use if fully aware of the implications! |
626 | |
627 | \end{fdfoptions} |
628 | |
629 | @@ -11595,7 +11633,7 @@ |
630 | |
631 | \end{fdfentry} |
632 | |
633 | -\begin{fdfentry}{TS!Elecs!Coord.EPS}[length]<$10^{-4}\,\mathrm{Bohr}$> |
634 | +\begin{fdfentry}{TS!Elecs!Coord.EPS}[length]<$0.001\,\mathrm{Ang}$> |
635 | |
636 | When using Bloch expansion of the self-energies one may experience |
637 | difficulties in obtaining perfectly aligned electrode coordinates. |
638 | @@ -11619,8 +11657,8 @@ |
639 | |
640 | \begin{fdfentry}{TS!ChemPots}[block] |
641 | |
642 | - Each line denotes a new chemical potential which is |
643 | - defined in the \fdf{TS!ChemPot.<>} block. |
644 | + Each line denotes a new chemical potential which is defined in the |
645 | + \fdf{TS!ChemPot.<>} block. |
646 | |
647 | \end{fdfentry} |
648 | |
649 | @@ -11629,7 +11667,6 @@ |
650 | Each line defines a setting for the chemical potential named |
651 | \fdf*{<>}. |
652 | |
653 | - |
654 | \begin{fdfoptions} |
655 | |
656 | \option[chemical-shift|mu]% |
657 | @@ -11751,15 +11788,18 @@ |
658 | equilibrium). Fortunately the non-equilibrium contours are defined |
659 | from different chemical potentials Fermi functions, and as such this |
660 | contour is defined in the window of the minimum and maximum chemical |
661 | -potentials. |
662 | +potentials. Because the reference energy is the periodic Fermi level |
663 | +it is advised to retain the average chemical potentials equal to |
664 | +$0$. Otherwise applying different bias will shift transmission curves |
665 | +calculated via \tbtrans\ relative to the average chemical potential. |
666 | |
667 | In this section the equilibrium contours are defined, and in the next |
668 | section the non-equilibrium contours are defined. |
669 | |
670 | \begin{fdfentry}{TS!Contours!Eq.Pole}[energy]<$2.5\,\mathrm{eV}$> |
671 | |
672 | - The imaginary part of the Fermi function tail when crossing the |
673 | - Fermi level. Note that the actual number of poles may differ between |
674 | + The imaginary part of the line integral crossing the chemical |
675 | + potential. Note that the actual number of poles may differ between |
676 | different calculations where the electronic temperatures are |
677 | different. |
678 | |
679 | @@ -11770,7 +11810,7 @@ |
680 | |
681 | \begin{fdfentry}{TS!Contours!Eq.Pole.N}[integer]<8> |
682 | |
683 | - Manually select the \# of poles for the equilibrium contour. |
684 | + Manually select the number poles for the equilibrium contour. |
685 | |
686 | \note this flag will only take effect if \fdf{TS!Contours!Eq.Pole} |
687 | is a negative energy. |
688 | @@ -11806,7 +11846,7 @@ |
689 | |
690 | \option[tail]% |
691 | The final part of the contour \emph{must} be a tail which |
692 | - denotes the Fermi-tail. |
693 | + denotes the Fermi function tail. |
694 | |
695 | \end{fdfoptions} |
696 | |
697 | @@ -11816,8 +11856,12 @@ |
698 | Define the integration range on the energy axis. |
699 | Thus \emph{a} and \emph{b} are energies. |
700 | |
701 | + The parameters may also be given values \fdf*{prev}/\fdf*{next} |
702 | + which is the equivalent of specifying the same energy as the |
703 | + previous contour it is connected to. |
704 | + |
705 | \note that \emph{b} may be supplied as \fdf*{inf} for \fdf*{tail} |
706 | - parts. |
707 | + parts. |
708 | |
709 | \option[points/delta]% |
710 | \fdfindex*{TS!Contour.<>!points}% |
711 | @@ -11877,8 +11921,7 @@ |
712 | \end{fdfentry} |
713 | |
714 | These options complicate the input sequence for regular $2$ electrode |
715 | -which is unfortunate. However, it allows highly customizable contours, |
716 | -etc. |
717 | +which is unfortunate. However, it allows highly customizable contours. |
718 | |
719 | Using \program{tselecs.sh -only-c} yields this output: |
720 | \begin{fdfexample} |
721 | @@ -11911,7 +11954,7 @@ |
722 | These contour options refer to input options for the chemical |
723 | potentials as shown in Sec.~\ref{sec:ts:chem-pot} |
724 | (p.~\pageref{sec:ts:chem-pot}). Importantly one should note the shift |
725 | -of the contours of corresponding to the chemical potential (the shift |
726 | +of the contours corresponding to the chemical potential (the shift |
727 | corresponds to difference from the reference energy used in \tsiesta). |
728 | |
729 | |
730 | @@ -11924,8 +11967,8 @@ |
731 | \begin{fdfentry}{TS!Contours.nEq!Eta}[energy]<$0\,\mathrm{eV}$> |
732 | |
733 | The imaginary part ($\eta$) of the device states. Generally this is |
734 | - not necessary to define as the imaginary part arises from the |
735 | - self-energies (where $\eta>0$). |
736 | + not necessary to define as the imaginary part naturally arises from |
737 | + the self-energies (where $\eta>0$). |
738 | |
739 | \end{fdfentry} |
740 | |
741 | @@ -11979,15 +12022,15 @@ |
742 | \subsection{Matching \texorpdfstring{\tsiesta\ }{TranSIESTA} |
743 | coordinates: basic rules} |
744 | |
745 | -Having discussed the possible input options of \tsiesta\ here |
746 | -we just list a set of rules to construct the appropriate coordinates |
747 | -of the scattering region. Contrary to versions pre 4.1, the order of |
748 | +Having discussed the possible input options of \tsiesta\ here we just |
749 | +list a set of rules to construct the appropriate coordinates of the |
750 | +scattering region. Contrary to versions prior to 4.1, the order of |
751 | atoms is largely irrelevant. One may define all electrodes, then |
752 | subsequently the device, or vice versa. Similarly are buffer atoms not |
753 | restricted to be the first/last atoms. |
754 | % |
755 | -However, each electrode atoms \emph{must} be defined |
756 | -consecutively. I.e. if an electrode input option is given by: |
757 | +However, each electrode atoms \emph{must} be consecutive in the input |
758 | +file. I.e. if an electrode input option is given by: |
759 | \begin{fdfexample} |
760 | %block TS.Elec.<> |
761 | HS ../elec-<>/siesta.TSHS |
762 | @@ -11996,8 +12039,8 @@ |
763 | electrode-position 10 |
764 | %endblock |
765 | \end{fdfexample} |
766 | -then the atoms from $10$ to $21$ must coincide with the atoms of the |
767 | -calculation performed in the \program{../elec-<>/} |
768 | +then the atoms from $10$ to $10+4*3-1$ must coincide with the atoms of |
769 | +the calculation performed in the \program{../elec-<>/} |
770 | subdirectory. The Bloch expansion requires a particular sequence of |
771 | the atoms which may be outlined as in the following loop: |
772 | \begin{fdfexample} |
773 | @@ -12021,7 +12064,7 @@ |
774 | means to create this is using the \sisl\cite{sisl} program and this command |
775 | line: |
776 | \begin{fdfexample} |
777 | - sgeom -rx 1 -ry 3 -rz 1 ELEC.fdf DEVICE_ELEC.fdf |
778 | + sgeom -rz 1 -ry 3 -rx 1 ELEC.fdf DEVICE_ELEC.fdf |
779 | \end{fdfexample} |
780 | and then shift the coordinates according to the placement in the |
781 | device region. |
782 | @@ -12039,7 +12082,7 @@ |
783 | calculation. |
784 | |
785 | \item[\sysfile{TSDE}]: The \tsiesta\ density matrix and energy |
786 | - density matrix. During a transiesta run, the \sysfile{DM} values are |
787 | + density matrix. During a \tsiesta\ run, the \sysfile{DM} values are |
788 | used for the density matrix in the buffer (if used) and electrode |
789 | regions. The coupling terms may or may not be updated in a \tsiesta\ |
790 | run, see \fdf{TS!Elec.<>!DM-Update}. |
791 | @@ -12065,6 +12108,7 @@ |
792 | Please see the separate \tbtrans\ manual |
793 | (\href{run:tbtrans.pdf}{tbtrans.pdf}). |
794 | |
795 | + |
796 | \section{ANALYSIS TOOLS} |
797 | |
798 | There are a number of analysis tools and programs in the \texttt{Util} |
799 | |
800 | === modified file 'Docs/tex/variables.tex' |
801 | --- Docs/tex/variables.tex 2017-12-04 09:12:38 +0000 |
802 | +++ Docs/tex/variables.tex 2017-12-28 12:43:28 +0000 |
803 | @@ -6,8 +6,12 @@ |
804 | |
805 | \NewDocumentCommand\program{m}{\texttt{#1}} |
806 | \NewDocumentCommand\shell{m}{\texttt{#1}} |
807 | +<<<<<<< TREE |
808 | \NewDocumentCommand\code{m}{\texttt{#1}} |
809 | |
810 | +======= |
811 | +\NewDocumentCommand\code{m}{\texttt{#1}} |
812 | +>>>>>>> MERGE-SOURCE |
813 | |
814 | \NewDocumentCommand\method{m}{\textsc{#1}} |
815 | |
816 | |
817 | === modified file 'Src/Makefile' |
818 | --- Src/Makefile 2017-11-17 20:53:23 +0000 |
819 | +++ Src/Makefile 2017-12-28 12:43:28 +0000 |
820 | @@ -19,7 +19,7 @@ |
821 | AR ?= ar |
822 | RANLIB ?= ranlib |
823 | |
824 | -default: what siesta |
825 | +default: siesta |
826 | include arch.make |
827 | |
828 | # Ensure the correct implicit rules for the compilation |
829 | @@ -56,7 +56,7 @@ |
830 | IPO_FLAG?= -ipo |
831 | |
832 | |
833 | -.PHONY: .siesta .transiesta what version |
834 | +.PHONY: what version |
835 | |
836 | what: |
837 | @echo |
838 | @@ -343,16 +343,6 @@ |
839 | ldau_specs.o: $(FDF) |
840 | |
841 | |
842 | -# Create all objects |
843 | -ALL_OBJS=$(OBJS) $(SYSOBJ) $(MAIN_OBJ) |
844 | - |
845 | -# All objects require the XC library (in theory) |
846 | -# In practice they do not but it greatly simplifies the logic |
847 | -# here. |
848 | -# This will setup the correct compilation sequence as |
849 | -# WXML => XC => FDF => MPI |
850 | -$(ALL_OBJS): $(WXML) $(XC) $(COMP_LIBS) |
851 | - |
852 | # |
853 | # Linear algebra routines |
854 | # |
855 | @@ -422,29 +412,6 @@ |
856 | @mv compinfo.o version.o |
857 | @echo |
858 | |
859 | -check-siesta: |
860 | - @if [ -f .transiesta ]; then \ |
861 | - echo "** You were building transiesta in this directory." ;\ |
862 | - echo "** Please type 'make clean' first " ;\ |
863 | - false ;\ |
864 | - fi |
865 | - @touch .siesta |
866 | - |
867 | -siesta: check-siesta what version \ |
868 | - $(MPI_INTERFACE) $(FDF) $(WXML) $(XMLPARSER) $(XC) \ |
869 | - $(COMP_LIBS) $(ALL_OBJS) |
870 | - $(FC) -o siesta \ |
871 | - $(LDFLAGS) $(ALL_OBJS) $(FDF) $(WXML) $(XMLPARSER) \ |
872 | - $(XC) $(MPI_INTERFACE) \ |
873 | - $(COMP_LIBS) $(LIBS) |
874 | - |
875 | -libSiestaForces.a: $(OBJS) $(SYSOBJ) |
876 | - $(AR) $(ARFLAGS_EXTRA) cru libSiestaForces.a $(OBJS) $(SYSOBJ) |
877 | - @if [ ! -z "$(MPI_INTERFACE)" ] ; then \ |
878 | - $(AR) $(ARFLAGS_EXTRA) cru libSiestaForces.a MPI/*.o ; fi |
879 | - -$(RANLIB) libSiestaForces.a |
880 | -# |
881 | - |
882 | |
883 | #---------------------------------------------------------------------------- |
884 | # TranSIESTA objects needed for siesta |
885 | @@ -480,29 +447,69 @@ |
886 | # MUMPS method |
887 | TS_OBJS += m_ts_mumps_init.o m_ts_mumpsg.o m_ts_mumpsk.o m_ts_mumps_scat.o |
888 | |
889 | +OBJS += $(TS_OBJS) |
890 | + |
891 | +# Create all objects |
892 | +ALL_OBJS=$(OBJS) $(SYSOBJ) $(MAIN_OBJ) |
893 | + |
894 | +# All objects require the XC library (in theory) |
895 | +# In practice they do not but it greatly simplifies the logic |
896 | +# here. |
897 | +# This will setup the correct compilation sequence as |
898 | +# WXML => XC => FDF => MPI |
899 | +$(ALL_OBJS): $(WXML) $(XC) $(COMP_LIBS) |
900 | + |
901 | +# Build options |
902 | + |
903 | +libSiestaForces.a: $(OBJS) $(SYSOBJ) |
904 | + $(AR) $(ARFLAGS_EXTRA) cru libSiestaForces.a $(OBJS) $(SYSOBJ) |
905 | + @if [ ! -z "$(MPI_INTERFACE)" ] ; then \ |
906 | + $(AR) $(ARFLAGS_EXTRA) cru libSiestaForces.a MPI/*.o ; fi |
907 | + -$(RANLIB) libSiestaForces.a |
908 | + |
909 | + |
910 | +check-siesta: |
911 | + @if [ -f .transiesta ]; then \ |
912 | + echo "** You were building transiesta in this directory." ;\ |
913 | + echo "** Please type 'make clean-transiesta' first " ;\ |
914 | + false ;\ |
915 | + fi |
916 | + @touch .siesta |
917 | + |
918 | +check-transiesta: |
919 | + @if [ -f .siesta ]; then \ |
920 | + echo "** You were building siesta in this directory." ;\ |
921 | + echo "** Please type 'make clean-transiesta' first " ;\ |
922 | + false ;\ |
923 | + fi |
924 | + @touch .transiesta |
925 | + |
926 | +siesta: check-siesta what version \ |
927 | + $(MPI_INTERFACE) $(FDF) $(WXML) $(XMLPARSER) $(XC) \ |
928 | + $(COMP_LIBS) $(ALL_OBJS) |
929 | + $(FC) -o siesta \ |
930 | + $(LDFLAGS) $(ALL_OBJS) $(FDF) $(WXML) $(XMLPARSER) \ |
931 | + $(XC) $(MPI_INTERFACE) $(COMP_LIBS) $(LIBS) |
932 | + |
933 | + |
934 | +.PHONY: clean-ts clean-transiesta |
935 | +clean-ts: clean-transiesta |
936 | +clean-transiesta: |
937 | + -rm -f m_ts_options.o .siesta .transiesta |
938 | + |
939 | ts: transiesta |
940 | transiesta: FPPFLAGS += -DTRANSIESTA |
941 | -check-ts: |
942 | - @if [ -f .siesta ]; then \ |
943 | - echo "** You were building plain siesta in this directory." ;\ |
944 | - echo "** Please type 'make clean' first" ;\ |
945 | - false ;\ |
946 | - fi |
947 | - @touch .transiesta |
948 | - |
949 | -transiesta: check-ts what version \ |
950 | +transiesta: check-transiesta what version \ |
951 | $(MPI_INTERFACE) $(FDF) $(WXML) $(XMLPARSER) $(XC) \ |
952 | - $(COMP_LIBS) $(ALL_OBJS) $(TS_OBJS) |
953 | + $(COMP_LIBS) $(ALL_OBJS) |
954 | $(FC) -o transiesta \ |
955 | - $(LDFLAGS) $(ALL_OBJS) $(TS_OBJS) $(FDF) $(WXML) $(XMLPARSER) \ |
956 | - $(XC) $(MPI_INTERFACE) \ |
957 | - $(COMP_LIBS) $(LIBS) |
958 | + $(LDFLAGS) $(ALL_OBJS) $(FDF) $(WXML) $(XMLPARSER) \ |
959 | + $(XC) $(MPI_INTERFACE) $(COMP_LIBS) $(LIBS) |
960 | |
961 | |
962 | clean: |
963 | @echo "==> Cleaning object, library, and executable files" |
964 | rm -f siesta transiesta *.o *.a *.pcl *.pc |
965 | - rm -f .siesta .transiesta |
966 | rm -f *.mod |
967 | rm -f compinfo.F90 tmp.F90 |
968 | rm -f *.bck *~ |
969 | @@ -832,7 +839,7 @@ |
970 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
971 | m_matio.o: alloc.o parallel.o |
972 | m_memory.o: memoryinfo.o parallel.o sys.o |
973 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
974 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
975 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
976 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
977 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
978 | @@ -978,8 +985,9 @@ |
979 | m_ts_io_ctype.o: parallel.o precision.o units.o |
980 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
981 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
982 | -m_ts_kpoints.o: files.o find_kgrid.o m_ts_global_vars.o m_ts_tdir.o minvec.o |
983 | -m_ts_kpoints.o: parallel.o precision.o siesta_cml.o siesta_options.o sys.o |
984 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o m_ts_global_vars.o |
985 | +m_ts_kpoints.o: m_ts_tdir.o minvec.o parallel.o precision.o siesta_cml.o |
986 | +m_ts_kpoints.o: siesta_options.o sys.o |
987 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
988 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
989 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
990 | @@ -1275,10 +1283,11 @@ |
991 | state_init.o: m_mixing.o m_mixing_scf.o m_mpi_utils.o m_new_dm.o m_os.o |
992 | state_init.o: m_pivot_methods.o m_rmaxh.o m_sparse.o m_sparsity_handling.o |
993 | state_init.o: m_spin.o m_steps.o m_supercell.o m_test_io.o m_ts_charge.o |
994 | -state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_options.o |
995 | -state_init.o: m_ts_sparse.o m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
996 | -state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
997 | -state_init.o: sparse_matrices.o sys.o units.o write_subs.o zmatrix.o |
998 | +state_init.o: m_ts_electype.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o |
999 | +state_init.o: m_ts_options.o m_ts_sparse.o m_ts_tri_init.o normalize_dm.o |
1000 | +state_init.o: overlap.o parallel.o proximity_check.o siesta_cml.o siesta_geom.o |
1001 | +state_init.o: siesta_options.o sparse_matrices.o sys.o units.o write_subs.o |
1002 | +state_init.o: zmatrix.o |
1003 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
1004 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
1005 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
1006 | |
1007 | === modified file 'Src/compute_dm.F' |
1008 | --- Src/compute_dm.F 2017-08-22 15:09:30 +0000 |
1009 | +++ Src/compute_dm.F 2017-12-28 12:43:28 +0000 |
1010 | @@ -24,7 +24,7 @@ |
1011 | & qtot, no_l |
1012 | use sys, only: die, bye |
1013 | use Kpoint_grid |
1014 | - use m_energies, only: Ebs, Ecorrec, Ef, Entropy |
1015 | + use m_energies, only: Ebs, Ecorrec, Ef, Entropy, DE_NEGF |
1016 | use m_rmaxh |
1017 | use m_eo |
1018 | use m_spin, only: spin, qs, efs |
1019 | @@ -48,11 +48,8 @@ |
1020 | use m_ordern, only : ordern |
1021 | use m_steps, only : istp |
1022 | use m_normalize_dm, only : normalize_dm |
1023 | -#ifdef TRANSIESTA |
1024 | - use m_energies, only: DE_NEGF |
1025 | use m_ts_global_vars, only : TSmode, TSinit, TSrun |
1026 | use m_transiesta, only : transiesta |
1027 | -#endif /* TRANSIESTA */ |
1028 | |
1029 | implicit none |
1030 | |
1031 | @@ -208,7 +205,6 @@ |
1032 | Ecorrec = 0.0_dp |
1033 | Entropy = 0.0_dp |
1034 | PreviousCallDiagon=.false. |
1035 | -#ifdef TRANSIESTA |
1036 | elseif (TSmode .and. TSinit) then |
1037 | call diagon(no_s, spin%spinor, |
1038 | & no_l, maxnh, maxnh, no_u, |
1039 | @@ -228,7 +224,7 @@ |
1040 | |
1041 | Ecorrec = 0._dp |
1042 | Entropy = 0.0_dp |
1043 | -#endif /* TRANSIESTA */ |
1044 | + |
1045 | else |
1046 | !call die('siesta: ERROR: wrong solution method') |
1047 | endif |
1048 | @@ -258,27 +254,16 @@ |
1049 | endif |
1050 | |
1051 | ! Write orbital indexes. JMS Dec.2009 |
1052 | - |
1053 | -#ifdef TRANSIESTA |
1054 | - if (IOnode .and. iscf==1.and..not. TSrun) then |
1055 | - call write_orb_indx( na_u, na_s, no_u, no_s, isa, xa, |
1056 | - . iaorb, iphorb, indxuo, nsc, ucell ) |
1057 | - endif |
1058 | -#else |
1059 | if (IOnode .and. iscf==1) then |
1060 | call write_orb_indx( na_u, na_s, no_u, no_s, isa, xa, |
1061 | . iaorb, iphorb, indxuo, nsc, ucell ) |
1062 | endif |
1063 | -#endif |
1064 | |
1065 | ! Normalize density matrix to exact charge |
1066 | ! Placed here for now to avoid disturbing EHarris |
1067 | -#ifdef TRANSIESTA |
1068 | - if ( .not. TSrun ) call normalize_dm( first= .false. ) |
1069 | -#else |
1070 | - call normalize_dm(first=.false.) |
1071 | -#endif |
1072 | - |
1073 | + if ( .not. TSrun ) then |
1074 | + call normalize_dm( first= .false. ) |
1075 | + end if |
1076 | |
1077 | call timer( 'compute_dm', 2 ) |
1078 | #ifdef SIESTA__PEXSI |
1079 | |
1080 | === modified file 'Src/dhscf.F' |
1081 | --- Src/dhscf.F 2017-11-19 20:18:39 +0000 |
1082 | +++ Src/dhscf.F 2017-12-28 12:43:28 +0000 |
1083 | @@ -113,13 +113,12 @@ |
1084 | use m_charge_add, only: init_charge_add |
1085 | use m_hartree_add, only: init_hartree_add |
1086 | |
1087 | -#ifdef TRANSIESTA |
1088 | use m_ts_global_vars,only: TSmode |
1089 | use m_ts_tdir, only : ts_tidx |
1090 | use m_ts_options, only : IsVolt, N_Elec, Elecs |
1091 | use m_ts_voltage, only : ts_init_voltage |
1092 | use m_ts_hartree, only : ts_init_hartree_fix |
1093 | -#endif /* TRANSIESTA */ |
1094 | + |
1095 | implicit none |
1096 | integer, intent(in) :: nspin, norb, iaorb(norb), iphorb(norb), |
1097 | & nuo, nuotot, nua, na, isa(na), |
1098 | @@ -146,11 +145,9 @@ |
1099 | integer :: nXCfunc |
1100 | character(len=20) :: XCauth(10), XCfunc(10) |
1101 | #endif /* ! BSC_CELLXC */ |
1102 | -#ifdef TRANSIESTA |
1103 | ! Transport direction (unit-cell aligned) |
1104 | integer :: iE |
1105 | real(dp) :: ortho, field(3), field2(3) |
1106 | -#endif |
1107 | !--------------------------------------------------------------------- BEGIN |
1108 | #ifdef DEBUG |
1109 | call write_debug( ' PRE dhscf_init' ) |
1110 | @@ -436,7 +433,6 @@ |
1111 | if (frstme) then |
1112 | call initialize_efield() |
1113 | |
1114 | -#ifdef TRANSIESTA |
1115 | ! Check if we need to add the potential |
1116 | ! corresponding to the voltage-drop. |
1117 | if ( TSmode ) then |
1118 | @@ -551,7 +547,6 @@ |
1119 | ! calculation? |
1120 | |
1121 | end if |
1122 | -#endif /* TRANSIESTA */ |
1123 | |
1124 | end if |
1125 | |
1126 | @@ -727,12 +722,11 @@ |
1127 | use m_spin, only: spin |
1128 | use m_spin, only: Spiral, qSpiral |
1129 | |
1130 | -#ifdef TRANSIESTA |
1131 | use m_ts_global_vars,only: TSmode, TSrun |
1132 | use m_ts_options, only: IsVolt |
1133 | use m_ts_voltage, only: ts_voltage |
1134 | use m_ts_hartree, only: ts_hartree_fix |
1135 | -#endif /* TRANSIESTA */ |
1136 | + |
1137 | implicit none |
1138 | |
1139 | integer |
1140 | @@ -1314,11 +1308,11 @@ |
1141 | ! Vscf is in the UNIFORM, sequential form, and only using |
1142 | ! the first spin index |
1143 | |
1144 | -#ifdef TRANSIESTA |
1145 | ! We require that even the SIESTA potential is "fixed" |
1146 | + ! NOTE, this will only do something if |
1147 | + ! TS.Hartree.Fix is set |
1148 | call ts_hartree_fix( ntm, ntml, Vaux) |
1149 | -#endif /* TRANSIESTA */ |
1150 | - |
1151 | + |
1152 | C Add contribution to stress from electrostatic energy of rhoscf-rhoatm |
1153 | if (istr .eq. 1) then |
1154 | stressl(1:3,1:3) = stressl(1:3,1:3) + DStres(1:3,1:3) |
1155 | @@ -1396,7 +1390,6 @@ |
1156 | DUext = DUext - ddot(3,user_specified_field,1,dipol,1) |
1157 | endif |
1158 | |
1159 | -#ifdef TRANSIESTA |
1160 | ! --------------------------------------------------------------------- |
1161 | ! Transiesta: |
1162 | ! add the potential corresponding to the (possible) voltage-drop. |
1163 | @@ -1419,7 +1412,6 @@ |
1164 | call bye('transiesta debug for Hartree potential') |
1165 | #endif |
1166 | endif |
1167 | -#endif /* TRANSIESTA */ |
1168 | |
1169 | ! ---------------------------------------------------------------------- |
1170 | ! Add potential from user defined geometries (if present) |
1171 | |
1172 | === modified file 'Src/final_H_f_stress.F' |
1173 | --- Src/final_H_f_stress.F 2017-10-10 19:27:53 +0000 |
1174 | +++ Src/final_H_f_stress.F 2017-12-28 12:43:28 +0000 |
1175 | @@ -65,7 +65,6 @@ |
1176 | use m_ncdf_siesta |
1177 | #endif |
1178 | #endif |
1179 | -#ifdef TRANSIESTA |
1180 | use siesta_options, only : idyn, ia1, write_tshs_history |
1181 | use sparse_matrices, only: H_2D, S_1D |
1182 | use files, only : label_length |
1183 | @@ -73,7 +72,6 @@ |
1184 | use m_ts_options, only : TS_HS_save |
1185 | use m_ts_kpoints, only : ts_Gamma, ts_kscell, ts_kdispl |
1186 | use m_ts_io, only : ts_write_TSHS,fname_TSHS, FC_index |
1187 | -#endif /* TRANSIESTA */ |
1188 | |
1189 | #ifdef FINAL_CHECK_HS |
1190 | use m_compute_max_diff, only: compute_max_diff |
1191 | @@ -101,10 +99,8 @@ |
1192 | real(dp), pointer :: fatmp(:,:) |
1193 | real(dp) :: buffer1 |
1194 | #endif |
1195 | -#ifdef TRANSIESTA |
1196 | character(len=label_length+13) :: fname |
1197 | integer :: io_istep, io_ia1 |
1198 | -#endif |
1199 | #ifdef CDF |
1200 | #ifdef NCDF_4 |
1201 | type(dict) :: dic_save |
1202 | @@ -313,16 +309,12 @@ |
1203 | #ifdef NCDF_4 |
1204 | if ( write_cdf ) then |
1205 | dic_save = ('fa'.kv.1)//('stress'.kv.1) |
1206 | - if ( savehs ) dic_save = dic_save //('H'.kv.1) |
1207 | -#ifdef TRANSIESTA |
1208 | - if ( TS_HS_save ) dic_save = dic_save //('H'.kv.1) |
1209 | -#endif |
1210 | + if ( savehs .or. TS_HS_save ) dic_save = dic_save //('H'.kv.1) |
1211 | call cdf_save_state(trim(slabel)//'.nc',dic_save) |
1212 | call delete(dic_save) |
1213 | end if |
1214 | #endif |
1215 | #endif |
1216 | -#ifdef TRANSIESTA |
1217 | if ( write_tshs_history ) then |
1218 | ! This is "pure" MD and we only write consecutive numbers |
1219 | ! Together with this you cannot also save FC |
1220 | @@ -362,7 +354,6 @@ |
1221 | & Ef, Qtot, Temp, 0, 0) |
1222 | end if |
1223 | endif |
1224 | -#endif /* TRANSIESTA */ |
1225 | |
1226 | !----------------------------------------------------------------------- END |
1227 | END subroutine final_H_f_stress |
1228 | |
1229 | === modified file 'Src/kpoint_grid.F90' |
1230 | --- Src/kpoint_grid.F90 2017-10-10 19:47:15 +0000 |
1231 | +++ Src/kpoint_grid.F90 2017-12-28 12:43:28 +0000 |
1232 | @@ -17,7 +17,7 @@ |
1233 | |
1234 | public :: setup_kpoint_grid, scf_kgrid_first_time, gamma_scf, & |
1235 | nkpnt, kweight, kpoint, kscell, kdispl |
1236 | - |
1237 | + public :: eff_kgrid_cutoff |
1238 | |
1239 | private |
1240 | |
1241 | |
1242 | === modified file 'Src/m_energies.F90' |
1243 | --- Src/m_energies.F90 2017-08-22 15:09:30 +0000 |
1244 | +++ Src/m_energies.F90 2017-12-28 12:43:28 +0000 |
1245 | @@ -46,9 +46,7 @@ |
1246 | real(dp):: Eldau |
1247 | real(dp):: DEldau |
1248 | |
1249 | -#ifdef TRANSIESTA |
1250 | real(dp) :: DE_NEGF ! NEGF total energy contribution = - e * \sum_i N_i \mu_i |
1251 | -#endif |
1252 | |
1253 | contains |
1254 | |
1255 | @@ -85,10 +83,7 @@ |
1256 | Eso = 0._dp |
1257 | Eldau = 0._dp |
1258 | DEldau = 0._dp |
1259 | - |
1260 | -#ifdef TRANSIESTA |
1261 | DE_NEGF = 0._dp |
1262 | -#endif |
1263 | |
1264 | end subroutine init_Energies |
1265 | |
1266 | @@ -114,9 +109,7 @@ |
1267 | Etot = Ena + Ekin + Enl + Eso - Eions + & |
1268 | DEna + DUscf + DUext + Exc + & |
1269 | Ecorrec + Emad + Emm + Emeta + Eldau |
1270 | -#ifdef TRANSIESTA |
1271 | Etot = Etot + DE_NEGF |
1272 | -#endif |
1273 | |
1274 | end subroutine update_Etot |
1275 | |
1276 | |
1277 | === modified file 'Src/m_ncdf_siesta.F90' |
1278 | --- Src/m_ncdf_siesta.F90 2017-12-15 14:13:16 +0000 |
1279 | +++ Src/m_ncdf_siesta.F90 2017-12-28 12:43:28 +0000 |
1280 | @@ -51,17 +51,16 @@ |
1281 | use siesta_options, only: sname, isolve |
1282 | use siesta_options, only: SOLVE_DIAGON, SOLVE_ORDERN |
1283 | use siesta_options, only: SOLVE_MINIM, SOLVE_TRANSI |
1284 | + use siesta_options, only: SOLVE_PEXSI |
1285 | use siesta_options, only: savehs |
1286 | use siesta_options, only: saverho, savedrho, savevh, savevna |
1287 | use siesta_options, only: savevt, savepsch, savetoch, saverhoxc |
1288 | use siesta_options, only: savebader |
1289 | use siesta_options, only: save_initial_charge_density |
1290 | use m_timestamp, only: datestring |
1291 | -#ifdef TRANSIESTA |
1292 | use m_ts_electype, elec_name => name |
1293 | use m_ts_options, only : Volt, N_Elec, Elecs |
1294 | use m_ts_options, only : TS_HS_Save |
1295 | -#endif |
1296 | |
1297 | character(len=*), intent(in) :: fname |
1298 | logical, intent(in) :: is_md |
1299 | @@ -71,9 +70,7 @@ |
1300 | type(dict) :: dic, d |
1301 | character(len=DICT_KEY_LENGTH) :: key |
1302 | integer :: n_nzs, tmp, i, chks(3), iEl |
1303 | -#ifdef TRANSIESTA |
1304 | integer, allocatable :: ibuf(:) |
1305 | -#endif |
1306 | logical :: exists |
1307 | #ifdef MPI |
1308 | integer :: MPIerror |
1309 | @@ -175,11 +172,7 @@ |
1310 | call ncdf_def_var(grp,'EDM',NF90_DOUBLE,(/'nnzs ','spin_EDM'/), & |
1311 | compress_lvl=cdf_comp_lvl,atts=dic,chunks=chks) |
1312 | |
1313 | -#ifdef TRANSIESTA |
1314 | if ( savehs .or. TS_HS_save ) then |
1315 | -#else |
1316 | - if ( savehs ) then |
1317 | -#endif |
1318 | ! Unit is already present in dictionary |
1319 | dic = dic//('info'.kv.'Hamiltonian') |
1320 | call ncdf_def_var(grp,'H',NF90_DOUBLE,(/'nnzs','spin'/), & |
1321 | @@ -377,7 +370,6 @@ |
1322 | |
1323 | call delete(dic) |
1324 | |
1325 | -#ifdef TRANSIESTA |
1326 | if ( isolve == SOLVE_TRANSI ) then |
1327 | |
1328 | ! Save all information about the transiesta method |
1329 | @@ -423,8 +415,6 @@ |
1330 | |
1331 | end if |
1332 | |
1333 | -#endif |
1334 | - |
1335 | ! Save all things necessary here |
1336 | dic = ('time'.kv.datestring()) |
1337 | dic = dic//('name'.kv.trim(sname)) |
1338 | @@ -436,10 +426,10 @@ |
1339 | dic = dic//('method'.kv.'order-n') |
1340 | else if ( isolve == SOLVE_MINIM ) then |
1341 | dic = dic//('method'.kv.'omm') |
1342 | -#ifdef TRANSIESTA |
1343 | else if ( isolve == SOLVE_TRANSI ) then |
1344 | dic = dic//('method'.kv.'transiesta') |
1345 | -#endif |
1346 | + else if ( isolve == SOLVE_PEXSI ) then |
1347 | + dic = dic//('method'.kv.'pexsi') |
1348 | end if |
1349 | |
1350 | ! Attributes are collective |
1351 | @@ -451,7 +441,6 @@ |
1352 | call ncdf_put_var(ncdf,'Qtot',Qtot) |
1353 | call ncdf_put_var(ncdf,'lasto',lasto(1:na_u)) |
1354 | |
1355 | -#ifdef TRANSIESTA |
1356 | if ( isolve == SOLVE_TRANSI ) then |
1357 | |
1358 | ! Save all information about the transiesta method |
1359 | @@ -479,7 +468,6 @@ |
1360 | end do |
1361 | |
1362 | end if |
1363 | -#endif |
1364 | |
1365 | ! Close the file |
1366 | call ncdf_close(ncdf) |
1367 | @@ -491,11 +479,9 @@ |
1368 | use kpoint_grid, only: kscell, kdispl |
1369 | use siesta_options, only: cdf_w_parallel |
1370 | use siesta_options, only: dDtol, dHtol, charnet, wmix, temp, g2cut |
1371 | -#ifdef TRANSIESTA |
1372 | use siesta_options, only: isolve |
1373 | use siesta_options, only: SOLVE_DIAGON, SOLVE_ORDERN, SOLVE_TRANSI |
1374 | use m_ts_kpoints, only: ts_kscell, ts_kdispl |
1375 | -#endif |
1376 | |
1377 | character(len=*), intent(in) :: fname |
1378 | |
1379 | @@ -520,7 +506,6 @@ |
1380 | ! I suggest that all MD settings are |
1381 | ! put in the MD-group |
1382 | |
1383 | -#ifdef TRANSIESTA |
1384 | if ( isolve == SOLVE_TRANSI ) then |
1385 | call ncdf_open_grp(ncdf,'TRANSIESTA',grp) |
1386 | |
1387 | @@ -528,7 +513,6 @@ |
1388 | call ncdf_put_var(grp,'BZ_displ',ts_kdispl) |
1389 | |
1390 | end if |
1391 | -#endif |
1392 | |
1393 | call ncdf_close(ncdf) |
1394 | |
1395 | |
1396 | === modified file 'Src/m_new_dm.F90' |
1397 | --- Src/m_new_dm.F90 2017-07-01 00:59:38 +0000 |
1398 | +++ Src/m_new_dm.F90 2017-12-28 12:43:28 +0000 |
1399 | @@ -72,7 +72,6 @@ |
1400 | use class_Pair_Geometry_dSpData2D |
1401 | use class_Fstack_Pair_Geometry_dSpData2D |
1402 | |
1403 | -#ifdef TRANSIESTA |
1404 | use fdf, only: fdf_get, fdf_defined |
1405 | use units, only : eV |
1406 | use m_ts_global_vars,only: TSrun |
1407 | @@ -81,7 +80,6 @@ |
1408 | use m_ts_options, only : N_Elec, Elecs, DM_bulk |
1409 | use m_ts_method |
1410 | use m_energies, only: Ef |
1411 | -#endif |
1412 | |
1413 | logical, intent(in) :: SC_changed ! Has auxiliary supercell changed? |
1414 | type(Fstack_Pair_Geometry_dSpData2D), intent(inout) :: DM_history |
1415 | @@ -93,14 +91,12 @@ |
1416 | integer :: DM_in_history, n_depth |
1417 | integer :: init_method |
1418 | |
1419 | -#ifdef TRANSIESTA |
1420 | real(dp), pointer :: DM(:,:), EDM(:,:) |
1421 | integer :: iElec |
1422 | integer :: na_a, na_dev |
1423 | integer, allocatable :: allowed_a(:) |
1424 | logical :: set_Ef |
1425 | real(dp) :: old_Ef, diff_Ef |
1426 | -#endif |
1427 | |
1428 | if ( IONode ) then |
1429 | write(*,"(a,i5)") "new_DM -- step: ", istp |
1430 | @@ -221,7 +217,6 @@ |
1431 | |
1432 | end if |
1433 | |
1434 | -#ifdef TRANSIESTA |
1435 | ! In case we will immediately start a transiesta run |
1436 | if ( TSrun .and. DM_Init .and. (.not. TS_analyze ) ) then |
1437 | ! In transiesta we can always initialize |
1438 | @@ -328,7 +323,6 @@ |
1439 | call daxpy(iElec,diff_Ef,DM(1,1),1,EDM(1,1),1) |
1440 | |
1441 | end if |
1442 | -#endif |
1443 | |
1444 | |
1445 | ! Determine how the mixing of the first step should be performed |
1446 | @@ -368,7 +362,6 @@ |
1447 | use class_OrbitalDistribution |
1448 | use class_Sparsity |
1449 | use class_dSpData2D |
1450 | -#ifdef TRANSIESTA |
1451 | use class_Fstack_dData1D, only: reset |
1452 | use m_ts_global_vars,only: ts_method_init, TSinit, TSrun |
1453 | use m_ts_options, only : TS_scf_mode, ts_hist_keep |
1454 | @@ -378,7 +371,6 @@ |
1455 | |
1456 | use m_mixing, only: mixers_history_init |
1457 | use m_mixing_scf, only: scf_mixs, scf_mix |
1458 | -#endif /* TRANSIESTA */ |
1459 | |
1460 | ! ********* INPUT *************************************************** |
1461 | ! type(tSpin) spin : spin configuration for this system |
1462 | @@ -427,11 +419,8 @@ |
1463 | logical, intent(in) :: anti_ferro |
1464 | integer, intent(out) :: init_method |
1465 | |
1466 | - |
1467 | ! *** Local variables |
1468 | -#ifdef TRANSIESTA |
1469 | integer :: i |
1470 | -#endif |
1471 | |
1472 | ! Signal that we are using atomic fillings |
1473 | init_method = 0 |
1474 | @@ -460,7 +449,6 @@ |
1475 | end if |
1476 | |
1477 | |
1478 | -#ifdef TRANSIESTA |
1479 | if ( TS_scf_mode == 1 .and. TSinit ) then |
1480 | |
1481 | ! if the user requests to start the transiesta SCF immediately. |
1482 | @@ -493,10 +481,6 @@ |
1483 | |
1484 | end if |
1485 | |
1486 | -#else |
1487 | - ! Energy-density matrix will remain associated to old EDM |
1488 | -#endif |
1489 | - |
1490 | ! print-out how the initial spin-configuration is |
1491 | call print_initial_spin() |
1492 | |
1493 | @@ -608,14 +592,12 @@ |
1494 | use fdf, only: fdf_get |
1495 | use files, only : slabel |
1496 | use m_iodm, only : read_DM |
1497 | -#ifdef TRANSIESTA |
1498 | use m_ts_iodm, only: read_TS_DM |
1499 | use m_energies, only: Ef ! Transiesta uses the EF obtained in a initial SIESTA run |
1500 | ! to place the electrodes and scattering region energy |
1501 | ! levels at the appropriate relative position, so it is |
1502 | ! stored in the TSDE file. |
1503 | use m_ts_global_vars,only: TSmode |
1504 | -#endif /* TRANSIESTA */ |
1505 | |
1506 | use m_restruct_SpData2D, only: restructdSpData2D |
1507 | |
1508 | @@ -651,9 +633,7 @@ |
1509 | |
1510 | ! *** Local variables: |
1511 | logical :: DM_found |
1512 | -#ifdef TRANSIESTA |
1513 | logical :: TSDE_found |
1514 | -#endif |
1515 | ! The file we should read |
1516 | character(len=256) :: fname |
1517 | ! Number of spin-components read from the DM/TSDE file |
1518 | @@ -661,9 +641,7 @@ |
1519 | |
1520 | ! The currently read stuff |
1521 | type(dSpData2D) :: DM_read |
1522 | -#ifdef TRANSIESTA |
1523 | type(dSpData2D) :: EDM_read |
1524 | -#endif |
1525 | |
1526 | ! Signal the file has not been found. |
1527 | init_method = 0 |
1528 | @@ -671,7 +649,6 @@ |
1529 | if ( IONode ) write(*,*) ! New line |
1530 | |
1531 | DM_found = .false. |
1532 | -#ifdef TRANSIESTA |
1533 | TSDE_found = .false. |
1534 | |
1535 | if ( TSmode ) then |
1536 | @@ -694,7 +671,6 @@ |
1537 | end if |
1538 | |
1539 | end if |
1540 | -#endif |
1541 | |
1542 | if ( .not. DM_found ) then |
1543 | if ( IONode ) write(*,'(a)',advance='no') & |
1544 | @@ -736,12 +712,10 @@ |
1545 | |
1546 | end if |
1547 | |
1548 | -#ifdef TRANSIESTA |
1549 | ! In case the sparsity pattern does not conform we update |
1550 | ! the TSDE_found, note that DM_found is a logic containing |
1551 | ! information regarding the sparsity pattern |
1552 | if ( TSDE_found ) TSDE_found = DM_found |
1553 | -#endif |
1554 | |
1555 | ! Density matrix size checks |
1556 | if ( DM_found ) then |
1557 | @@ -764,19 +738,15 @@ |
1558 | end if |
1559 | |
1560 | call restruct_Data(spin%DM, DM_read, DM_2D) |
1561 | -#ifdef TRANSIESTA |
1562 | if ( TSDE_found ) then |
1563 | call restruct_Data(spin%EDM, EDM_read, EDM_2D) |
1564 | end if |
1565 | -#endif |
1566 | |
1567 | end if |
1568 | |
1569 | ! Put deletes here to avoid complicating the logic |
1570 | call delete(DM_read) |
1571 | -#ifdef TRANSIESTA |
1572 | call delete(EDM_read) |
1573 | -#endif |
1574 | |
1575 | if ( .not. DM_found ) init_method = 0 |
1576 | |
1577 | |
1578 | === modified file 'Src/m_ts_electype.F90' |
1579 | --- Src/m_ts_electype.F90 2017-11-19 20:18:39 +0000 |
1580 | +++ Src/m_ts_electype.F90 2017-12-28 12:43:28 +0000 |
1581 | @@ -663,9 +663,8 @@ |
1582 | end if |
1583 | #endif |
1584 | |
1585 | - ! If the user will not use bulk, and haven't set DM-update, |
1586 | - ! default to 'all' |
1587 | - if ( .not. info(5) .and. .not. this%Bulk ) then |
1588 | + ! If the user will not use bulk, set DM_update to 'all' |
1589 | + if ( .not. this%Bulk ) then |
1590 | this%DM_update = 2 ! set 'all' |
1591 | end if |
1592 | |
1593 | |
1594 | === modified file 'Src/m_ts_hartree.F90' |
1595 | --- Src/m_ts_hartree.F90 2017-09-28 18:23:53 +0000 |
1596 | +++ Src/m_ts_hartree.F90 2017-12-28 12:43:28 +0000 |
1597 | @@ -50,7 +50,7 @@ |
1598 | integer, parameter, public :: TS_HA_ELEC_BOX = 3 |
1599 | |
1600 | ! The used method |
1601 | - integer, public :: TS_HA = 0 |
1602 | + integer, public :: TS_HA = TS_HA_NONE |
1603 | |
1604 | ! The fraction of the actual fix |
1605 | real(dp), public :: Vha_frac = 1._dp |
1606 | |
1607 | === modified file 'Src/m_ts_kpoints.F90' |
1608 | --- Src/m_ts_kpoints.F90 2017-10-10 19:47:15 +0000 |
1609 | +++ Src/m_ts_kpoints.F90 2017-12-28 12:43:28 +0000 |
1610 | @@ -54,12 +54,10 @@ |
1611 | integer, public :: ts_kscell(3,3) = 0 |
1612 | real(dp), public :: ts_kdispl(3) = 0.0_dp |
1613 | |
1614 | + logical, public :: ts_firm_displ = .false. |
1615 | logical, public :: ts_user_requested_mp = .false. |
1616 | logical, public :: ts_user_requested_cutoff = .false. |
1617 | |
1618 | - logical, public :: ts_spiral = .false. |
1619 | - logical, public :: ts_firm_displ = .false. |
1620 | - |
1621 | public :: setup_ts_scf_kscell, setup_ts_kpoint_grid |
1622 | public :: ts_write_k_points |
1623 | |
1624 | @@ -143,10 +141,8 @@ |
1625 | write(*,*) 'Specifying only cutoff in Electrode AND Scattering calculations might lead to problems !!' |
1626 | end if |
1627 | |
1628 | - cutoff = fdf_physical('kgrid_cutoff',defcut,'Bohr') |
1629 | - if (cutoff /= defcut) then |
1630 | - ts_user_requested_cutoff = .true. |
1631 | - endif |
1632 | + cutoff = fdf_get('kgrid_cutoff',defcut,'Bohr') |
1633 | + ts_user_requested_cutoff = (cutoff /= defcut) |
1634 | |
1635 | ts_kdispl(1:3) = 0.0_dp ! Might be changed later |
1636 | ts_firm_displ = .false. |
1637 | @@ -190,18 +186,39 @@ |
1638 | subroutine setup_ts_kpoint_grid( ucell ) |
1639 | |
1640 | ! SIESTA Modules |
1641 | - USE fdf, only : fdf_defined |
1642 | + USE precision, only : dp |
1643 | + USE fdf, only : fdf_get |
1644 | USE m_find_kgrid, only : find_kgrid |
1645 | USE parallel, only : IONode |
1646 | - USE precision, only : dp |
1647 | + use m_ts_global_vars, only : TSmode |
1648 | + use kpoint_grid |
1649 | |
1650 | ! Local Variables |
1651 | - real(dp), intent(in) :: ucell(3,3) |
1652 | - |
1653 | - if (ts_scf_kgrid_first_time) then |
1654 | + real(dp), intent(in) :: ucell(3,3) |
1655 | + |
1656 | + if ( .not. TSMode ) then |
1657 | + |
1658 | + ! Same as SIESTA (mainly to be able to write the TSHS files). |
1659 | + ts_Gamma = gamma_SCF |
1660 | + ts_nkpnt = nkpnt |
1661 | + ts_eff_kgrid_cutoff = eff_kgrid_cutoff |
1662 | + ts_kweight => kweight |
1663 | + ts_kpoint => kpoint |
1664 | + ts_kscell = kscell |
1665 | + ts_kdispl = kdispl |
1666 | + |
1667 | + ! Since this is not transiesta we immediately return |
1668 | + ! and then we also skip printing out transiesta information. |
1669 | + return |
1670 | + |
1671 | + end if |
1672 | + |
1673 | + if ( ts_scf_kgrid_first_time ) then |
1674 | |
1675 | nullify(ts_kweight,ts_kpoint) |
1676 | - ts_spiral = fdf_defined('SpinSpiral') |
1677 | + if ( fdf_get('SpinSpiral', .false.) ) then |
1678 | + call die('transiesta: Does not work with spin-spiral') |
1679 | + end if |
1680 | |
1681 | call setup_ts_scf_kscell(ucell) |
1682 | |
1683 | @@ -216,7 +233,7 @@ |
1684 | endif |
1685 | |
1686 | call find_kgrid(ucell,ts_kscell,ts_kdispl,ts_firm_displ, & |
1687 | - (.not. ts_spiral), & |
1688 | + .true., & |
1689 | ts_nkpnt,ts_kpoint,ts_kweight, ts_eff_kgrid_cutoff) |
1690 | |
1691 | ts_Gamma = ts_nkpnt == 1 .and. & |
1692 | |
1693 | === modified file 'Src/m_ts_options.F90' |
1694 | --- Src/m_ts_options.F90 2017-11-19 20:18:39 +0000 |
1695 | +++ Src/m_ts_options.F90 2017-12-28 12:43:28 +0000 |
1696 | @@ -138,8 +138,13 @@ |
1697 | |
1698 | ! Read in general values that should be used in the electrode generation |
1699 | ! I.e. these FDF-parameters are used for diagon runs with transiesta |
1700 | +#ifdef TRANSIESTA |
1701 | TS_HS_save = fdf_get('TS.HS.Save',.true.) |
1702 | + TS_DE_save = fdf_get('TS.DE.Save',.true.) |
1703 | +#else |
1704 | + TS_HS_save = fdf_get('TS.HS.Save',.false.) |
1705 | TS_DE_save = fdf_get('TS.DE.Save',.false.) |
1706 | +#endif |
1707 | onlyS = fdf_get('TS.onlyS',.false.) |
1708 | onlyS = fdf_get('TS.S.Save',onlyS) |
1709 | |
1710 | @@ -148,6 +153,10 @@ |
1711 | ! are needed. |
1712 | if ( onlyS .or. .not. TSmode ) return |
1713 | |
1714 | + ! When running TSmode we FORCE TS.HS.Save and TS.DE.Save |
1715 | + TS_HS_save = .true. |
1716 | + TS_DE_save = .true. |
1717 | + |
1718 | ! Read in the transiesta SCF mixing options |
1719 | call mixers_init('TS.SCF', ts_scf_mixs ) |
1720 | if ( .not. associated(ts_scf_mixs) ) then |
1721 | @@ -362,7 +371,7 @@ |
1722 | call fdf_deprecated('TS.ReUseGF','TS.Elecs.GF.ReUse') |
1723 | |
1724 | ! To determine the same coordinate nature of the electrodes |
1725 | - Elecs_xa_EPS = fdf_get('TS.Elecs.Coord.Eps',1.e-4_dp,'Bohr') |
1726 | + Elecs_xa_EPS = fdf_get('TS.Elecs.Coord.Eps',0.001_dp*Ang, 'Bohr') |
1727 | |
1728 | ! Whether we should always set the DM to bulk |
1729 | ! values (by reading in from electrode DM) |
1730 | @@ -1129,8 +1138,6 @@ |
1731 | end if |
1732 | else if ( TS_DE_save ) then |
1733 | ! means TS_HA == TS_HA_NONE |
1734 | - write(*,'(a)') 'If you do not use Hartree.Fix you cannot & |
1735 | - &use the TSDE file for restart in TranSIESTA.' |
1736 | end if |
1737 | |
1738 | |
1739 | |
1740 | === modified file 'Src/proximity_check.F' |
1741 | --- Src/proximity_check.F 2016-06-23 12:27:35 +0000 |
1742 | +++ Src/proximity_check.F 2017-12-28 12:43:28 +0000 |
1743 | @@ -19,9 +19,7 @@ |
1744 | use parallel, only : IOnode |
1745 | use neighbour, only : jna=>jan, r2ij, mneighb, |
1746 | & reset_neighbour_arrays |
1747 | -#ifdef TRANSIESTA |
1748 | use m_ts_global_vars, only : onlyS |
1749 | -#endif |
1750 | implicit none |
1751 | real(dp), intent(in) :: rmax |
1752 | integer :: ii, jj, jamin, idxneighJ, nneigbI, isel, nna |
1753 | @@ -52,11 +50,7 @@ |
1754 | enddo |
1755 | rmin = sqrt( r2min ) |
1756 | if (IOnode) then |
1757 | -#ifdef TRANSIESTA |
1758 | if (( rmin .lt. rijmin ) .and. (.not. onlyS)) |
1759 | -#else |
1760 | - if ( rmin .lt. rijmin ) |
1761 | -#endif |
1762 | & write(6,'(a,2i6,a,f12.6,a)') 'siesta: WARNING: Atoms', ii, |
1763 | & jamin, ' too close: rij =', rmin/Ang, ' Ang' |
1764 | endif |
1765 | |
1766 | === modified file 'Src/read_options.F90' |
1767 | --- Src/read_options.F90 2017-12-22 10:33:21 +0000 |
1768 | +++ Src/read_options.F90 2017-12-28 12:43:28 +0000 |
1769 | @@ -688,7 +688,6 @@ |
1770 | call die("PEXSI solver is not compiled in. Use -DSIESTA__PEXSI") |
1771 | #endif |
1772 | |
1773 | -#ifdef TRANSIESTA |
1774 | else if (leqi(method,'transi') .or. leqi(method,'transiesta') & |
1775 | .or. leqi(method,'negf') ) then |
1776 | isolve = SOLVE_TRANSI |
1777 | @@ -697,12 +696,9 @@ |
1778 | call add_citation("10.1016/j.cpc.2016.09.022") |
1779 | write(*,3) 'redata: Method of Calculation','Transiesta' |
1780 | endif |
1781 | -#endif /* TRANSIESTA */ |
1782 | else |
1783 | call die( 'redata: The method of solution must be either '//& |
1784 | -#ifdef TRANSIESTA |
1785 | 'Transiesta, '//& |
1786 | -#endif |
1787 | #ifdef SIESTA__PEXSI |
1788 | 'PEXSI, '//& |
1789 | #endif |
1790 | @@ -1514,11 +1510,9 @@ |
1791 | fdf_get('SCF.Read.Deformation.Charge.NetCDF', .false. ) |
1792 | |
1793 | ! Write the history |
1794 | -#ifdef TRANSIESTA |
1795 | write_tshs_history = fdf_get('Write.TSHS.History', .false.) |
1796 | if ( IONode.and.write_tshs_history ) & |
1797 | write(*,2) 'redata: Saves TSHS files in MD simulation' |
1798 | -#endif |
1799 | !write_hs_history = fdf_get('Write.HS.History', .false.) |
1800 | |
1801 | if (read_charge_cdf .or. read_deformation_charge_cdf) then |
1802 | |
1803 | === modified file 'Src/reinit.F' |
1804 | --- Src/reinit.F 2017-10-13 08:38:50 +0000 |
1805 | +++ Src/reinit.F 2017-12-28 12:43:28 +0000 |
1806 | @@ -221,7 +221,6 @@ |
1807 | line = 'SystemLabel '//trim(line) |
1808 | call fdf_overwrite(line) |
1809 | |
1810 | -#ifdef TRANSIESTA |
1811 | else if ( line(1:1) == 'V' ) then |
1812 | if ( in >= narg ) |
1813 | & call die('Missing argument on command line, -V') |
1814 | @@ -230,7 +229,13 @@ |
1815 | line = cmd_tokenize(line) |
1816 | line = 'TS.Voltage '//trim(line) |
1817 | call fdf_overwrite(line) |
1818 | -#endif |
1819 | + |
1820 | + else if ( line(1:9) == 'electrode' .or. |
1821 | + & line(1:4) == 'elec' ) then |
1822 | + line = 'TS.HS.Save true' |
1823 | + call fdf_overwrite(line) |
1824 | + line = 'TS.DE.Save true' |
1825 | + call fdf_overwrite(line) |
1826 | |
1827 | else if ( line(1:4) == 'help' .or. |
1828 | & line(1:1) == 'h' ) then |
1829 | @@ -242,10 +247,10 @@ |
1830 | write(0,'(a)')' Short-hand for setting SystemLabel.' |
1831 | write(0,'(a)')' -fdf <label>=<value>[:<unit>]' |
1832 | write(0,'(a)')' Set the label to the corresponding value.' |
1833 | -#ifdef TRANSIESTA |
1834 | write(0,'(a)')' -V <value>:<unit>' |
1835 | write(0,'(a)')' Short-hand for setting TS.Voltage.' |
1836 | -#endif |
1837 | + write(0,'(a)')' -electrode|-elec' |
1838 | + write(0,'(a)')' Force TS.HS.Save and TS.DE.Save to true.' |
1839 | write(0,'(a)')' <fdf-file>' |
1840 | write(0,'(a)') |
1841 | & ' Use file as fdf-input, you need not to pipe it in.' |
1842 | |
1843 | === modified file 'Src/save_density_matrix.F' |
1844 | --- Src/save_density_matrix.F 2016-12-08 11:45:49 +0000 |
1845 | +++ Src/save_density_matrix.F 2017-12-28 12:43:28 +0000 |
1846 | @@ -40,13 +40,11 @@ |
1847 | use m_ncdf_siesta, only : cdf_save_state |
1848 | #endif |
1849 | #endif |
1850 | -#ifdef TRANSIESTA |
1851 | use sparse_matrices, only: EDM_2D |
1852 | use m_ts_iodm, only: write_ts_dm |
1853 | use m_ts_global_vars, only: TSrun |
1854 | use m_ts_options, only: TS_DE_save |
1855 | use m_energies, only: Ef |
1856 | -#endif |
1857 | |
1858 | implicit none |
1859 | |
1860 | @@ -96,78 +94,43 @@ |
1861 | end if |
1862 | #endif |
1863 | #endif |
1864 | - |
1865 | -#ifndef TRANSIESTA |
1866 | - if (do_it) then |
1867 | -#ifdef TIMING_IO |
1868 | - call timer('IO-W-DM',1) |
1869 | - do i = 1 , 100 |
1870 | -#endif |
1871 | - if (((idyn .eq. 6) .or. (idyn .eq. 7).or.(idyn.eq.9)) |
1872 | - $ .and. (istp .ne. 1) ) then |
1873 | - ! do not write |
1874 | - else |
1875 | - if (fdf_get("Use.Blocked.WriteMat",.false.)) then |
1876 | - call write_mat (maxnh, no_l, h_spin_dim, |
1877 | - & numh, listhptr, listh, Dscf, |
1878 | - $ userfile=trim(file)//'.blocked',compatible=.false.) |
1879 | - else |
1880 | - ! The filename falls back to the standard one |
1881 | - ! |
1882 | - call write_dm(trim(slabel)//'.DM', DM_2D) |
1883 | - endif |
1884 | - end if |
1885 | -#ifdef TIMING_IO |
1886 | - end do |
1887 | - call timer('IO-W-DM',2) |
1888 | - call timer('IO-W-DM',3) |
1889 | -#endif |
1890 | - endif ! writedm |
1891 | -#else /* TRANSIESTA */ |
1892 | -! TSS Begin |
1893 | - if (do_it) then |
1894 | - if (.not.TSrun) then !TSS save Dscf |
1895 | -#ifdef TIMING_IO |
1896 | - call timer('IO-W-DM',1) |
1897 | - do i = 1 , 100 |
1898 | -#endif |
1899 | - if ((idyn .eq. 6) .or. (idyn .eq. 7).or.(idyn==9)) then |
1900 | - if (istp.eq.1) |
1901 | - & call write_dm(trim(slabel)//'.DM', DM_2D) |
1902 | - else |
1903 | - call write_dm(trim(slabel)//'.DM', DM_2D) |
1904 | - end if |
1905 | -#ifdef TIMING_IO |
1906 | - end do |
1907 | - call timer('IO-W-DM',2) |
1908 | - call timer('IO-W-DM',3) |
1909 | -#endif |
1910 | - else |
1911 | -! TSS write DscfE |
1912 | -#ifdef TIMING_IO |
1913 | - call timer('IO-W-TS-DE',1) |
1914 | - do i = 1 , 100 |
1915 | -#endif |
1916 | - if ((idyn .eq. 6) .or. (idyn .eq. 7).or.(idyn==9)) then |
1917 | - if (istp .eq.1) |
1918 | - & call write_ts_dm(trim(slabel)//'.TSDE', |
1919 | - & DM_2D, EDM_2D, Ef) |
1920 | - else |
1921 | - call write_ts_dm(trim(slabel)//'.TSDE', |
1922 | - & DM_2D, EDM_2D, Ef) |
1923 | - end if |
1924 | -#ifdef TIMING_IO |
1925 | - end do |
1926 | - call timer('IO-W-TS-DE',2) |
1927 | - call timer('IO-W-TS-DE',3) |
1928 | -#endif |
1929 | - end if ! TSrun |
1930 | - if ( TS_DE_save ) then |
1931 | - call write_ts_dm(trim(slabel)//'.TSDE', |
1932 | - & DM_2D, EDM_2D, Ef) |
1933 | - end if |
1934 | - end if ! writedm |
1935 | -#endif /* TRANSIESTA */ |
1936 | + |
1937 | +#ifdef TIMING_IO |
1938 | + if ( do_it ) then |
1939 | + call timer('IO-W-DM',1) |
1940 | + do i = 1 , 100 |
1941 | + if (fdf_get("Use.Blocked.WriteMat",.false.)) then |
1942 | + call write_mat (maxnh, no_l, h_spin_dim, |
1943 | + & numh, listhptr, listh, Dscf, |
1944 | + $ userfile=trim(file)//'.blocked',compatible=.false.) |
1945 | + else |
1946 | + ! The filename falls back to the standard one |
1947 | + call write_dm(trim(slabel)//'.DM', DM_2D) |
1948 | + end if |
1949 | + end do |
1950 | + call timer('IO-W-DM',2) |
1951 | + call timer('IO-W-DM',3) |
1952 | + end if |
1953 | +#endif |
1954 | + |
1955 | + ! Check wheter we should write |
1956 | + select case ( idyn ) |
1957 | + case ( 6, 7, 9 ) |
1958 | + if ( istp /= 1 ) do_it = .false. |
1959 | + end select |
1960 | + |
1961 | + if ( do_it ) then |
1962 | + if ( TSrun ) then |
1963 | + call write_ts_dm(trim(slabel)//'.TSDE', |
1964 | + & DM_2D, EDM_2D, Ef) |
1965 | + else |
1966 | + call write_dm(trim(slabel)//'.DM', DM_2D) |
1967 | + if ( TS_DE_save ) then |
1968 | + call write_ts_dm(trim(slabel)//'.TSDE', |
1969 | + & DM_2D, EDM_2D, Ef) |
1970 | + end if |
1971 | + end if |
1972 | + end if |
1973 | |
1974 | end subroutine save_density_matrix |
1975 | |
1976 | |
1977 | === modified file 'Src/siesta_dicts.F90' |
1978 | --- Src/siesta_dicts.F90 2017-10-10 11:31:23 +0000 |
1979 | +++ Src/siesta_dicts.F90 2017-12-28 12:43:28 +0000 |
1980 | @@ -13,10 +13,8 @@ |
1981 | ! A dictionary for all the options |
1982 | type(dict) :: options |
1983 | |
1984 | -#ifdef TRANSIESTA |
1985 | ! A dictionary for all transiesta options |
1986 | type(dict) :: ts_options |
1987 | -#endif |
1988 | |
1989 | ! A dictionary for all variables |
1990 | type(dict) :: variables |
1991 | @@ -41,9 +39,7 @@ |
1992 | |
1993 | subroutine dict_clean() |
1994 | call delete(options,dealloc=.false.) |
1995 | -#ifdef TRANSIESTA |
1996 | call delete(ts_options,dealloc=.false.) |
1997 | -#endif |
1998 | call delete(variables,dealloc=.false.) |
1999 | end subroutine dict_clean |
2000 | |
2001 | @@ -318,10 +314,8 @@ |
2002 | ('E.spin_orbit'.kvp.Eso) |
2003 | variables = variables // & |
2004 | ('E.ldau'.kvp.Eldau) |
2005 | -#ifdef TRANSIESTA |
2006 | variables = variables // & |
2007 | ('E.negf'.kvp.DE_NEGF) |
2008 | -#endif |
2009 | |
2010 | ! Add the number of charges to the system |
2011 | variables = variables // & |
2012 | |
2013 | === modified file 'Src/siesta_forces.F' |
2014 | --- Src/siesta_forces.F 2017-12-12 07:50:52 +0000 |
2015 | +++ Src/siesta_forces.F 2017-12-28 12:43:28 +0000 |
2016 | @@ -85,7 +85,6 @@ |
2017 | use m_pexsi, only: pexsi_finalize_scfloop |
2018 | #endif |
2019 | |
2020 | -#ifdef TRANSIESTA |
2021 | use m_energies, only: DE_NEGF |
2022 | use m_ts_options, only : N_Elec |
2023 | use m_ts_method |
2024 | @@ -101,7 +100,6 @@ |
2025 | use m_transiesta, only: transiesta |
2026 | use kpoint_grid, only : gamma_scf |
2027 | use m_energies, only : Ef |
2028 | -#endif /* TRANSIESTA */ |
2029 | |
2030 | implicit none |
2031 | |
2032 | @@ -382,7 +380,6 @@ |
2033 | ! Check whether we should step to the next mixer |
2034 | call mixing_scf_converged( SCFconverged ) |
2035 | |
2036 | -#ifdef TRANSIESTA |
2037 | ! In case the user has requested a Fermi-level correction |
2038 | ! Then we start by correcting the fermi-level |
2039 | if ( SCFconverged .and. TSrun .and. |
2040 | @@ -404,7 +401,6 @@ |
2041 | end if |
2042 | |
2043 | end if |
2044 | -#endif |
2045 | |
2046 | if (monitor_forces_in_scf) call compute_forces() |
2047 | |
2048 | @@ -438,7 +434,6 @@ |
2049 | ! Retrieve an easy character string |
2050 | nnext_mixer = cunpack(next_mixer) |
2051 | if ( len_trim(nnext_mixer) > 0 ) then |
2052 | -#ifdef TRANSIESTA |
2053 | if ( TSrun ) then |
2054 | do imix = 1 , size(ts_scf_mixs) |
2055 | if ( ts_scf_mixs(imix)%name == nnext_mixer ) then |
2056 | @@ -448,7 +443,6 @@ |
2057 | end if |
2058 | end do |
2059 | else |
2060 | -#endif |
2061 | do imix = 1 , size(scf_mixs) |
2062 | if ( scf_mixs(imix)%name == nnext_mixer ) then |
2063 | call mixers_history_init(scf_mixs) |
2064 | @@ -456,9 +450,7 @@ |
2065 | exit |
2066 | end if |
2067 | end do |
2068 | -#ifdef TRANSIESTA |
2069 | end if |
2070 | -#endif |
2071 | |
2072 | ! Check that we indeed have changed the mixer |
2073 | if ( IONode .and. scf_mix%name /= nnext_mixer ) then |
2074 | @@ -484,13 +476,11 @@ |
2075 | ! This should be the last step if we have converged... |
2076 | last_step = SCFConverged |
2077 | |
2078 | -#ifdef TRANSIESTA |
2079 | ! ... except that we might continue for TranSiesta |
2080 | if ( last_step ) then |
2081 | call transiesta_switch() ! might reset 'last_step' |
2082 | ! and iscf |
2083 | end if |
2084 | -#endif |
2085 | |
2086 | if ( iscf == nscf ) then |
2087 | last_step = .true. |
2088 | @@ -534,12 +524,10 @@ |
2089 | endif |
2090 | end if |
2091 | |
2092 | -#ifdef TRANSIESTA |
2093 | if ( TSmode.and.TSinit.and.(.not. SCFConverged) ) then |
2094 | call die('SCF did not converge before proceeding to transiesta |
2095 | &calculation') |
2096 | end if |
2097 | -#endif |
2098 | |
2099 | ! Clean-up here to limit memory usage |
2100 | call mixers_scf_history_init( ) |
2101 | @@ -623,10 +611,8 @@ |
2102 | end subroutine compute_forces |
2103 | |
2104 | subroutine print_timings(first, first_md) |
2105 | -#ifdef TRANSIESTA |
2106 | use timer_options, only: use_tree_timer |
2107 | use m_ts_global_vars, only : TSrun |
2108 | -#endif |
2109 | logical, intent(in) :: first, first_md |
2110 | character(len=20) :: routine |
2111 | |
2112 | @@ -637,7 +623,6 @@ |
2113 | |
2114 | routine = 'IterSCF' |
2115 | |
2116 | -#ifdef TRANSIESTA |
2117 | if ( TSrun ) then |
2118 | ! with Green function generation |
2119 | ! The tree-timer requires direct |
2120 | @@ -648,7 +633,6 @@ |
2121 | routine = 'TS' |
2122 | end if |
2123 | endif |
2124 | -#endif |
2125 | call timer( routine, 3 ) |
2126 | |
2127 | end subroutine |
2128 | @@ -692,7 +676,6 @@ |
2129 | end subroutine end_of_cycle_save_operations |
2130 | |
2131 | !----------------------------------------------------- |
2132 | -#ifdef TRANSIESTA |
2133 | subroutine transiesta_switch() |
2134 | |
2135 | use precision, only: dp |
2136 | @@ -844,7 +827,6 @@ |
2137 | end if |
2138 | |
2139 | end subroutine transiesta_switch |
2140 | -#endif |
2141 | |
2142 | END subroutine siesta_forces |
2143 | |
2144 | |
2145 | === modified file 'Src/siesta_init.F' |
2146 | --- Src/siesta_init.F 2017-12-15 14:13:16 +0000 |
2147 | +++ Src/siesta_init.F 2017-12-28 12:43:28 +0000 |
2148 | @@ -73,9 +73,7 @@ |
2149 | #endif |
2150 | use m_cite, only: add_citation, init_citation |
2151 | |
2152 | -#ifdef TRANSIESTA |
2153 | use m_ts_init, only : ts_init |
2154 | -#endif |
2155 | |
2156 | use m_diag_option, only: read_diag, print_diag |
2157 | |
2158 | @@ -644,9 +642,7 @@ |
2159 | |
2160 | istp = 0 |
2161 | |
2162 | -#ifdef TRANSIESTA |
2163 | call ts_init(spin%Grid,ucell,na_u,xa,lasto,no_u,inicoor,fincoor) |
2164 | -#endif |
2165 | |
2166 | #ifdef SIESTA__FLOOK |
2167 | |
2168 | |
2169 | === modified file 'Src/siesta_options.F90' |
2170 | --- Src/siesta_options.F90 2017-07-01 00:59:38 +0000 |
2171 | +++ Src/siesta_options.F90 2017-12-28 12:43:28 +0000 |
2172 | @@ -102,9 +102,7 @@ |
2173 | logical :: writic ! Write the initial atomic ccordinates? |
2174 | logical :: varcel ! Change unit cell during relaxation or dynamics? |
2175 | logical :: do_pdos ! Compute the projected density of states? |
2176 | -#ifdef TRANSIESTA |
2177 | logical :: write_tshs_history ! Write the MD track of Hamiltonian and overlap matrices in transiesta format |
2178 | -#endif |
2179 | logical :: write_hs_history ! Write the MD track of Hamiltonian and overlap matrices |
2180 | logical :: writedm ! Write file with density matrix? |
2181 | logical :: write_dm_at_end_of_cycle ! Write DM at end of SCF cycle? (converged or not) |
2182 | |
2183 | === modified file 'Src/state_init.F' |
2184 | --- Src/state_init.F 2017-01-18 08:18:31 +0000 |
2185 | +++ Src/state_init.F 2017-12-28 12:43:28 +0000 |
2186 | @@ -72,7 +72,7 @@ |
2187 | |
2188 | use m_sparse, only : xij_offset |
2189 | |
2190 | -#ifdef TRANSIESTA |
2191 | + use m_ts_kpoints, only: setup_ts_kpoint_grid |
2192 | use m_ts_charge, only : TS_RHOCORR_METHOD, TS_RHOCORR_FERMI |
2193 | use m_ts_options, only : BTD_method |
2194 | use m_ts_options, only : TS_Analyze |
2195 | @@ -84,7 +84,6 @@ |
2196 | use m_ts_sparse, only : ts_sparse_init |
2197 | use m_ts_tri_init, only : ts_tri_init, ts_tri_analyze |
2198 | use files, only: slabel, label_length |
2199 | -#endif |
2200 | #ifdef CDF |
2201 | use iodm_netcdf, only: setup_dm_netcdf_file |
2202 | use iodmhs_netcdf, only: setup_dmhs_netcdf_file |
2203 | @@ -110,13 +109,11 @@ |
2204 | external :: madelung, timer |
2205 | real(dp), external :: volcel |
2206 | |
2207 | -#ifdef TRANSIESTA |
2208 | integer :: ts_kscell_file(3,3) = 0 |
2209 | real(dp) :: ts_kdispl_file(3) = 0.0 |
2210 | logical :: ts_Gamma_file = .true. |
2211 | character(len=label_length+6) :: fname |
2212 | real(dp) :: dummyef=0.0, dummyqtot=0.0 |
2213 | -#endif |
2214 | type(Sparsity) :: g_Sp |
2215 | |
2216 | character(len=256) :: oname |
2217 | @@ -243,6 +240,8 @@ |
2218 | ! Will print k-points also |
2219 | call setup_Kpoint_grid( ucell ) |
2220 | |
2221 | + call setup_ts_kpoint_grid( ucell ) |
2222 | + |
2223 | call re_alloc( eo, 1, no_u, 1, spin%spinor, 1, nkpnt, 'eo', |
2224 | & 'state_init') |
2225 | call re_alloc( qo, 1, no_u, 1, spin%spinor, 1, nkpnt, 'qo', |
2226 | @@ -412,7 +411,6 @@ |
2227 | end if |
2228 | |
2229 | |
2230 | -#ifdef TRANSIESTA |
2231 | ! When the user requests to only do an analyzation, we can call |
2232 | ! appropriate routines and quit |
2233 | if ( TS_Analyze ) then |
2234 | @@ -434,7 +432,6 @@ |
2235 | call bye('transiesta analyzation performed') |
2236 | |
2237 | end if |
2238 | -#endif |
2239 | |
2240 | |
2241 | write(oname,"(a,i0)") "EDM at geom step ", istep |
2242 | @@ -513,7 +510,6 @@ |
2243 | Escf => val(EDM_2D) |
2244 | |
2245 | ! Initialize energy-density matrix to zero for first call to overfsm |
2246 | -#ifdef TRANSIESTA |
2247 | ! Only part of Escf is updated in TS, so if it is put as zero here |
2248 | ! a continuation run gives bad forces. |
2249 | if ( .not. TSrun ) then |
2250 | @@ -522,19 +518,12 @@ |
2251 | Escf(:,:) = 0.0_dp |
2252 | !$OMP end parallel workshare |
2253 | end if |
2254 | -#else |
2255 | - call normalize_DM( first= .true. ) |
2256 | -!$OMP parallel workshare default(shared) |
2257 | - Escf(:,:) = 0.0_dp |
2258 | -!$OMP end parallel workshare |
2259 | -#endif /* TRANSIESTA */ |
2260 | |
2261 | #ifdef TEST_IO |
2262 | ! We test the io-performance here |
2263 | call time_io(spin%H,H_2D) |
2264 | #endif |
2265 | |
2266 | -#ifdef TRANSIESTA |
2267 | ! If onlyS, Save overlap matrix and exit |
2268 | if ( onlyS ) then |
2269 | fname = fname_TSHS(slabel, onlyS = .true. ) |
2270 | @@ -565,8 +554,6 @@ |
2271 | end if |
2272 | end if |
2273 | |
2274 | -#endif /* TRANSIESTA */ |
2275 | - |
2276 | #ifdef CDF |
2277 | if (writedm_cdf) then |
2278 | call setup_dm_netcdf_file( maxnh, no_l, spin%H, |
2279 | |
2280 | === modified file 'Src/version.F90' |
2281 | --- Src/version.F90 2017-10-18 16:25:05 +0000 |
2282 | +++ Src/version.F90 2017-12-28 12:43:28 +0000 |
2283 | @@ -80,9 +80,6 @@ |
2284 | !$OMP end master |
2285 | !$OMP end parallel |
2286 | |
2287 | -#ifdef TRANSIESTA |
2288 | -write(6,'(a)') 'TRANSIESTA support' |
2289 | -#endif |
2290 | #ifdef USE_GEMM3M |
2291 | write(6,'(a)') 'GEMM3M support' |
2292 | #endif |
2293 | @@ -98,6 +95,11 @@ |
2294 | #if defined(ON_DOMAIN_DECOMP) || defined(SIESTA__METIS) |
2295 | write(6,'(a)') 'METIS ordering support' |
2296 | #endif |
2297 | +#ifdef TRANSIESTA |
2298 | +write(6,'(a)') '******************************************************' |
2299 | +write(6,'(a)') 'transiesta executable is deprecated, please use siesta' |
2300 | +write(6,'(a)') '******************************************************' |
2301 | +#endif |
2302 | |
2303 | end subroutine prversion |
2304 | !---------------------------------------------------------- |
2305 | |
2306 | === modified file 'Src/write_subs.F' |
2307 | --- Src/write_subs.F 2017-10-10 11:31:23 +0000 |
2308 | +++ Src/write_subs.F 2017-12-28 12:43:28 +0000 |
2309 | @@ -296,9 +296,7 @@ |
2310 | use units |
2311 | use m_energies |
2312 | use m_spin |
2313 | -#ifdef TRANSIESTA |
2314 | use m_ts_global_vars, only: TSinit, TSrun |
2315 | -#endif /* TRANSIESTA */ |
2316 | implicit none |
2317 | |
2318 | integer :: iscf |
2319 | @@ -307,20 +305,14 @@ |
2320 | |
2321 | character(len=64) :: fmt |
2322 | character(len=6) :: scf_name |
2323 | -#ifndef TRANSIESTA |
2324 | - ! Enable _one_ block to reuse as much as possible |
2325 | - logical, parameter :: TSinit = .false. |
2326 | -#endif |
2327 | |
2328 | logical :: first_scf_step |
2329 | integer :: i |
2330 | |
2331 | scf_name = 'scf' |
2332 | -#ifdef TRANSIESTA |
2333 | if ( TSrun ) then |
2334 | scf_name = 'ts-scf' |
2335 | end if |
2336 | -#endif |
2337 | |
2338 | first_scf_step = (iscf == 1) |
2339 | ! Only print out full decomposition at very beginning and end. |
2340 | @@ -337,9 +329,7 @@ |
2341 | . 'siesta: DEna =', DEna/eV, |
2342 | . 'siesta: DUscf =', DUscf/eV, |
2343 | . 'siesta: DUext =', DUext/eV, |
2344 | -#ifdef TRANSIESTA |
2345 | . 'siesta: Enegf =', DE_NEGF/eV, |
2346 | -#endif |
2347 | . 'siesta: Exc =', Exc/eV, |
2348 | . 'siesta: eta*DQ =', Ecorrec/eV, |
2349 | . 'siesta: Emadel =', Emad/eV, |
2350 | @@ -382,11 +372,9 @@ |
2351 | call cmlAddProperty(xf=mainXML, value=DUext/eV, |
2352 | . units='siestaUnits:eV', |
2353 | . dictref='siesta:DUext', fmt='r6') |
2354 | -#ifdef TRANSIESTA |
2355 | call cmlAddProperty(xf=mainXML, value=DE_NEGF/eV, |
2356 | . units='siestaUnits:eV', |
2357 | . dictref='siesta:Enegf', fmt='r6') |
2358 | -#endif |
2359 | call cmlAddProperty(xf=mainXML, value=Exc/eV, |
2360 | . units='siestaUnits:eV', |
2361 | . dictref='siesta:Exc', fmt='r6') |
2362 | @@ -515,9 +503,7 @@ |
2363 | . 'siesta: ', 'Eldau =', Eldau/eV, |
2364 | . 'siesta: ', 'Eso =', Eso/eV, |
2365 | . 'siesta: ', 'Ext. field =', DUext/eV, |
2366 | -#ifdef TRANSIESTA |
2367 | . 'siesta: ', 'Enegf =', DE_NEGF/eV, |
2368 | -#endif |
2369 | . 'siesta: ', 'Exch.-corr. =', Exc/eV, |
2370 | . 'siesta: ', 'Ion-electron =', (Enascf+Enl+DUscf-Uscf-Uatm)/eV, |
2371 | . 'siesta: ', 'Ion-ion =', (Ena+Uatm-Enaatm-Eions)/eV, |
2372 | @@ -551,11 +537,9 @@ |
2373 | call cmlAddProperty(xf=mainXML, value=DUext/eV, |
2374 | . units='siestaUnits:eV', |
2375 | . dictref='siesta:DUext', fmt='r7') |
2376 | -#ifdef TRANSIESTA |
2377 | call cmlAddProperty(xf=mainXML, value=DE_NEGF/eV, |
2378 | . units='siestaUnits:eV', |
2379 | . dictref='siesta:Enegf', fmt='r7') |
2380 | -#endif |
2381 | call cmlAddProperty(xf=mainXML, value=Exc/eV, |
2382 | . units='siestaUnits:eV', |
2383 | . dictref='siesta:Exc', fmt='r7') |
2384 | |
2385 | === modified file 'Util/COOP/Makefile' |
2386 | --- Util/COOP/Makefile 2017-11-17 20:53:23 +0000 |
2387 | +++ Util/COOP/Makefile 2017-12-28 12:43:28 +0000 |
2388 | @@ -367,7 +367,7 @@ |
2389 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2390 | m_matio.o: alloc.o parallel.o |
2391 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2392 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2393 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2394 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2395 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2396 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2397 | @@ -514,8 +514,9 @@ |
2398 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2399 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2400 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2401 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2402 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2403 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2404 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2405 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2406 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2407 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2408 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2409 | @@ -818,10 +819,10 @@ |
2410 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2411 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2412 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2413 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2414 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2415 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2416 | -state_init.o: units.o write_subs.o zmatrix.o |
2417 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2418 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2419 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2420 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2421 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2422 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2423 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2424 | |
2425 | === modified file 'Util/Denchar/Src/Makefile' |
2426 | --- Util/Denchar/Src/Makefile 2017-11-17 20:53:23 +0000 |
2427 | +++ Util/Denchar/Src/Makefile 2017-12-28 12:43:28 +0000 |
2428 | @@ -435,7 +435,7 @@ |
2429 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2430 | m_matio.o: alloc.o parallel.o |
2431 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2432 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2433 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2434 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2435 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2436 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2437 | @@ -582,8 +582,9 @@ |
2438 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2439 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2440 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2441 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2442 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2443 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2444 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2445 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2446 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2447 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2448 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2449 | @@ -886,10 +887,10 @@ |
2450 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2451 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2452 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2453 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2454 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2455 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2456 | -state_init.o: units.o write_subs.o zmatrix.o |
2457 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2458 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2459 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2460 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2461 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2462 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2463 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2464 | |
2465 | === modified file 'Util/Gen-basis/Makefile' |
2466 | --- Util/Gen-basis/Makefile 2017-11-17 20:53:23 +0000 |
2467 | +++ Util/Gen-basis/Makefile 2017-12-28 12:43:28 +0000 |
2468 | @@ -431,7 +431,7 @@ |
2469 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2470 | m_matio.o: alloc.o parallel.o |
2471 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2472 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2473 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2474 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2475 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2476 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2477 | @@ -578,8 +578,9 @@ |
2478 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2479 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2480 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2481 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2482 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2483 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2484 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2485 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2486 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2487 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2488 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2489 | @@ -882,10 +883,10 @@ |
2490 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2491 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2492 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2493 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2494 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2495 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2496 | -state_init.o: units.o write_subs.o zmatrix.o |
2497 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2498 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2499 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2500 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2501 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2502 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2503 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2504 | |
2505 | === modified file 'Util/Grimme/Makefile' |
2506 | --- Util/Grimme/Makefile 2017-11-17 20:53:23 +0000 |
2507 | +++ Util/Grimme/Makefile 2017-12-28 12:43:28 +0000 |
2508 | @@ -369,7 +369,7 @@ |
2509 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2510 | m_matio.o: alloc.o parallel.o |
2511 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2512 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2513 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2514 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2515 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2516 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2517 | @@ -516,8 +516,9 @@ |
2518 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2519 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2520 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2521 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2522 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2523 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2524 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2525 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2526 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2527 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2528 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2529 | @@ -820,10 +821,10 @@ |
2530 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2531 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2532 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2533 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2534 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2535 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2536 | -state_init.o: units.o write_subs.o zmatrix.o |
2537 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2538 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2539 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2540 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2541 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2542 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2543 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2544 | |
2545 | === modified file 'Util/Helpers/Makefile' |
2546 | --- Util/Helpers/Makefile 2017-11-17 20:53:23 +0000 |
2547 | +++ Util/Helpers/Makefile 2017-12-28 12:43:28 +0000 |
2548 | @@ -372,7 +372,7 @@ |
2549 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2550 | m_matio.o: alloc.o parallel.o |
2551 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2552 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2553 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2554 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2555 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2556 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2557 | @@ -519,8 +519,9 @@ |
2558 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2559 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2560 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2561 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2562 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2563 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2564 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2565 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2566 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2567 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2568 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2569 | @@ -823,10 +824,10 @@ |
2570 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2571 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2572 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2573 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2574 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2575 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2576 | -state_init.o: units.o write_subs.o zmatrix.o |
2577 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2578 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2579 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2580 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2581 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2582 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2583 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2584 | |
2585 | === modified file 'Util/STM/ol-stm/Src/Makefile' |
2586 | --- Util/STM/ol-stm/Src/Makefile 2017-11-17 20:53:23 +0000 |
2587 | +++ Util/STM/ol-stm/Src/Makefile 2017-12-28 12:43:28 +0000 |
2588 | @@ -446,7 +446,7 @@ |
2589 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2590 | m_matio.o: alloc.o parallel.o |
2591 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2592 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2593 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2594 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2595 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2596 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2597 | @@ -593,8 +593,9 @@ |
2598 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2599 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2600 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2601 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2602 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2603 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2604 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2605 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2606 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2607 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2608 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2609 | @@ -897,10 +898,10 @@ |
2610 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2611 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2612 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2613 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2614 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2615 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2616 | -state_init.o: units.o write_subs.o zmatrix.o |
2617 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2618 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2619 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2620 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2621 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2622 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2623 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2624 | |
2625 | === modified file 'Util/SpPivot/Makefile' |
2626 | --- Util/SpPivot/Makefile 2017-11-17 20:53:23 +0000 |
2627 | +++ Util/SpPivot/Makefile 2017-12-28 12:43:28 +0000 |
2628 | @@ -376,7 +376,7 @@ |
2629 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2630 | m_matio.o: alloc.o parallel.o |
2631 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2632 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2633 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2634 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2635 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2636 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2637 | @@ -523,8 +523,9 @@ |
2638 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2639 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2640 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2641 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2642 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2643 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2644 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2645 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2646 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2647 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2648 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2649 | @@ -827,10 +828,10 @@ |
2650 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2651 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2652 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2653 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2654 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2655 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2656 | -state_init.o: units.o write_subs.o zmatrix.o |
2657 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2658 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2659 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2660 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2661 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2662 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2663 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2664 | |
2665 | === modified file 'Util/TS/TBtrans/Makefile' |
2666 | --- Util/TS/TBtrans/Makefile 2017-11-28 17:37:32 +0000 |
2667 | +++ Util/TS/TBtrans/Makefile 2017-12-28 12:43:28 +0000 |
2668 | @@ -779,8 +779,9 @@ |
2669 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2670 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2671 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2672 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2673 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2674 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2675 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2676 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2677 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2678 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2679 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2680 | @@ -1083,10 +1084,10 @@ |
2681 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2682 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2683 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2684 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2685 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2686 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2687 | -state_init.o: units.o write_subs.o zmatrix.o |
2688 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2689 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2690 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2691 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2692 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2693 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2694 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2695 | |
2696 | === modified file 'Util/TS/ts2ts/Makefile' |
2697 | --- Util/TS/ts2ts/Makefile 2017-11-17 20:53:23 +0000 |
2698 | +++ Util/TS/ts2ts/Makefile 2017-12-28 12:43:28 +0000 |
2699 | @@ -376,7 +376,7 @@ |
2700 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2701 | m_matio.o: alloc.o parallel.o |
2702 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2703 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2704 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2705 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2706 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2707 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2708 | @@ -523,8 +523,9 @@ |
2709 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2710 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2711 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2712 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2713 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2714 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2715 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2716 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2717 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2718 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2719 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2720 | @@ -827,10 +828,10 @@ |
2721 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2722 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2723 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2724 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2725 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2726 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2727 | -state_init.o: units.o write_subs.o zmatrix.o |
2728 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2729 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2730 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2731 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2732 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2733 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2734 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2735 | |
2736 | === modified file 'Util/TS/tshs2tshs/Makefile' |
2737 | --- Util/TS/tshs2tshs/Makefile 2017-11-17 20:53:23 +0000 |
2738 | +++ Util/TS/tshs2tshs/Makefile 2017-12-28 12:43:28 +0000 |
2739 | @@ -441,7 +441,7 @@ |
2740 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2741 | m_matio.o: alloc.o parallel.o |
2742 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2743 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2744 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2745 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2746 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2747 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2748 | @@ -588,8 +588,9 @@ |
2749 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2750 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2751 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2752 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2753 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2754 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2755 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2756 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2757 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2758 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2759 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2760 | @@ -892,10 +893,10 @@ |
2761 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2762 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2763 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2764 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2765 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2766 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2767 | -state_init.o: units.o write_subs.o zmatrix.o |
2768 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2769 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2770 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2771 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2772 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2773 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2774 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2775 | |
2776 | === modified file 'Util/VCA/Makefile' |
2777 | --- Util/VCA/Makefile 2017-11-17 20:53:23 +0000 |
2778 | +++ Util/VCA/Makefile 2017-12-28 12:43:28 +0000 |
2779 | @@ -402,7 +402,7 @@ |
2780 | m_mat_invert.o: intrinsic_missing.o m_pivot_array.o precision.o |
2781 | m_matio.o: alloc.o parallel.o |
2782 | m_memory.o: local_sys.o memoryinfo.o parallel.o |
2783 | -m_mesh_node.o: intrinsic_missing.o parallel.o precision.o |
2784 | +m_mesh_node.o: intrinsic_missing.o parallel.o precision.o units.o |
2785 | m_mixing.o: class_Data1D.o class_Fstack_Data1D.o parallel.o precision.o |
2786 | m_mixing_scf.o: class_Fstack_Data1D.o m_mixing.o parallel.o precision.o |
2787 | m_monitor.o: alloc.o class_OrbitalDistribution.o class_Sparsity.o geom_helper.o |
2788 | @@ -549,8 +549,9 @@ |
2789 | m_ts_io_ctype.o: parallel.o precision.o units.o |
2790 | m_ts_iodm.o: class_OrbitalDistribution.o class_SpData2D.o class_Sparsity.o |
2791 | m_ts_iodm.o: m_io_s.o m_os.o parallel.o precision.o |
2792 | -m_ts_kpoints.o: files.o find_kgrid.o local_sys.o m_ts_global_vars.o m_ts_tdir.o |
2793 | -m_ts_kpoints.o: minvec.o parallel.o precision.o siesta_cml.o siesta_options.o |
2794 | +m_ts_kpoints.o: files.o find_kgrid.o kpoint_grid.o local_sys.o |
2795 | +m_ts_kpoints.o: m_ts_global_vars.o m_ts_tdir.o minvec.o parallel.o precision.o |
2796 | +m_ts_kpoints.o: siesta_cml.o siesta_options.o |
2797 | m_ts_method.o: alloc.o fdf_extra.o geom_helper.o m_region.o m_ts_electype.o |
2798 | m_ts_mumps_init.o: class_OrbitalDistribution.o class_Sparsity.o |
2799 | m_ts_mumps_init.o: create_Sparsity_Union.o m_ts_electype.o m_ts_method.o |
2800 | @@ -853,10 +854,10 @@ |
2801 | state_init.o: m_os.o m_pivot_methods.o m_rmaxh.o m_sparse.o |
2802 | state_init.o: m_sparsity_handling.o m_spin.o m_steps.o m_supercell.o |
2803 | state_init.o: m_test_io.o m_ts_charge.o m_ts_electype.o m_ts_global_vars.o |
2804 | -state_init.o: m_ts_io.o m_ts_options.o m_ts_sparse.o m_ts_tri_init.o |
2805 | -state_init.o: normalize_dm.o overlap.o parallel.o proximity_check.o |
2806 | -state_init.o: siesta_cml.o siesta_geom.o siesta_options.o sparse_matrices.o |
2807 | -state_init.o: units.o write_subs.o zmatrix.o |
2808 | +state_init.o: m_ts_io.o m_ts_kpoints.o m_ts_options.o m_ts_sparse.o |
2809 | +state_init.o: m_ts_tri_init.o normalize_dm.o overlap.o parallel.o |
2810 | +state_init.o: proximity_check.o siesta_cml.o siesta_geom.o siesta_options.o |
2811 | +state_init.o: sparse_matrices.o units.o write_subs.o zmatrix.o |
2812 | struct_init.o: alloc.o atmfuncs.o atomlist.o files.o ioxv.o m_exp_coord.o |
2813 | struct_init.o: m_iostruct.o m_mpi_utils.o m_steps.o parallel.o periodic_table.o |
2814 | struct_init.o: siesta_cml.o siesta_geom.o siesta_master.o siesta_options.o |
2815 | |
2816 | === modified file 'version.info' |
2817 | --- version.info 2017-12-22 10:33:21 +0000 |
2818 | +++ version.info 2017-12-28 12:43:28 +0000 |
2819 | @@ -1,1 +1,5 @@ |
2820 | +<<<<<<< TREE |
2821 | siesta-4.1--831 |
2822 | +======= |
2823 | +siesta-4.1--811--ts-int-2 |
2824 | +>>>>>>> MERGE-SOURCE |