The Elk Code
elk.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2002-2011 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 ! main routine for the Elk code
7 program elk
8 use modmain
9 use modmpi
10 use modomp
11 use modvars
12 use modramdisk
13 use moddelf
14 implicit none
15 ! local variables
16 logical exist
17 character(64) str
18 ! initialise MPI execution environment
19 call mpi_init(ierror)
20 ! duplicate mpi_comm_world
21 call mpi_comm_dup(mpi_comm_world,mpicom,ierror)
22 ! determine the number of MPI processes
23 call mpi_comm_size(mpicom,np_mpi,ierror)
24 ! determine the local MPI process number
25 call mpi_comm_rank(mpicom,lp_mpi,ierror)
26 ! determine if the local process is the master
27 if (lp_mpi == 0) then
28  mp_mpi=.true.
29  write(str,'("Elk code version ",I0,".",I0,".",I0," started")') version
30  call writebox(6,trim(str))
31 else
32  mp_mpi=.false.
33 end if
34 10 continue
35 ! read input files
36 call readinput
37 ! initialise OpenMP variables
38 call omp_init
39 ! initialise the MKL library
40 call mkl_init
41 if (mp_mpi) then
42  write(*,*)
43  write(*,'("Number of MPI processes : ",I0)') np_mpi
44  write(*,'("Number of OpenMP threads per MPI process : ",I0)') maxthd
45  write(*,'("Total number of threads (MPI x OpenMP) : ",I0)') np_mpi*maxthd
46  write(*,'("Maximum OpenMP nesting level : ",I0)') maxlvl
47  write(*,'("Number of OpenMP threads at first nesting level : ",I0)') maxthd1
48  write(*,'("Number of MKL threads : ",I0)') maxthdmkl
49 ! check if Elk is already running in this directory
50  inquire(file='RUNNING',exist=exist)
51  if (exist) then
52  write(*,*)
53  write(*,'("Info(elk): several copies of Elk may be running in this path")')
54  write(*,'("(this could be intentional, or result from a previous crash,")')
55  write(*,'(" or arise from an incorrect MPI compilation)")')
56  else
57  open(50,file='RUNNING')
58  close(50)
59  end if
60  if (batch) then
61  wrtvars=.true.
62  write(*,*)
63  write(*,'("Batch mode enabled")')
64  end if
65  if (wrtvars) then
66 ! delete the VARIABLES.OUT file
67  call delfile('VARIABLES.OUT')
68 ! write version number to VARIABLES.OUT
69  call writevars('version',nv=3,iva=version)
70  end if
71 else
72  wrtvars=.false.
73 end if
74 ! initialise the RAM disk if required
75 if (ramdisk) then
76  call initrd
77  if (mp_mpi) then
78  write(*,*)
79  write(*,'("RAM disk enabled")')
80  if (.not.wrtdisk) then
81  write(*,*)
82  write(*,'("Info(elk): some direct access files are not written to disk")')
83  end if
84  end if
85 else
86  wrtdisk=.true.
87 end if
88 ! perform the tasks
89 do itask=1,ntasks
91  if (mp_mpi) then
92  write(str,'("Current task : ",I0)') task
93  call writebox(6,trim(str))
94  end if
95 ! increment the batch variables if required
96  if (batch) call batchdv
97 ! check if task can be run with MPI
98  if (lp_mpi > 0) then
99  if (all(task /= [-1,0,1,2,3,5,15,16,28,29,61,62,63,110,120,121,125,135,136,&
100  162,170,180,185,200,201,202,205,208,209,240,241,270,271,300,320,330,331, &
101  350,351,352,371,372,373,380,390,420,421,440,460,461,462,463,471,478,600, &
102  601,610,620,630,640,670,680,700,701,720,725,820])) then
103  write(*,'("Info(elk): MPI process ",I0," idle for task ",I0)') lp_mpi,task
104  goto 20
105  end if
106  end if
107 ! write task to VARIABLES.OUT
108  if (wrtvars) call writevars('task',iv=task)
109  select case(task)
110  case(-1)
111  call idle
112  case(0,1)
113  call gndstate
114  case(2,3)
115  call geomopt
116  case(5)
117  call hartfock
118  case(10)
119  call writedos
120  case(14)
121  call writesf
122  case(15,16)
123  call writelsj
124  case(20,21,22,23,24)
125  call bandstr
126  case(25)
127  call effmass
128  case(28,29)
129  call mae
130  case(31,32,33)
131  call rhoplot
132  case(41,42,43)
133  call potplot
134  case(51,52,53)
135  call elfplot
136  case(61,62,63,162)
137  call wfplot
138  case(65)
139  call wfcrplot
140  case(68)
141  call rdstatus
142  case(71,72,73,81,82,83,141,142,143,151,152,153)
143  call vecplot
144  case(91,92,93)
145  call dbxcplot
146  case(100,101,103,104)
147  call fermisurf
148  case(102)
149  call fermisurfbxsf
150  case(105)
151  call nesting
152  case(110)
153  call mossbauer
154  case(115)
155  call writeefg
156  case(120)
157  call writepmat
158  case(121)
159  call dielectric
160  case(122)
161  call moke
162  case(125)
163  call nonlinopt
164  case(130)
165  call writeexpmat
166  case(135)
167  call writewfpw
168  case(140)
169  call elnes
170  case(150)
171  call writeevsp
172  case(160)
173  call torque
174  case(170)
175  call writeemd
176  case(171,172,173)
177  call emdplot
178  case(180)
179  call writeepsinv
180  case(185)
181  call writehmlbse
182  case(186)
183  call writeevbse
184  case(187)
185  call dielectric_bse
186  case(190)
187  call geomplot
188  case(195)
189  call sfacrho
190  case(196)
191  call sfacmag
192  case(200,201,202)
193  call phononsc
194  case(205)
195  call phonon
196  case(208,209)
197  call bornechg
198  case(210)
199  call phdos
200  case(220)
201  call phdisp
202  case(230)
203  call writephn
204  case(240,241)
205  call ephcouple
206  case(245)
207  call phlwidth
208  case(250)
209  call alpha2f
210  case(260)
211  call eliashberg
212  case(270,271)
213  call gndsteph
214  case(280)
215  call ephdos
216  case(285)
217  call aceplot
218  case(300)
219  call rdmft
220  case(320)
221  call tddftlr
222  case(330,331)
223  call tddftsplr
224  case(341,342,343)
225  call wxcplot
226  case(350,351,352)
227  call spiralsc
228  case(371,372,373)
229  call jprplot
230  case(380)
231  call piezoelt
232  case(390)
233  call magnetoelt
234  case(400)
235  call writetm
236  case(420,421)
237  call moldyn
238  case(430)
239  call writestrain
240  case(440)
241  call writestress
242  case(450)
243  call genafieldt
244  case(455)
245  call writeafpdt
246  case(456)
247  call writeefieldw
248  case(460,461,462,463)
249  call tddft
250  case(471)
251  call rhosplot
252  case(478)
253  call bornecdyn
254  case(480,481)
255  call dielectric_tdrt
256  case(500)
257  call testcheck
258  case(550)
259  call writew90
260  case(600,601)
261  call gwsefm
262  case(610)
263  call gwspecf
264  case(620)
265  call gwbandstr
266  case(630)
267  call writegwefm
268  case(640)
269  call gwdmat
270  case(670)
271 ! call writevcl1234
272  case(680)
273 ! call tdhfc
274  case(700,701)
275  call gndstulr
276  case(710)
277  call writedosu
278  case(720,725)
279  call bandstrulr
280  case(731,732,733)
281  call rhouplot
282  case(741,742,743)
283  call potuplot
284  case(771,772,773)
285  call maguplot
286  case(820)
287  call tddftlru
288  case default
289  write(*,*)
290  write(*,'("Error(elk): task not defined : ",I0)') task
291  write(*,*)
292  stop
293  end select
294 ! reset the OpenMP thread variables
295  call omp_reset
296 20 continue
297 ! synchronise MPI processes
298  call mpi_barrier(mpicom,ierror)
299 ! check if a restart is requested
300  call checkrst
301  if (trestart) then
302  if (mp_mpi) then
303  write(*,*)
304  write(*,'("Restarting Elk")')
305  end if
306  goto 10
307  end if
308 end do
309 if (mp_mpi) then
310  call delfile('RUNNING')
311  call writebox(6,"Elk code stopped")
312 end if
313 ! terminate MPI execution environment
314 call mpi_finalize(ierror)
315 end program
316 
317 !BOI
318 ! !TITLE: {\huge{\sc The Elk Code Manual}}\\ \Large{\sc Version 11.2.3}\\ \vskip 20pt \includegraphics[height=1cm]{elk_silhouette.pdf}
319 ! !AUTHORS: {\sc J. K. Dewhurst, S. Sharma} \\ {\sc L. Nordstr\"{o}m, F. Cricchio, O. Gr\aa n\"{a}s} \\ {\sc E. K. U. Gross}
320 ! !AFFILIATION:
321 ! !INTRODUCTION: Introduction
322 ! Welcome to the Elk Code! Elk is an all-electron full-potential linearised
323 ! augmented-plane-wave (FP-LAPW) code for determining the properties of
324 ! crystalline solids. It was developed originally at the
325 ! Karl-Franzens-Universit\"{a}t Graz as part of the EXCITING EU Research and
326 ! Training Network project\footnote{EXCITING code developed under the Research
327 ! and Training Network EXCITING funded by the EU, contract No.
328 ! HPRN-CT-2002-00317}. The guiding philosophy during the implementation of the
329 ! code was to keep it as simple as possible for both users and developers
330 ! without compromising on its capabilities. All the routines are released
331 ! under either the GNU General Public License (GPL) or the GNU Lesser General
332 ! Public License (LGPL) in the hope that they may inspire other scientists to
333 ! implement new developments in the field of density functional theory and
334 ! beyond.
335 !
336 ! \section{Acknowledgments}
337 ! Lots of people contributed to the Elk code with ideas, checking and testing,
338 ! writing code or documentation and general encouragement. They include
339 ! Claudia Draxl, Clas Persson, Fredrik Bultmark, Christian Brouder, Rickard
340 ! Armiento, Andrew Chizmeshya, Per Anderson, Igor Nekrasov, Sushil Auluck,
341 ! Frank Wagner, Fateh Kalarasse, J\"{u}rgen Spitaler, Stefano Pittalis,
342 ! Nektarios Lathiotakis, Tobias Burnus, Stephan Sagmeister, Christian
343 ! Meisenbichler, S\'{e}bastien Leb\`{e}gue, Yigang Zhang, Fritz K\"{o}rmann,
344 ! Alexey Baranov, Anton Kozhevnikov, Shigeru Suehara, Frank Essenberger,
345 ! Antonio Sanna, Tyrel McQueen, Tim Baldsiefen, Marty Blaber, Anton
346 ! Filanovich, Torbj\"{o}rn Bj\"{o}rkman, Martin Stankovski, Jerzy Goraus,
347 ! Markus Meinert, Daniel Rohr, Vladimir Nazarov, Kevin Krieger, Pink Floyd,
348 ! Arkardy Davydov, Florian Eich, Aldo Romero Castro, Koichi Kitahara, James
349 ! Glasbrenner, Konrad Bussmann, Igor Mazin, Matthieu Verstraete, David
350 ! Ernsting, Stephen Dugdale, Peter Elliott, Marcin Dulak, Jos\'{e} A. Flores
351 ! Livas, Stefaan Cottenier, Yasushi Shinohara, Michael Fechner, Yaroslav
352 ! Kvashnin, Tristan M\"uller, Arsenii Gerasimov, Manh Duc Le, Jon Lafuente
353 ! Bartolom\'{e}, Ren\'{e} Wirnata, Jagdish Kumar, Andrew Shyichuk, Nisha
354 ! Singh, Pietro Bonfa, Ronald Cohen, Alyn James, Chung-Yu Wang, Leon Kerber,
355 ! Yunfan Liang, Xavier Gonze, Mike Bruckhoff, Eddie Harris-Lee, Andreas
356 ! Fischer, Wenhan Chen, Jyoti Krishna and Sebastian Kalh\"{o}fer. Special
357 ! mention of David Singh's very useful book on the LAPW method \footnote{D. J.
358 ! Singh, {\it Planewaves, Pseudopotentials and the LAPW Method} (Kluwer
359 ! Academic Publishers, Boston, 1994).} must also be made. Finally we would
360 ! like to acknowledge the generous support of Karl-Franzens-Universit\"{a}t
361 ! Graz, the EU Marie-Curie Research Training Networks initiative, the Max Born
362 ! Institute and the Max Planck Society.
363 !
364 ! \vspace{24pt}
365 ! Kay Dewhurst, Sangeeta Sharma \\
366 ! Lars Nordstr\"{o}m, Francesco Cricchio, Oscar Gr\aa n\"{a}s \\
367 ! Hardy Gross
368 !
369 ! \vspace{12pt}
370 ! Halle, Berlin, Uppsala and Jerusalem
371 ! \newpage
372 !
373 ! \section{Units}
374 ! Unless explicitly stated otherwise, Elk uses atomic units. In this system
375 ! $\hbar=1$, the electron mass $m=1$, the Bohr radius $a_0=1$ and the electron
376 ! charge $e=1$ (note that the electron charge is positive, so that the atomic
377 ! numbers $Z$ are negative). Thus the atomic unit of length is
378 ! 0.529177210903(80) \AA, and the atomic unit of energy is the Hartree which
379 ! equals 27.211386245988(53) eV. The unit of the external magnetic fields is
380 ! defined such that one unit of magnetic field in {\tt elk.in} equals
381 ! 1715.255541 Tesla.
382 !
383 ! \section{Compiling and running Elk}
384 ! \subsection{Compiling the code}
385 ! Unpack the code from the archive file. Edit the file {\tt make.inc} in the
386 ! {\tt elk} directory and adjust the compiler options for your computer
387 ! system. Use of machine-optimised BLAS/LAPACK and FFT libraries will result
388 ! in significant increase in performance. Following this, run
389 ! \begin{verbatim}
390 ! make
391 ! \end{verbatim}
392 ! This will hopefully compile the entire code and all the libraries into one
393 ! executable, {\tt elk}, located in the {\tt elk/src} directory. It will also
394 ! compile two useful auxiliary programs, namely {\tt spacegroup} for producing
395 ! crystal geometries from spacegroup data and {\tt eos} for fitting equations
396 ! of state to energy-volume data. If you want to compile everything all over
397 ! again, then run {\tt make clean} from the {\tt elk} directory, followed by
398 ! {\tt make}.
399 ! \subsubsection{Parallelism in Elk}
400 ! Three forms of parallelism are implemented in Elk, and all can be used in
401 ! combination with each other, with efficiency depending on the particular
402 ! task, crystal structure and computer system. You may need to contact your
403 ! system administrator for assistance with running Elk in parallel.
404 ! \begin{enumerate}
405 ! \item
406 ! OpenMP works for symmetric multiprocessors, i.e. computers that have many
407 ! cores with the same unified memory accessible to each. It is enabled by
408 ! setting the appropriate command-line options (e.g. {\tt -qopenmp} for the
409 ! Intel compiler) before compiling, and also at runtime by the environment
410 ! variable
411 ! \begin{verbatim}
412 ! export OMP_NUM_THREADS=n
413 ! \end{verbatim}
414 ! where n is the number of cores available on a particular node. The same can
415 ! be accomplished in {\tt elk.in} with
416 ! \begin{verbatim}
417 ! maxthd
418 ! n
419 ! \end{verbatim}
420 ! In addition, some vendor-supplied BLAS/LAPACK libraries use OpenMP
421 ! internally. The maximum number of threads used for LAPACK operations by
422 ! Intel's MKL can be set with
423 ! \begin{verbatim}
424 ! maxthdmkl
425 ! n
426 ! \end{verbatim}
427 ! \item
428 ! The message passing interface (MPI) is particularly suitable for running
429 ! Elk across multiple nodes of a cluster, with scaling to hundreds of
430 ! processors possible. To enable MPI, comment out the lines indicated in
431 ! {\tt elk/make.inc}. Then run {\tt make clean} followed by {\tt make}. If
432 ! $y$ is the number of nodes and $x$ is the number of cores per node, then at
433 ! runtime envoke
434 ! \begin{verbatim}
435 ! mpirun -np z ./elk
436 ! \end{verbatim}
437 ! where $z=x y$ is the total number of cores available on the machine.
438 ! Highest efficiency is obtained by using hybrid parallelism with OpenMP on
439 ! each node and MPI across nodes. This can be done by compiling the code
440 ! using the MPI Fortran compiler in combination with the OpenMP command-line
441 ! option. At runtime set {\tt export OMP\_NUM\_THREADS=x} and start the MPI
442 ! run with {\em one process per node} as follows
443 ! \begin{verbatim}
444 ! mpirun -pernode -np y ./elk
445 ! \end{verbatim}
446 ! The number of MPI processes is reported in the file {\tt INFO.OUT} which
447 ! serves as a check that MPI is running correctly. Note that version 2 of the
448 ! MPI libraries is required to run Elk.
449 ! \item
450 ! Phonon calculations use a simple form of parallelism by just examining the
451 ! run directory for dynamical matrix files. These files are of the form
452 ! \begin{verbatim}
453 ! DYN_Qqqqq_qqqq_qqqq_Sss_Aaa_Pp.OUT
454 ! \end{verbatim}
455 ! and contain a single row of a particular dynamical matrix. Elk simply finds
456 ! which {\tt DYN} files do not exist, chooses one and runs it. This way many
457 ! independent runs of Elk can be started in the same directory on a networked
458 ! file system (NFS), and will run until all the dynamical matrices files are
459 ! completed. Should a particular run crash, then delete the associated empty
460 ! {\tt DYN} file and rerun Elk.
461 ! \end{enumerate}
462 !
463 ! \subsection{Memory requirements}
464 ! Elk is a memory-bound code and runs best on processors with large caches and
465 ! a large number of memory channels per core. Some tasks in Elk require a
466 ! considerable amount of memory which can exceed the physical memory of the
467 ! computer. In such cases, the number of threads at the first nesting level
468 ! can be reduced with (for example)
469 ! \begin{verbatim}
470 ! maxthd1
471 ! -4
472 ! \end{verbatim}
473 ! which restricts the number of threads at the first nesting level to
474 ! maxthd/4. Deeper nesting levels, which generally require less memory, will
475 ! still utilise the full compliment of available threads.
476 ! \subsubsection{Stack space}
477 ! The latest versions of Elk use stack space aggressively. This is because
478 ! accessing variables is faster on the stack than on the heap. This can,
479 ! however, result in the code crashing as threads run out of their stack
480 ! space, usually accompanied with a `segmentation fault' error. To avoid this,
481 ! increase the main and OpenMP stack sizes with (for example)
482 ! \begin{verbatim}
483 ! export OMP_STACKSIZE=512M
484 ! ulimit -Ss 524288
485 ! \end{verbatim}
486 ! before running the code. Alternatively, use the script file {\tt elk.sh}
487 ! found in the {\tt elk/} directory which increases the stack space and sets
488 ! additional OpenMP environment variables
489 !
490 ! \subsection{Linking with the Libxc functional library}
491 ! Libxc is a library of exchange-correlation functionals. Elk can use the
492 ! complete set of LDA and GGA functionals available in Libxc as well as some
493 ! meta-GGAs. In order to enable this, first download and compile Libxc. This
494 ! should have produced the files {\tt libxc.a} and {\tt libxcf03.a} in the
495 ! Libxc directory {\tt src/.libs}. Copy these to the {\tt elk/src} directory
496 ! and then uncomment the lines indicated for Libxc in {\tt elk/make.inc}. Once
497 ! this is done, run {\tt make clean} followed by {\tt make}. To select a
498 ! particular functional of Libxc, use the block
499 ! \begin{verbatim}
500 ! xctype
501 ! 100 nx nc
502 ! \end{verbatim}
503 ! where {\tt nx} and {\tt nc} are, respectively, the numbers of the exchange
504 ! and correlation functionals in the Libxc library. See the file
505 ! {\tt elk/src/libxcf03.f90} for a list of the functionals and their
506 ! associated numbers.
507 !
508 ! \subsection{Running the code}
509 ! As a rule, all input files for the code are in lower case and end with the
510 ! extension {\tt .in}. All output files are uppercase and have the extension
511 ! {\tt .OUT}. For most cases, the user will only need to modify the file
512 ! {\tt elk.in}. In this file input parameters are arranged in blocks.
513 ! Each block consists of a block name on one line and the block variables on
514 ! subsequent lines. Almost all blocks are optional: the code uses reasonable
515 ! default values in cases where they are absent. Blocks can appear in any
516 ! order, if a block is repeated then the second instance is used. Comment
517 ! lines can be included in the input file and begin with the {\tt !}
518 ! character.
519 !
520 ! \subsubsection{Stopping the code}
521 ! To cleanly stop an Elk run simply create the empty file {\tt STOP} in the
522 ! running directory. This can be done with
523 ! \begin{verbatim}
524 ! touch STOP
525 ! \end{verbatim}
526 ! The code can be completely restarted with a changed {\tt elk.in} by creating
527 ! the empty file {\tt RESTART} after creating the {\tt STOP} file. This is
528 ! particularly convenient when running on a shared computer because the input
529 ! file can be changed without having to resubmit the job.
530 !
531 ! \subsubsection{Species files}
532 ! The only other input files are those describing the atomic species which go
533 ! into the crystal. These files are found in the {\tt species} directory and
534 ! are named with the element symbol and the extension {\tt .in}, for example
535 ! {\tt Sb.in}. They contain parameters like the atomic charge, mass,
536 ! muffin-tin radius, occupied atomic states and the type of linearisation
537 ! required. Here as an example is the copper species file {\tt Cu.in}:
538 ! \begin{verbatim}
539 ! 'Cu' : spsymb
540 ! 'copper' : spname
541 ! -29.0000 : spzn
542 ! 115837.2716 : spmass
543 ! 0.371391E-06 2.0000 34.8965 500 : rminsp, rmt, rmaxsp, nrmt
544 ! 10 : nstsp
545 ! 1 0 1 2.00000 T : nsp, lsp, ksp, occsp, spcore
546 ! 2 0 1 2.00000 T
547 ! 2 1 1 2.00000 T
548 ! 2 1 2 4.00000 T
549 ! 3 0 1 2.00000 T
550 ! 3 1 1 2.00000 F
551 ! 3 1 2 4.00000 F
552 ! 3 2 2 4.00000 F
553 ! 3 2 3 6.00000 F
554 ! 4 0 1 1.00000 F
555 ! 1 : apword
556 ! 0.1500 0 F : apwe0, apwdm, apwve
557 ! 1 : nlx
558 ! 2 2 : lx, apword
559 ! 0.1500 0 T : apwe0, apwdm, apwve
560 ! 0.1500 1 T
561 ! 4 : nlorb
562 ! 0 2 : lorbl, lorbord
563 ! 0.1500 0 F : lorbe0, lorbdm, lorbve
564 ! 0.1500 1 F
565 ! 1 2
566 ! 0.1500 0 F
567 ! 0.1500 1 F
568 ! 2 2
569 ! 0.1500 0 F
570 ! 0.1500 1 F
571 ! 1 3
572 ! 0.1500 0 F
573 ! 0.1500 1 F
574 ! -2.8652 0 T
575 ! \end{verbatim}
576 ! The input parameters are defined as follows:
577 ! \vskip 6pt
578 ! {\tt spsymb} \\
579 ! The symbol of the element.
580 ! \vskip 6pt
581 ! {\tt spname} \\
582 ! The name of the element.
583 ! \vskip 6pt
584 ! {\tt spzn} \\
585 ! Nuclear charge: should be negative since the electron charge is taken to be
586 ! postive in the code; it can also be fractional for purposes of doping.
587 ! \vskip 6pt
588 ! {\tt spmass} \\
589 ! Nuclear mass in atomic units.
590 ! \vskip 6pt
591 ! {\tt rminsp}, {\tt rmt}, {\tt rmaxsp}, {\tt nrmt} \\
592 ! Respectively, the minimum radius on logarithmic radial mesh; muffin-tin
593 ! radius; effective infinity for atomic radial mesh; and number of radial mesh
594 ! points to muffin-tin radius.
595 ! \vskip 6pt
596 ! {\tt nstsp} \\
597 ! Number of atomic states.
598 ! \vskip 6pt
599 ! {\tt nsp}, {\tt lsp}, {\tt ksp}, {\tt occsp}, {\tt spcore} \\
600 ! Respectively, the principal quantum number of the radial Dirac equation;
601 ! quantum number $l$; quantum number $k$ ($l$ or $l+1$); occupancy of atomic
602 ! state (can be fractional); {\tt .T.} if state is in the core and therefore
603 ! treated with the Dirac equation in the spherical part of the muffin-tin
604 ! Kohn-Sham potential.
605 ! \vskip 6pt
606 ! {\tt apword} \\
607 ! Default APW function order, i.e. the number of radial functions and
608 ! therefore the order of the radial derivative matching at the muffin-tin
609 ! surface.
610 ! \vskip 6pt
611 ! {\tt apwe0}, {\tt apwdm}, {\tt apwve} \\
612 ! Respectively, the default APW linearisation energy; the order of the energy
613 ! derivative of the APW radial function $\partial^m u(r)/\partial E^m$; and
614 ! {\tt .T.} if the linearisation energy is allowed to vary.
615 ! \vskip 6pt
616 ! {\tt nlx} \\
617 ! The number of exceptions to the default APW configuration. These should be
618 ! listed on subsequent lines for particular angular momenta. In this example,
619 ! the fixed energy APW with angular momentum $d$ ({\tt lx} $=2$) is replaced
620 ! with a LAPW, which has variable linearisation energy.
621 ! \vskip 6pt
622 ! {\tt nlorb} \\
623 ! Number of local-orbitals.
624 ! \vskip 6pt
625 ! {\tt lorbl}, {\tt lorbord} \\
626 ! Respectively, the angular momentum $l$ of the local-orbital; and the order
627 ! of the radial derivative which goes to zero at the muffin-tin surface.
628 ! \vskip 6pt
629 ! {\tt lorbe0}, {\tt lorbdm}, {\tt lorbve} \\
630 ! Respectively, the default local-orbital linearisation energy; the order of
631 ! the energy derivative of the local-orbital radial function; and {\tt .T.} if
632 ! the linearisation energy is allowed to vary.
633 !
634 ! \subsubsection{Examples}
635 ! The best way to learn to use Elk is to run the examples included with the
636 ! package. These can be found in the {\tt examples} directory and use many of
637 ! the code's capabilities. The following section which describes all the input
638 ! parameters will be of invaluable assistance.
639 !
640 ! \section{Input blocks}
641 ! This section lists all the input blocks available. It is arranged with the
642 ! name of the block followed by a table which lists each parameter name, what
643 ! the parameter does, its type and default value. A horizontal line in the
644 ! table indicates a new line in {\tt elk.in}. Below the table is a brief
645 ! overview of the block's function.
646 !
647 ! \block{actype}{
648 ! {\tt actype} & analytic continuation type & integer & 10}
649 ! This defines the type of numerical analytic continuation to be used in $GW$
650 ! calculations for continuing functions, defined on the Matsubara frequencies,
651 ! to the real axis. Currently implemented are:
652 ! \vskip 6pt
653 ! \begin{tabularx}{\textwidth}[h]{lX}
654 ! 1 & Simple pole model (see routines {\tt acpole} and {\tt zfpole}) \\
655 ! 10 & Stabilised Pad\'{e} approximant (see routines {\tt pade} and
656 ! {\tt pades})
657 ! \end{tabularx}
658 ! \vskip 6pt
659 !
660 ! \block{atoms}{
661 ! {\tt nspecies} & number of species & integer & 0 \\
662 ! \hline
663 ! {\tt spfname(i)} & species filename for species $i$ & string & - \\
664 ! \hline
665 ! {\tt natoms(i)} & number of atoms for species $i$ & integer & - \\
666 ! \hline
667 ! {\tt atposl(j,i)} & atomic position in lattice coordinates for atom $j$
668 ! & real(3) & - \\
669 ! {\tt bfcmt(j,i)} & muffin-tin external magnetic field in Cartesian
670 ! coordinates for atom $j$ & real(3) & -}
671 ! Defines the atomic species as well as their positions in the unit cell and
672 ! the external magnetic field applied throughout the muffin-tin. These fields
673 ! are used to break spin symmetry and should be considered infinitesimal as
674 ! they do not contribute directly to the total energy. Collinear calculations
675 ! are more efficient if the field is applied in the $z$-direction. One could,
676 ! for example, set up an antiferromagnetic crystal by pointing the field on
677 ! one atom in the positive $z$-direction and in the opposite direction on
678 ! another atom. If {\tt molecule} is {\tt .true.} then the atomic positions
679 ! are assumed to be in Cartesian coordinates. See also {\tt sppath},
680 ! {\tt bfieldc} and {\tt molecule}.
681 !
682 ! \block{autodlefe}{
683 ! {\tt autodlefe} & {\tt .true.} if the difference between the fixed
684 ! linearisation energies and Fermi energy should be found automatically &
685 ! logical & {\tt .true.}}
686 ! When this variable is {\tt .true.} then {\tt dlefe} is set to the first
687 ! energy moment of eigenvalues below the Fermi energy down to {\tt esccut}.
688 ! This is used only when {\tt autolinengy} is also {\tt .true.}. See the
689 ! routine {\tt finddlefe}.
690 !
691 ! \block{autokpt}{
692 ! {\tt autokpt} & {\tt .true.} if the $k$-point set is to be determined
693 ! automatically & logical & {\tt .false.}}
694 ! See {\tt radkpt} for details.
695 !
696 ! \block{autolinengy}{
697 ! {\tt autolinengy} & {\tt .true.} if the fixed linearisation energies are
698 ! to be determined automatically & logical & {\tt .false.}}
699 ! See {\tt dlefe} for details.
700 !
701 ! \block{autoswidth}{
702 ! {\tt autoswidth} & {\tt .true.} if the smearing parameter {\tt swidth}
703 ! should be determined automatically & logical & {\tt .false.}}
704 ! Calculates the smearing width from the $k$-point density, $V_{\rm BZ}/n_k$;
705 ! the valence band width, $W$; and an effective mass parameter, $m^{*}$;
706 ! according to
707 ! $$ \sigma=\frac{\sqrt{2W}}{m^{*}}\left(\frac{3}{4\pi}
708 ! \frac{V_{\rm BZ}}{n_k}\right)^{1/3}. $$
709 ! The variable {\tt mstar} then replaces {\tt swidth} as the control parameter
710 ! of the smearing width. A large value of $m^{*}$ gives a narrower smearing
711 ! function. Since {\tt swidth} is adjusted according to the fineness of the
712 ! ${\bf k}$-mesh, the smearing parameter can then be eliminated. It is not
713 ! recommended that {\tt autoswidth} be used in conjunction with the
714 ! Fermi-Dirac smearing function, since the electronic temperature will then be
715 ! a function of the $k$-point mesh. See T. Bj\"orkman and O. Gr\aa n\"as,
716 ! {\it Int. J. Quant. Chem.} DOI: 10.1002/qua.22476 (2010) for details. See
717 ! also {\tt stype} and {\tt swidth}.
718 !
719 ! \block{avec}{
720 ! {\tt avec(1)} & first lattice vector & real(3) & $(1.0,0.0,0.0)$ \\
721 ! \hline
722 ! {\tt avec(2)} & second lattice vector & real(3) & $(0.0,1.0,0.0)$ \\
723 ! \hline
724 ! {\tt avec(3)} & third lattice vector & real(3) & $(0.0,0.0,1.0)$}
725 ! Lattice vectors of the crystal in atomic units (Bohr).
726 !
727 ! \block{avecref}{
728 ! {\tt avecref(1)} & first reference lattice vector, etc. & real(3) &
729 ! $(0.0,0.0,0.0)$}
730 ! Reference lattice vectors for calculating the ${\bf G}$-vector grid and
731 ! derived quantities. If any of these elements are non-zero then the code
732 ! computes the corresponding reciprocal lattice vectors and set of
733 ! ${\bf G}$-vectors. These are then transformed to be identical to those
734 ! calculated with {\tt avec}. The purpose of this is to enable accurate
735 ! energy-volume curves, where the number of grid points should remain fixed
736 ! for all volumes.
737 !
738 ! \block{beta0}{
739 ! {\tt beta0} & adaptive mixing parameter & real & $0.05$}
740 ! This determines how much of the potential from the previous self-consistent
741 ! loop is mixed with the potential from the current loop. It should be made
742 ! smaller if the calculation is unstable. See {\tt betamax} and also the
743 ! routine {\tt mixadapt}.
744 !
745 ! \block{betamax}{
746 ! {\tt betamax} & maximum adaptive mixing parameter & real & $0.5$}
747 ! Maximum allowed mixing parameter used in routine {\tt mixadapt}.
748 !
749 ! \block{bfdmag}{
750 ! {\tt bfdmag} & {\tt .true.} if the external ${\bf B}$-field diamagnetic
751 ! coupling term should be included & logical & {\tt .false.}}
752 ! This causes the diamagnetic coupling term
753 ! $$ H_{\rm dia}=\frac{B^2 r^2}{8c^2}\big(1-(\hat{\bf B}\cdot
754 ! \hat{\bf r})^2\big) $$
755 ! to be included in the first-variational Hamiltonian. Note that because this
756 ! is a scalar potential, spin-polarisation does not have to be enabled for
757 ! this term to have an effect.
758 !
759 ! \block{bfieldc}{
760 ! {\tt bfieldc} & global external magnetic field in Cartesian coordinates &
761 ! real(3) & $(0.0,0.0,0.0)$}
762 ! This is a constant magnetic field applied throughout the entire unit cell
763 ! and enters the second-variational Hamiltonian as
764 ! $$ \frac{g_e}{4c}\,\vec{\sigma}\cdot{\bf B}, $$
765 ! where $g_e$ is the electron $g$-factor. This field is normally used to break
766 ! spin symmetry for spin-polarised calculations and considered to be
767 ! infinitesimal with no direct contribution to the total energy. In cases
768 ! where the magnetic field is finite (for example when computing magnetic
769 ! response) the external ${\bf B}$-field energy reported in {\tt INFO.OUT}
770 ! should be added to the total by hand. This field is applied throughout the
771 ! entire unit cell. To apply magnetic fields in particular muffin-tins use the
772 ! {\tt bfcmt} vectors in the {\tt atoms} block. Collinear calculations are
773 ! more efficient if the field is applied in the $z$-direction.
774 !
775 ! \block{bfieldcu}{
776 ! {\tt bfieldcu} & global external magnetic field in Cartesian coordinates &
777 ! real(3) & $(0.0,0.0,0.0)$}
778 ! As with {\tt bfieldc} but applied only in the ultracell during an ultra
779 ! long-range calculation.
780 !
781 ! \block{bforb}{
782 ! {\tt bforb} & {\tt .true.} if the external ${\bf B}$-field-orbit coupling
783 ! term should be included & logical & {\tt .false.}}
784 ! This causes the term corresponding to the coupling between an external
785 ! magnetic field and the orbit of an electron (orbital paramagnetism)
786 ! $$ \hat{H}_{{\bf B}{\rm o}}=\frac{1}{2c}{\bf B}\cdot\hat{\bf L} $$
787 ! to be added to the second-variational Hamiltonian. Spin-polarisation is
788 ! automatically enabled.
789 !
790 ! \block{broydpm}{
791 ! {\tt broydpm} & Broyden mixing parameters $\alpha$ and $w_0$ & real &
792 ! $(0.4,0.15)$}
793 ! See {\tt mixtype} and {\tt mixsdb}.
794 !
795 ! \block{c\_tb09}{
796 ! {\tt c\_tb09} & Tran-Blaha constant $c$ & real & -}
797 ! Sets the constant $c$ in the Tran-Blaha '09 functional. Normally this is
798 ! calculated from the density, but there may be situations where this needs to
799 ! be adjusted by hand. See {\it Phys. Rev. Lett.} {\bf 102}, 226401 (2009).
800 !
801 ! \block{chgexs}{
802 ! {\tt chgexs} & excess electronic charge & real & $0.0$}
803 ! This controls the amount of charge in the unit cell beyond that required to
804 ! maintain neutrality. It can be set positive or negative depending on whether
805 ! electron or hole doping is required.
806 !
807 ! \block{cmagz}{
808 ! {\tt cmagz} & .true. if $z$-axis collinear magnetism is to be enforced &
809 ! logical & {\tt .false.}}
810 ! This variable can be set to .true. in cases where the magnetism is
811 ! predominantly collinear in the $z$-direction, for example a ferromagnet with
812 ! spin-orbit coupling. This will make the calculation considerably faster at
813 ! the slight expense of precision.
814 !
815 ! \block{deltaem}{
816 ! {\tt deltaem} & the size of the ${\bf k}$-vector displacement used when
817 ! calculating numerical derivatives for the effective mass tensor & real &
818 ! $0.025$}
819 ! See {\tt ndspem} and {\tt vklem}.
820 !
821 ! \block{deltaph}{
822 ! {\tt deltaph} & size of the atomic displacement used for calculating
823 ! dynamical matrices & real & $0.01$}
824 ! Phonon calculations are performed by constructing a supercell corresponding
825 ! to a particular ${\bf q}$-vector and making a small periodic displacement of
826 ! the atoms. The magnitude of this displacement is given by {\tt deltaph}.
827 ! This should not be made too large, as anharmonic terms could then become
828 ! significant, neither should it be too small as this can introduce numerical
829 ! error.
830 !
831 ! \block{deltast}{
832 ! {\tt deltast} & size of the change in lattice vectors used for calculating
833 ! the stress tensor & real & $0.005$}
834 ! The stress tensor is computed by changing the lattice vector matrix $A$ by
835 ! $$ A\rightarrow (1+\delta t\,e_k)A, $$
836 ! where $\delta t$ is an infinitesimal equal in practice to {\tt deltast} and
837 ! $e_k$ is the $k^{\rm th}$ strain tensor. Numerical finite differences are
838 ! used to compute the stress tensor as the derivative of the total energy
839 ! $dE_k/dt$.
840 !
841 ! \block{dft+u}{
842 ! {\tt dftu} & type of DFT+$U$ calculation & integer & 0 \\
843 ! {\tt inpdftu} & type of input for DFT+U calculation & integer & 1 \\
844 ! \hline
845 ! {\tt is} & species number & integer & - \\
846 ! {\tt l} & angular momentum value & integer & -1 \\
847 ! {\tt u} & the desired $U$ value & real & $0.0$ \\
848 ! {\tt j} & the desired $J$ value & real & $0.0$}
849 ! This block contains the parameters required for an DFT+$U$ calculation, with
850 ! the list of parameters for each species terminated with a blank line. The
851 ! type of double counting required is set with the parameter {\tt dftu}.
852 ! Currently implemented are:
853 ! \vskip 6pt
854 ! \begin{tabularx}{\textwidth}[h]{lX}
855 ! 0 & No DFT+$U$ calculation \\
856 ! 1 & Fully localised limit (FLL) \\
857 ! 2 & Around mean field (AFM)
858 ! \end{tabularx}
859 ! \vskip 6pt
860 ! The type of input parameters is set with the parameter {\tt inpdftu}.
861 ! The current possibilities are:
862 ! \vskip 6pt
863 ! \begin{tabularx}{\textwidth}[h]{lX}
864 ! 1 & U and J \\
865 ! 2 & Slater parameters \\
866 ! 3 & Racah parameters \\
867 ! 4 & Yukawa screening length \\
868 ! 5 & U and determination of corresponding Yukawa screening length
869 ! \end{tabularx}
870 ! \vskip 6pt
871 ! See (amongst others) {\it Phys. Rev. B} {\bf 67}, 153106 (2003),
872 ! {\it Phys. Rev. B} {\bf 52}, R5467 (1995), {\it Phys. Rev. B} {\bf 60},
873 ! 10763 (1999), and {\it Phys. Rev. B} {\bf 80}, 035121 (2009).
874 !
875 ! \block{dlefe}{
876 ! {\tt dlefe} & difference between the fixed linearisation energy and the
877 ! Fermi energy & real & $-0.1$}
878 ! When {\tt autolinengy} is {\tt .true.} then the fixed linearisation energies
879 ! are set to the Fermi energy plus {\tt dlefe}.
880 !
881 ! \block{dncgga}{
882 ! {\tt dncgga} & small constant used to stabilise non-collinear GGA &
883 ! real & $1\times 10^{-8}$}
884 ! This small constant, $d$, is required in order to remove the infinite
885 ! gradients obtained when using `Kubler's trick' in conjunction with GGA and
886 ! non-collinear magnetism. It is applied by calculating the up and down
887 ! densities as
888 ! $$ \rho^{\uparrow}({\bf r})=\rho({\bf r})+\widetilde{m}({\bf r})
889 ! \qquad \rho^{\downarrow}({\bf r})=\rho({\bf r})-\widetilde{m}({\bf r}), $$
890 ! where $\widetilde{m}({\bf r})=\sqrt{{\bf m}^2({\bf r})+d}$,
891 ! and should be taken as the smallest value for which the exchange-correlation
892 ! magnetic field ${\bf B}_{\rm xc}$ is smooth.
893 !
894 ! \block{dosmsum}{
895 ! {\tt dosmsum} & {\tt .true.} if the partial DOS is to be summed over $m$ &
896 ! logical & {\tt .false.}}
897 ! By default, the partial density of states is resolved over $(l,m)$ quantum
898 ! numbers. If {\tt dosmsum} is set to {\tt .true.} then the partial DOS is
899 ! summed over $m$, and thus depends only on $l$.
900 !
901 ! \block{dosssum}{
902 ! {\tt dosssum} & {\tt .true.} if the partial DOS is to be summed over spin &
903 ! logical & {\tt .false.}}
904 ! By default, the partial density of states for spin-polarised systems is spin
905 ! resolved.
906 !
907 ! \block{dtimes}{
908 ! {\tt dtimes} & time step used in time evolution run & real & $0.1$}
909 ! See also {\tt tstime}.
910 !
911 ! \block{epsband}{
912 ! {\tt epsband} & convergence tolerance for determining band energies & real &
913 ! $1\times 10^{-12}$}
914 ! APW and local-orbital linearisation energies are determined from the band
915 ! energies. This is done by first searching upwards in energy until the radial
916 ! wavefunction at the muffin-tin radius is zero. This is the energy at the top
917 ! of the band, denoted $E_{\rm t}$. A downward search is now performed from
918 ! $E_{\rm t}$ until the slope of the radial wavefunction at the muffin-tin
919 ! radius is zero. This energy, $E_{\rm b}$, is at the bottom of the band. The
920 ! band energy is taken as $(E_{\rm t}+E_{\rm b})/2$. If either $E_{\rm t}$ or
921 ! $E_{\rm b}$ is not found, then the band energy is set to the default value.
922 !
923 ! \block{epschg}{
924 ! {\tt epschg} & maximum allowed error in the calculated total charge beyond
925 ! which a warning message will be issued & real & $1\times 10^{-3}$}
926 !
927 ! \block{epsengy}{
928 ! {\tt epsengy} & convergence criterion for the total energy & real &
929 ! $1\times 10^{-4}$}
930 ! See {\tt epspot}.
931 !
932 ! \block{epsforce}{
933 ! {\tt epsforce} & convergence tolerance for the forces during a geometry
934 ! optimisation run & real & $5\times 10^{-3}$}
935 ! If the mean absolute value of the atomic forces is less than {\tt epsforce}
936 ! then the geometry optimisation run is ended. See also {\tt tasks} and
937 ! {\tt latvopt}.
938 !
939 ! \block{epslat}{
940 ! {\tt epslat } & vectors with lengths less than this are considered zero &
941 ! real & $10^{-6}$}
942 ! Sets the tolerance for determining if a vector or its components are zero.
943 ! This is to account for any numerical error in real or reciprocal space
944 ! vectors.
945 !
946 ! \block{epsocc}{
947 ! {\tt epsocc} & smallest occupancy for which a state will contribute to the
948 ! density & real & $1\times 10^{-8}$}
949 !
950 ! \block{epspot}{
951 ! {\tt epspot} & convergence criterion for the Kohn-Sham potential and field &
952 ! real & $1\times 10^{-6}$}
953 ! If the RMS change in the Kohn-Sham potential and magnetic field is smaller
954 ! than {\tt epspot} and the absolute change in the total energy is less than
955 ! {\tt epsengy}, then the self-consistent loop is considered converged
956 ! and exited. For geometry optimisation runs this results in the forces being
957 ! calculated, the atomic positions updated and the loop restarted. See also
958 ! {\tt epsengy} and {\tt maxscl}.
959 !
960 ! \block{epsstress}{
961 ! {\tt epsstress} & convergence tolerance for the stress tensor during a
962 ! geometry optimisation run with lattice vector relaxation & real &
963 ! $2\times 10^{-3}$}
964 ! See also {\tt epsforce} and {\tt latvopt}.
965 !
966 ! \block{emaxelnes}{
967 ! {\tt emaxelnes} & maximum allowed initial-state eigenvalue for ELNES
968 ! calculations & real & $-1.2$}
969 !
970 ! \block{emaxrf}{
971 ! {\tt emaxrf} & energy cut-off used when calculating Kohn-Sham response
972 ! functions & real & $10^6$}
973 ! A typical Kohn-Sham response function is of the form
974 ! \begin{align*}
975 ! \chi_s({\bf r},{\bf r}',\omega)
976 ! \equiv\frac{\delta\rho({\bf r},\omega)}{\delta v_s({\bf r}',\omega)}
977 ! =\frac{1}{N_k}\sum_{i{\bf k},j{\bf k}'}(f_{i{\bf k}}-f_{j{\bf k}'})
978 ! \frac{\langle i{\bf k}|\hat{\rho}({\bf r})|j{\bf k}'\rangle
979 ! \langle j{\bf k}'|\hat{\rho}({\bf r}')|i{\bf k}\rangle}
980 ! {w+(\varepsilon_{i{\bf k}}-\varepsilon_{j{\bf k}'})+i\eta},
981 ! \end{align*}
982 ! where $\hat{\rho}$ is the density operator; $N_k$ is the number of
983 ! $k$-points; $\varepsilon_{i{\bf k}}$ and $f_{i{\bf k}}$ are the eigenvalues
984 ! and occupation numbers, respectively. The variable {\tt emaxrf} is an energy
985 ! window which limits the summation over states in the formula above so that
986 ! $|\varepsilon_{i{\bf k}}-\varepsilon_{\rm Fermi}|<{\tt emaxrf}$. Reducing
987 ! this can result in a faster calculation at the expense of accuracy.
988 !
989 ! \block{fracinr}{
990 ! {\tt fracinr} & fraction of the muffin-tin radius up to which {\tt lmaxi}
991 ! is used as the angular momentum cut-off & real & $0.01$}
992 ! If {\tt fracinr} is negative then the fraction is determined from
993 ! $f=\sqrt{({\tt lmaxi}+1)^2/({\tt lmaxo}+1)^2}$ in order to
994 ! maintain a minimum density of points throughout the muffin-tin. See
995 ! {\tt lmaxi} and {\tt lmaxo}.
996 !
997 ! \block{frzncore}{
998 ! {\tt frzncore} & .true. if the core states are to be fixed to those of the
999 ! atomic species & logical & {\tt .false.}}
1000 ! By default, the core states are calculated with the radial Dirac equation
1001 ! using the spherical part of the crystal Kohn-Sham potential. Setting
1002 ! {\tt frzncore} to {\tt .true.} fixes these states to those initially
1003 ! calculated for the atomic species. This is referred to as the frozen core
1004 ! approximation. See also {\tt xctsp}.
1005 !
1006 ! \block{fsmtype}{
1007 ! {\tt fsmtype} & fixed spin moment (FSM) type & integer & 0}
1008 ! The magnetic moment, its direction or magnitude can be fixed both globally
1009 ! as well as in each muffin-tin individually. The options are as follows:
1010 ! \vskip 6pt
1011 ! \begin{tabularx}{\textwidth}[h]{lX}
1012 ! 0 & no FSM \\
1013 ! 1 (-1) & total moment (direction) \\
1014 ! 2 (-2) & individual muffin-tin moments (direction) \\
1015 ! 3 (-3) & total and muffin-tin moments (direction) \\
1016 ! 4 & total moment magnitude \\
1017 ! 5 & individual muffin-tin moment magnitudes \\
1018 ! 6 & total and muffin-tin moment magnitudes
1019 ! \end{tabularx}
1020 ! \vskip 6pt
1021 ! See also {\tt momfix}, {\tt momfixm}, {\tt mommtfix}, {\tt mommtfixm},
1022 ! {\tt taufsm} and {\tt spinpol}.
1023 !
1024 ! \block{ftmtype}{
1025 ! {\tt ftmtype} & 1 to enable a fixed tensor moment (FTM) calculation,
1026 ! 0 otherwise & integer & 0}
1027 ! If {\tt ftmtype} is $-1$ then the symmetry corresponding to the tensor
1028 ! moment is broken but no FTM calculation is performed. See also {\tt tm3fix}.
1029 !
1030 ! \block{fxclrc}{
1031 ! {\tt fxclrc} & parameters for the dynamical long-range contribution (LRC) to
1032 ! the TDDFT exchange-correlation kernel & real(2) & $(0.0,0.0)$}
1033 ! These are the parameters $\alpha$ and $\beta$ for the kernel proposed in
1034 ! {\it Phys. Rev. B} {\bf 72}, 125203 (2005), namely
1035 ! $$ f_{xc}({\bf G},{\bf G}',{\bf q},\omega)=-\frac{\alpha+\beta\omega^2}{q^2}
1036 ! \delta_{{\bf G},{\bf G}'}\delta_{{\bf G},{\bf 0}}. $$
1037 !
1038 ! \block{fxctype}{
1039 ! {\tt fxctype} & integer defining the type of exchange-correlation kernel
1040 ! $f_{\rm xc}$ & integer & $-1$}
1041 ! The acceptable values are:
1042 ! \vskip 6pt
1043 ! \begin{tabularx}{\textwidth}[h]{lX}
1044 ! $-1$ & $f_{\rm xc}$ defined by {\tt xctype} \\
1045 ! 0,1 & RPA ($f_{\rm xc}=0$) \\
1046 ! 200 & Long-range contribution (LRC) kernel, S. Botti {\it et al.},
1047 ! {\it Phys. Rev. B} {\bf 72}, 125203 (2005); see {\tt fxclrc} \\
1048 ! 210 & `Bootstrap' kernel, S. Sharma, J. K. Dewhurst, A. Sanna and
1049 ! E. K. U. Gross, {\it Phys. Rev. Lett.} {\bf 107}, 186401 (2011) \\
1050 ! 211 & Single iteration bootstrap
1051 ! \end{tabularx}
1052 !
1053 ! \block{gmaxrf}{
1054 ! {\tt gmaxrf} & maximum length of $|{\bf G}|$ for computing response
1055 ! functions & real & $3.0$}
1056 !
1057 ! \block{gmaxvr}{
1058 ! {\tt gmaxvr} & maximum length of $|{\bf G}|$ for expanding the interstitial
1059 ! density and potential & real & $12.0$}
1060 ! This variable has a lower bound which is enforced by the code as follows:
1061 ! $$ {\rm gmaxvr}\rightarrow\max\,({\rm gmaxvr},2\times{\rm gkmax}
1062 ! +{\rm epslat}) $$
1063 ! See {\tt rgkmax}.
1064 !
1065 ! \block{hdbse}{
1066 ! {\tt hdbse} & {\tt .true.} if the direct term is to be included in the BSE
1067 ! Hamiltonian & logical & {\tt .true.}}
1068 !
1069 ! \block{highq}{
1070 ! {\tt highq} & {\tt .true.} if a high-quality parameter set should be used &
1071 ! logical & {\tt .false.}}
1072 ! Setting this to {\tt .true.} results in some default parameters being
1073 ! changed to ensure good convergence in most situations. These changes can be
1074 ! overruled by subsequent blocks in the input file. See also {\tt vhighq}.
1075 !
1076 ! \block{hmaxvr}{
1077 ! {\tt hmaxvr} & maximum length of ${\bf H}$-vectors & real & $6.0$}
1078 ! The ${\bf H}$-vectors are used for calculating X-ray and magnetic structure
1079 ! factors. They are also used in linear response phonon calculations for
1080 ! expanding the density and potential in plane waves. See also {\tt gmaxvr},
1081 ! {\tt vhmat}, {\tt reduceh}, {\tt wsfac} and {\tt hkmax}.
1082 !
1083 ! \block{hxbse}{
1084 ! {\tt hxbse} & {\tt .true.} if the exchange term is to be included in the BSE
1085 ! Hamiltonian & {\tt .true.}}
1086 !
1087 ! \block{hybrid}{
1088 ! {\tt hybrid} & {\tt .true} if a hybrid functional is to be used when running
1089 ! a Hartree-Fock calculation & logical & {\tt .false}}
1090 ! See also {\tt hybridc} and {\tt xctype}.
1091 !
1092 ! \block{hybridc}{
1093 ! {\tt hybridc} & hybrid functional mixing coefficient & real & $1.0$}
1094 !
1095 ! \block{intraband}{
1096 ! {\tt intraband} & {\tt .true.} if the intraband (Drude-like) contribution is
1097 ! to be added to the dieletric tensor & logical & {\tt .false.}}
1098 !
1099 ! \block{isgkmax}{
1100 ! {\tt isgkmax} & species for which the muffin-tin radius will be used for
1101 ! calculating {\tt gkmax} & integer & $-1$}
1102 ! The APW cut-off is determined from ${\tt gkmax}={\tt rgkmax}/R$. The
1103 ! variable {\tt isgkmax} determines which muffin-tin radius is to be used for
1104 ! $R$. These are the options:
1105 ! \vskip 6pt
1106 ! \begin{tabularx}{\textwidth}[h]{lX}
1107 ! -4 & Use the largest radius \\
1108 ! -3 & Use the smallest radius \\
1109 ! -2 & Use the fixed value $R=2.0$ \\
1110 ! -1 & Use the average of the muffin-tin radii \\
1111 ! $n\ge 1$ & Use the radius of species $n$
1112 ! \end{tabularx}
1113 !
1114 ! \block{kstlist}{
1115 ! {\tt kstlist(i)} & $i$th $k$-point and state pair & integer(2) & $(1,1)$}
1116 ! This is a user-defined list of $k$-point and state index pairs which are
1117 ! those used for plotting wavefunctions and writing ${\bf L}$, ${\bf S}$ and
1118 ! ${\bf J}$ expectation values. Only the first pair is used by the
1119 ! aforementioned tasks. The list should be terminated by a blank line.
1120 !
1121 ! \block{latvopt}{
1122 ! {\tt latvopt} & type of lattice vector optimisation to be performed during
1123 ! structural relaxation & integer & 0}
1124 ! Optimisation of the lattice vectors will be performed with ${\tt task}=2,3$
1125 ! when ${\tt latvopt}\ne 0$. When ${\tt latvopt}=1$ the lattice vector
1126 ! optimisation will be constrained only by symmetry. Optimisation over all
1127 ! symmetry-preserving strains except isotropic scaling is performed when
1128 ! ${\tt latvopt}=2$. If ${\tt latvopt}<0$ then the optimisation will be over
1129 ! strain number $|{\tt latvopt}|$. The list of symmetric strain tensors can be
1130 ! produced with ${\tt task}=430$. By default (${\tt latvopt}=0$) no lattice
1131 ! vector optimisation is performed during structural relaxation. See also
1132 ! {\tt tau0latv} and {\tt atpopt}.
1133 !
1134 ! \block{lmaxapw}{
1135 ! {\tt lmaxapw} & angular momentum cut-off for the APW functions & integer &
1136 ! $8$}
1137 !
1138 ! \block{lmaxdos}{
1139 ! {\tt lmaxdos} & angular momentum cut-off for the partial DOS plot &
1140 ! integer & $3$}
1141 !
1142 ! \block{lmaxi}{
1143 ! {\tt lmaxi} & angular momentum cut-off for the muffin-tin density and
1144 ! potential on the inner part of the muffin-tin & integer & 2}
1145 ! Close to the nucleus, the density and potential is almost spherical and
1146 ! therefore the spherical harmonic expansion can be truncated a low angular
1147 ! momentum. See also {\tt fracinr}.
1148 !
1149 ! \block{lmaxo}{
1150 ! {\tt lmaxo} & angular momentum cut-off for the muffin-tin density and
1151 ! potential & integer & 6}
1152 !
1153 ! \block{lmirep}{
1154 ! {\tt lmirep} & {\tt .true.} if the $Y_{lm}$ basis is to be transformed
1155 ! into the basis of irreducible representations of the site symmetries for
1156 ! DOS plotting & logical & {\tt .true.}}
1157 ! When lmirep is set to .true., the spherical harmonic basis is transformed
1158 ! into one in which the site symmetries are block diagonal. Band characters
1159 ! determined from the density matrix expressed in this basis correspond to
1160 ! irreducible representations, and allow the partial DOS to be resolved into
1161 ! physically relevant contributions, for example $e_g$ and $t_{2g}$.
1162 !
1163 ! \block{lorbcnd}{
1164 ! {\tt lorbcnd} & {\tt .true.} if conduction state local-orbitals are to be
1165 ! automatically added to the basis & logical & {\tt .false.}}
1166 ! Adding these higher energy local-orbitals can improve calculations which
1167 ! rely on accurate unoccupied states, such as the response function. See also
1168 ! {\tt lorbordc}.
1169 !
1170 ! \block{lorbordc}{
1171 ! {\tt lorbordc} & the order of the conduction state local-orbitals &
1172 ! integer & 2}
1173 ! See {\tt lorbcnd}.
1174 !
1175 ! \block{lprojw90}{
1176 ! {\tt is(i)} & species number & integer & - \\
1177 ! {\tt l(j,i)} & angular momentum values & integer & -100}
1178 ! Sets the angular momentum values of the Wannier90 projectors for a list of
1179 ! species. The list should be terminated with a blank line. Note that the
1180 ! angular part of the projectors are the cubic harmonics for $l=0\ldots 3$.
1181 ! See {\tt projw90} and the routine {\tt projkw90}.
1182 !
1183 ! \block{lradstp}{
1184 ! {\tt lradstp} & radial step length for determining coarse radial mesh &
1185 ! integer & 4}
1186 ! Some muffin-tin functions (such as the density) are calculated on a coarse
1187 ! radial mesh and then interpolated onto a fine mesh. This is done for the
1188 ! sake of efficiency. {\tt lradstp} defines the step size in going from the
1189 ! fine to the coarse radial mesh. If it is too large, loss of precision may
1190 ! occur.
1191 !
1192 ! \block{maxitoep}{
1193 ! {\tt maxitoep} & maximum number of iterations when solving the exact
1194 ! exchange integral equations & integer & 300}
1195 ! See {\tt tau0oep}.
1196 !
1197 ! \block{maxscl}{
1198 ! {\tt maxscl} & maximum number of self-consistent loops allowed & integer &
1199 ! 200}
1200 ! This determines after how many loops the self-consistent cycle will
1201 ! terminate if the convergence criterion is not met. If {\tt maxscl} is $1$
1202 ! then the density and potential file, {\tt STATE.OUT}, will {\bf not} be
1203 ! written to disk at the end of the loop. See {\tt epspot}.
1204 !
1205 ! \block{mbwgrf}{
1206 ! {\tt mbwgrf} & matrix bandwidth of response functions in the
1207 ! ${\bf G}$-vector basis & integer & $-1$}
1208 ! Setting this to a positive integer results in response functions and the
1209 ! screened interaction $W({\bf G},{\bf G}',{\bf q},\omega)$ being treated as a
1210 ! banded matrix in ${\bf G}$ and ${\bf G}'$ with bandwidth {\tt mbwgrf}.
1211 ! This can be used to speed up $GW$ calculations.
1212 !
1213 ! \block{mefvs}{
1214 ! {\tt mefvs} & parameter determining the size of the subspace used for the
1215 ! first-variational eigenvalue problem & integer & $-1$}
1216 ! When ${\tt mefvs}\ne -1$ then the first-variational eigenvalue problem is
1217 ! solved in a subspace of the APW+local-orbital basis corresponding to the
1218 ! lowest $m$ diagonal elements of the Hamiltonian. When ${\tt mefvs}\ge 0$
1219 ! then $m=\min(\max({\tt mefvs},{\tt nstfv}),n_{\bf k})$, where $n_{\bf k}$ is
1220 ! the number of APW+l.o.\ basis functions at $k$-point {\bf k}. If
1221 ! ${\tt mefvs}<0$ then $m=n_{\bf k}/|{\tt mefvs}|$. Compute time can be
1222 ! lowered by decreasing $m$ however this will also reduce accuracy.
1223 !
1224 ! \block{mixsave}{
1225 ! {\tt mixsave} & {\tt .true.} if the mixer work array is to be saved during a
1226 ! ground-state run & logical & {\tt .false.}}
1227 ! If {\tt mixsave} is {\tt .true.}, then the mixer work array is saved to
1228 ! {\tt MIXWORK.OUT} every {\tt nwrite} iterations and at the end of the
1229 ! self-consistent loop. This array is subsequently read in at the beginning of
1230 ! a restarted calculation in order to improve convergence.
1231 !
1232 ! \block{mixtype}{
1233 ! {\tt mixtype } & type of mixing required for the potential & integer & 3}
1234 ! Currently implemented are:
1235 ! \vskip 6pt
1236 ! \begin{tabularx}{\textwidth}[h]{lX}
1237 ! 0 & Linear mixing \\
1238 ! 1 & Adaptive linear mixing \\
1239 ! 3 & Modified Broyden mixing, see G. P. Srivastava, {\it J. Phys. A: Math.
1240 ! Gen.} {\bf 17}, L317 (1984) and D. D. Johnson, {\it Phys. Rev. B}
1241 ! {\bf 38}, 12807 (1988)
1242 ! \end{tabularx}
1243 !
1244 ! \block{mixsdb}{
1245 ! {\tt mixsdb} & subspace dimension for Broyden mixing & integer & 5}
1246 ! This is the number of mixing vectors which define the subspace in which the
1247 ! Hessian matrix is calculated. See {\tt mixtype} and {\tt broydpm}.
1248 !
1249 ! \block{molecule}{
1250 ! {\tt molecule} & {\tt .true.} if the system is an isolated molecule &
1251 ! logical & {\tt .false.}}
1252 ! If {\tt molecule} is {\tt .true.}, then the atomic positions given in the
1253 ! {\tt atoms} block are assumed to be in Cartesian coordinates.
1254 !
1255 ! \block{momfix}{
1256 ! {\tt momfix} & the desired total moment for a FSM calculation &
1257 ! real(3) & $(0.0,0.0,0.0)$}
1258 ! Note that all three components must be specified (even for collinear
1259 ! calculations). Applies when {\tt fsmtype} is 1(-1) or 3(-3). See
1260 ! {\tt fsmtype}, {\tt taufsm} and {\tt spinpol}.
1261 !
1262 ! \block{momfixm}{
1263 ! {\tt momfixm} & the desired total moment magnitude for a FSM calculation &
1264 ! real & $0.0$}
1265 ! This applies when {\tt fsmtype} is 4 or 6.
1266 !
1267 ! \block{mommtfix}{
1268 ! {\tt is} & species number & integer & 0 \\
1269 ! {\tt ia} & atom number & integer & 0 \\
1270 ! {\tt mommtfix} & desired muffin-tin moment for a FSM calculation &
1271 ! real(3) & $(0.0,0.0,0.0)$}
1272 ! The local muffin-tin moments are specified for a subset of atoms, with the
1273 ! list terminated with a blank line. Note that all three components must be
1274 ! specified (even for collinear calculations). Applies when {\tt fsmtype} is
1275 ! 2(-2) or 3(-3). Note that the moment is not fixed in a particular muffin-tin
1276 ! when the magnitude of any component of the corresponding {\tt mommtfix} is
1277 ! $\ge 1000$. See {\tt fsmtype}, {\tt taufsm} and {\tt spinpol}.
1278 !
1279 ! \block{mommtfixm}{
1280 ! {\tt is} & species number & integer & 0 \\
1281 ! {\tt ia} & atom number & integer & 0 \\
1282 ! {\tt mommtfixm} & desired muffin-tin moment magnitude for a FSM
1283 ! calculation & real & $-1$}
1284 ! This applies when {\tt fsmtype} is 5 or 6. Note that the moment magnitude is
1285 ! not fixed in a particular muffin-tin when the corresponding {\tt mommtfixm}
1286 ! is negative.
1287 !
1288 ! \block{mrmtav}{
1289 ! {\tt mrmtav} & order of averaging applied to the muffin-tin radii &
1290 ! integer & 0}
1291 ! Crystal structures with muffin-tin radii which are widely varying in size
1292 ! can cause calculations to become unstable. Applying a simple averaging
1293 ! procedure to the radii reduces this variation and can improve stability.
1294 ! The larger {\tt mrmtav}, the more equal the muffin-tin radii will become.
1295 ! See the routine {\tt rmtavrg}.
1296 !
1297 ! \block{mstar}{
1298 ! {\tt mstar} & value of the effective mass parameter used for adaptive
1299 ! determination of {\tt swidth} & real & $10.0$}
1300 ! See {\tt autoswidth}.
1301 !
1302 ! \block{mustar}{
1303 ! {\tt mustar} & Coulomb pseudopotential, $\mu^*$, used in the
1304 ! McMillan-Allen-Dynes equation & real & $0.15$}
1305 ! This is used when calculating the superconducting critical temperature with
1306 ! the formula {\it Phys. Rev. B 12, 905 (1975)}
1307 ! $$ T_c=\frac{\omega_{\rm log}}{1.2 k_B}\exp\left[\frac{-1.04(1+\lambda)}
1308 ! {\lambda-\mu^*(1+0.62\lambda)}\right], $$
1309 ! where $\omega_{\rm log}$ is the logarithmic average frequency and $\lambda$
1310 ! is the electron-phonon coupling constant.
1311 !
1312 ! \block{ncbse}{
1313 ! {\tt ncbse} & number of conduction states to be used for BSE calculations &
1314 ! integer & 3}
1315 ! See also {\tt nvbse}.
1316 !
1317 ! \block{ndspem}{
1318 ! {\tt ndspem} & the number of {\bf k}-vector displacements in each direction
1319 ! around {\tt vklem} when computing the numerical derivatives for the
1320 ! effective mass tensor & integer & 1}
1321 ! See {\tt deltaem} and {\tt vklem}.
1322 !
1323 ! \block{nempty}{
1324 ! {\tt nempty} & the number of empty states per atom and spin & real & $4.0$ }
1325 ! Defines the number of eigenstates beyond that required for charge
1326 ! neutrality. When running metals it is not known {\it a priori} how many
1327 ! states will be below the Fermi energy for each $k$-point. Setting
1328 ! {\tt nempty} greater than zero allows the additional states to act as a
1329 ! buffer in such cases. Furthermore, magnetic calculations use the
1330 ! first-variational eigenstates as a basis for setting up the
1331 ! second-variational Hamiltonian, and thus {\tt nempty} will determine the
1332 ! size of this basis set. Convergence with respect to this quantity should be
1333 ! checked.
1334 !
1335 ! \block{ngridk}{
1336 ! {\tt ngridk } & the $k$-point mesh sizes & integer(3) & $(1,1,1)$}
1337 ! The ${\bf k}$-vectors are generated using
1338 ! $$ {\bf k}=(\frac{i_1+v_1}{n_1},\frac{i_2+v_2}{n_2},\frac{i_3+v_3}{n_3}), $$
1339 ! where $i_j$ runs from 0 to $n_j-1$ and $0\le v_j<1$ for $j=1,2,3$. The
1340 ! vector ${\bf v}$ is given by the variable {\tt vkloff}. See also
1341 ! {\tt reducek}.
1342 !
1343 ! \block{ngridq}{
1344 ! {\tt ngridq } & the phonon $q$-point mesh sizes & integer(3) & $(1,1,1)$}
1345 ! Same as {\tt ngridk}, except that this mesh is for the phonon $q$-points
1346 ! and other tasks. See also {\tt reduceq}.
1347 !
1348 ! \block{nosource}{
1349 ! {\tt nosource} & when set to {\tt .true.}, source fields are projected out
1350 ! of the exchange-correlation magnetic field & logical & {\tt .false.}}
1351 ! Experimental feature.
1352 !
1353 ! \block{notes}{
1354 ! {\tt notes(i)} & the $i$th line of the notes & string & -}
1355 ! This block allows users to add their own notes to the file {\tt INFO.OUT}.
1356 ! The block should be terminated with a blank line, and no line should exceed
1357 ! 80 characters.
1358 !
1359 ! \block{npmae}{
1360 ! {\tt npmae } & number or distribution of directions for MAE calculations &
1361 ! integer & $-1$}
1362 ! Automatic determination of the magnetic anisotropy energy (MAE) requires
1363 ! that the total energy is determined for a set of directions of the total
1364 ! magnetic moment. This variable controls the number or distribution of these
1365 ! directions. The convention is:
1366 ! \vskip 6pt
1367 ! \begin{tabularx}{\textwidth}[h]{lX}
1368 ! $-4,-3,-2,-1$ & Cardinal directions given by the primitive translation
1369 ! vectors $n_1{\bf A}_1+n_2{\bf A}_2+n_3{\bf A}_3$, where
1370 ! $1\le n_i\le|{\tt npmae}|$ \\
1371 ! 2 & Cartesian $x$ and $z$ directions \\
1372 ! 3 & Cartesian $x$, $y$ and $z$ directions \\
1373 ! $4,5,\ldots$ & Even distribution of {\tt npmae} directions
1374 ! \end{tabularx}
1375 !
1376 ! \block{ntemp}{
1377 ! {\tt ntemp} & number of temperature steps & integer & 40}
1378 ! This is the number of temperature steps to be used in the Eliashberg gap
1379 ! and thermodynamic properties calculations.
1380 !
1381 ! \block{num\_wann}{
1382 ! {\tt num\_wann} & number of Wannier90 wavefunctions & integer & 0}
1383 ! If ${\tt num\_wann}>0$ then this is the number of Wannier wavefunctions
1384 ! to be found by the Wannier90 package. If ${\tt num\_wann}\le 0$ then the
1385 ! number of wavefunctions is given by ${\tt num\_bands}+{\tt num\_wann}$.
1386 !
1387 ! \block{nvbse}{
1388 ! {\tt nvbse} & number of valence states to be used for BSE calculations &
1389 ! integer & 2}
1390 ! See also {\tt ncbse}.
1391 !
1392 ! \block{nwrite}{
1393 ! {\tt nwrite} & number of self-consistent loops after which {\tt STATE.OUT}
1394 ! is to be written & integer & 0}
1395 ! Normally, the density and potentials are written to the file {\tt STATE.OUT}
1396 ! only after completion of the self-consistent loop. By setting {\tt nwrite}
1397 ! to a positive integer the file will instead be written every {\tt nwrite}
1398 ! loops.
1399 !
1400 ! \block{nxoapwlo}{
1401 ! {\tt nxoapwlo} & extra order of radial functions to be added to the existing
1402 ! APW and local-orbital set & integer & 0}
1403 ! Setting this variable will result in the APWs and local-orbitals for all
1404 ! species becoming higher order with corresponding increase in derivative
1405 ! matching at the muffin-tin surface. For example, setting {\tt nxoapwlo}=1
1406 ! turns all APWs into LAPWs.
1407 !
1408 ! \block{optcomp}{
1409 ! {\tt optcomp} & the components of the first- or second-order optical tensor
1410 ! to be calculated & integer(3) & $(1,1,1)$}
1411 ! This selects which components of the optical tensor you would like to plot.
1412 ! Only the first two are used for the first-order tensor. Several components
1413 ! can be listed one after the other with a blank line terminating the list.
1414 !
1415 ! \block{phwrite}{
1416 ! {\tt nphwrt} & number of $q$-points for which phonon modes are to be found &
1417 ! integer & 1 \\
1418 ! \hline
1419 ! {\tt vqlwrt(i)} & the $i$th $q$-point in lattice coordinates & real(3) &
1420 ! $(0.0,0.0,0.0)$}
1421 ! This is used in conjunction with {\tt task}=230. The code will write the
1422 ! phonon frequencies and eigenvectors to the file {\tt PHONON.OUT} for all the
1423 ! $q$-points in the list. The $q$-points can be anywhere in the Brillouin zone
1424 ! and do not have to lie on the mesh defined by {\tt ngridq}. Obviously, all
1425 ! the dynamical matrices have to be computed first using {\tt task}=200.
1426 !
1427 ! \block{plot1d}{
1428 ! {\tt nvp1d} & number of vertices & integer & 2 \\
1429 ! {\tt npp1d} & number of plotting points & integer & 200 \\
1430 ! \hline
1431 ! {\tt vvlp1d(i)} & lattice coordinates for vertex $i$ & real(3) &
1432 ! $(0.0,0.0,0.0)\rightarrow(1.0,1.0,1.0)$}
1433 ! Defines the path in either real or reciprocal space along which the 1D plot
1434 ! is to be produced. The user should provide {\tt nvp1d} vertices in lattice
1435 ! coordinates.
1436 !
1437 ! \block{plot2d}{
1438 ! {\tt vclp2d(0)} & zeroth corner (origin) & real(3) & $(0.0,0.0,0.0)$ \\
1439 ! \hline
1440 ! {\tt vclp2d(1)} & first corner & real(3) & $(1.0,0.0,0.0)$ \\
1441 ! \hline
1442 ! {\tt vclp2d(2)} & second corner & real(3) & $(0.0,1.0,0.0)$ \\
1443 ! \hline
1444 ! {\tt np2d} & number of plotting points in both directions & integer(2) &
1445 ! $(40,40)$}
1446 ! Defines the corners of a parallelogram and the grid size used for producing
1447 ! 2D plots.
1448 !
1449 ! \block{plot3d}{
1450 ! {\tt vclp3d(0)} & zeroth corner (origin) & real(3) & $(0.0,0.0,0.0)$ \\
1451 ! \hline
1452 ! {\tt vclp3d(1)} & first corner & real(3) & $(1.0,0.0,0.0)$ \\
1453 ! \hline
1454 ! {\tt vclp3d(2)} & second corner & real(3) & $(0.0,1.0,0.0)$ \\
1455 ! \hline
1456 ! {\tt vclp3d(3)} & third corner & real(3) & $(0.0,0.0,1.0)$ \\
1457 ! \hline
1458 ! {\tt np3d} & number of plotting points each direction & integer(3) &
1459 ! $(20,20,20)$}
1460 ! Defines the corners of a box and the grid size used for producing 3D plots.
1461 !
1462 ! \block{primcell}{
1463 ! {\tt primcell} & {\tt .true.} if the primitive unit cell should be found
1464 ! & logical & {\tt .false.}}
1465 ! Allows the primitive unit cell to be determined automatically from the
1466 ! conventional cell. This is done by searching for lattice vectors among all
1467 ! those which connect atomic sites, and using the three shortest which produce
1468 ! a unit cell with non-zero volume.
1469 !
1470 ! \block{projw90}{
1471 ! {\tt projw90} & {\tt .true.} if the $s$, $p$, $d$ and $f$ projectors should
1472 ! be calculated & logical & {\tt .false.}}
1473 ! When this is {\tt .true.}, muffin-tin projectors in the cubic harmonic basis
1474 ! are used to calculate the Wannier90 matrix $A_{mn}$. Otherwise complex
1475 ! random numbers are used. See also {\tt lprojw90}.
1476 !
1477 ! \block{pulse}{
1478 ! {\tt n} & number of pulses & integer & - \\
1479 ! \hline
1480 ! {\tt a0(i)} & polarisation vector (including amplitude) & real(3) & - \\
1481 ! {\tt w(i)} & frequency & real & - \\
1482 ! {\tt phi(i)} & phase in degrees & real & - \\
1483 ! {\tt rc(i)} & chirp rate & real & - \\
1484 ! {\tt t0(i)} & peak time & real & - \\
1485 ! {\tt d(i)} & full-width at half-maximum & real & -}
1486 ! Parameters used to generate a time-dependent vector potential ${\bf A}(t)$
1487 ! representing a laser pulse. The total vector potential is the sum of
1488 ! individual pulses and is given by the formula
1489 ! $$ {\bf A}(t)=\sum_{i=1}^n {\bf A}_0^i\exp
1490 ! \left[-(t-t_0^i)^2/2\sigma_i^2\right]
1491 ! \sin\left[w_i(t-t_0^i)+\phi_i+r_{\rm c}^i t^2/2\right], $$
1492 ! where $\sigma=d/2\sqrt{2\ln 2}$. See also {\tt ramp}.
1493 !
1494 ! \block{q0cut}{
1495 ! {\tt q0cut} & Q-vector cut-off for the ultra long-range Coulomb Green's
1496 ! function & real & $0.0$}
1497 ! The ultra long-range Poisson equation is solved using the Green's function
1498 ! $4\pi/|{\bf G}+{\bf Q}|^2$. This is set to zero for all
1499 ! $|{\bf G}+{\bf Q}|<{\tt q0cut}$ when {\tt q0cut} is positive. For negative
1500 ! {\tt q0cut}, a Yukawa-type screening of the form
1501 ! $4\pi/(|{\bf G}+{\bf Q}|^2+{\tt q0cut}^2)$ is employed. Setting this
1502 ! variable to be small but finite can improve the stability of a
1503 ! self-consistent calculation.
1504 !
1505 ! \block{radkpt}{
1506 ! {\tt radkpt} & radius of sphere used to determine $k$-point density &
1507 ! real & $40.0$}
1508 ! Used for the automatic determination of the $k$-point mesh. If {\tt autokpt}
1509 ! is set to {\tt .true.} then the mesh sizes will be determined by
1510 ! $n_i=R_k|{\bf B}_i|+1$, where ${\bf B}_i$ are the primitive reciprocal
1511 ! lattice vectors.
1512 !
1513 ! \block{ramp}{
1514 ! {\tt n} & number of ramps & integer & - \\
1515 ! \hline
1516 ! {\tt a0(i)} & polarisation vector (including amplitude) & real(3) & - \\
1517 ! {\tt t0(i)} & ramp start time & real & - \\
1518 ! {\tt c1(i)} & linear coefficient of ${\bf A}(t)$ & real & - \\
1519 ! {\tt c2(i)} & quadratic coefficient & real & -}
1520 ! Parameters used to generate a time-dependent vector potential ${\bf A}(t)$
1521 ! representing a constant or linearly increasing electric field
1522 ! ${\bf E}(t)=-\partial{\bf A}(t)/\partial t$. The vector potential is given
1523 ! by
1524 ! $$ {\bf A}(t)=\sum_{i=1}^n {\bf A}_0^i
1525 ! \left[c_1(t-t_0)+c_2(t-t_0)^2\right]\Theta(t-t_0). $$
1526 !
1527 ! \block{readadu}{
1528 ! {\tt readadu} & set to {\tt .true.} if the interpolation constant for
1529 ! DFT+$U$ should be read from file rather than calculated & logical &
1530 ! {\tt .false.}}
1531 ! When {\tt dftu}=3, the DFT+$U$ energy and potential are interpolated
1532 ! between FLL and AFM. The interpolation constant, $\alpha$, is normally
1533 ! calculated from the density matrix, but can also be read in from the file
1534 ! {\tt ALPHADU.OUT}. This allows the user to fix $\alpha$, but is also
1535 ! necessary when calculating forces, since the contribution of the potential
1536 ! of the variation of $\alpha$ with respect to the density matrix is not
1537 ! computed. See {\tt dft+u}.
1538 !
1539 ! \block{reducebf}{
1540 ! {\tt reducebf} & reduction factor for the external magnetic fields & real &
1541 ! $1.0$}
1542 ! After each self-consistent loop, the external magnetic fields are multiplied
1543 ! with {\tt reducebf}. This allows for a large external magnetic field at the
1544 ! start of the self-consistent loop to break spin symmetry, while at the end
1545 ! of the loop the field will be effectively zero, i.e. infinitesimal. See
1546 ! {\tt bfieldc} and {\tt atoms}.
1547 !
1548 ! \block{reduceh}{
1549 ! {\tt reduceh} & set to {\tt .true.} if the reciprocal ${\bf H}$-vectors
1550 ! should be reduced by the symmorphic crystal symmetries & logical & .true.}
1551 ! See {\tt hmaxvr} and {\tt vmat}.
1552 !
1553 ! \block{reducek}{
1554 ! {\tt reducek} & type of reduction of the $k$-point set & integer & 1}
1555 ! Types of reduction are defined by the symmetry group used:
1556 ! \vskip 6pt
1557 ! \begin{tabularx}{\textwidth}[h]{lX}
1558 ! 0 & no reduction \\
1559 ! 1 & reduce with full crystal symmetry group (including non-symmorphic
1560 ! symmetries) \\
1561 ! 2 & reduce with symmorphic symmetries only
1562 ! \end{tabularx}
1563 ! \vskip 6pt
1564 ! See also {\tt ngridk} and {\tt vkloff}.
1565 !
1566 ! \block{reduceq}{
1567 ! {\tt reduceq} & type of reduction of the $q$-point set & integer & 1}
1568 ! See {\tt reducek} and {\tt ngridq}.
1569 !
1570 ! \block{rgkmax}{
1571 ! {\tt rgkmax} & $R^{\rm MT}_{\rm min}\times\max\{|{\bf G}+{\bf k}|\}$ &
1572 ! real & $7.0$}
1573 ! This sets the maximum length for the ${\bf G}+{\bf k}$ vectors, defined as
1574 ! {\tt rgkmax} divided by the average muffin-tin radius. See {\tt isgkmax}.
1575 !
1576 ! \block{rmtall}{
1577 ! {\tt rmtall} & muffin-tin radius for all species & real & $-1.0$}
1578 ! If {\tt rmtall} is positive then all muffin-tin radii are set to this value.
1579 !
1580 ! \block{rmtdelta}{
1581 ! {\tt rmtdelta} & minimum allowed distance between muffin-tin surfaces &
1582 ! real & $0.05$}
1583 !
1584 ! \block{rmtscf}{
1585 ! {\tt rmtscf} & muffin-tin radius scaling factor & real & $1.0$}
1586 ! All muffin-tin radii read from the species files are scaled by this factor.
1587 !
1588 ! \block{rndavec}{
1589 ! {\tt rndavec} & lattice vector randomisation amplitude & real & $0.0$}
1590 ! Setting this to a number larger than zero causes the code add random jitter
1591 ! to the lattice vectors proportional to this amplitude. This can be used to
1592 ! break lattice symmetry.
1593 !
1594 ! \block{rotavec}{
1595 ! {\tt axang} & axis-angle representation of lattice vector rotation &
1596 ! real(4) & $(0.0,0.0,0.0,0.0)$}
1597 ! This determines the rotation matrix which is applied to the lattice vectors
1598 ! prior to any calculation. The first three components specify the axis and
1599 ! the last component is the angle in degrees. The `right-hand rule' convention
1600 ! is followed.
1601 !
1602 ! \block{scale}{
1603 ! {\tt scale } & lattice vector scaling factor & real & $1.0$}
1604 ! Scaling factor for all three lattice vectors. Applied in conjunction with
1605 ! {\tt scale1}, {\tt scale2} and {\tt scale3}.
1606 !
1607 ! \block{scale1/2/3}{
1608 ! {\tt scale1/2/3 } & separate scaling factors for each lattice vector &
1609 ! real & $1.0$}
1610 !
1611 ! \block{scissor}{
1612 ! {\tt scissor} & the scissor correction & real & $0.0$}
1613 ! This is the scissor shift applied to states above the Fermi energy
1614 ! {\it Phys. Rev. B} {\bf 43}, 4187 (1991). Affects optics calculations only.
1615 !
1616 ! \block{scrpath}{
1617 ! {\tt scrpath} & scratch space path & string & null}
1618 ! This is the scratch space path where the eigenvector files {\tt EVALFV.OUT}
1619 ! and {\tt EVALSV.OUT} will be written. If the run directory is accessed via a
1620 ! network then {\tt scrpath} can be set to a directory on the local disk, for
1621 ! example {\tt /tmp/}. Note that the forward slash {\tt /} at the end of the
1622 ! path must be included.
1623 !
1624 ! \block{socscf}{
1625 ! {\tt socscf} & scaling factor for the spin-orbit coupling term in the
1626 ! Hamiltonian & real & $1.0$}
1627 ! This can be used to enhance the effect of spin-orbit coupling in order to
1628 ! accurately determine the magnetic anisotropy energy (MAE).
1629 !
1630 ! \block{spincore}{
1631 ! {\tt spincore} & set to {\tt .true.} if the core should be spin-polarised
1632 ! & logical & {\tt .false.}}
1633 !
1634 ! \block{spinorb}{
1635 ! {\tt spinorb} & set to {\tt .true.} if a spin-orbit coupling is required
1636 ! & logical & {\tt .false.}}
1637 ! If {\tt spinorb} is {\tt .true.}, then a $\boldsymbol\sigma\cdot{\bf L}$
1638 ! term is added to the second-variational Hamiltonian. See {\tt spinpol}.
1639 !
1640 ! \block{spinpol}{
1641 ! {\tt spinpol} & set to {\tt .true.} if a spin-polarised calculation is
1642 ! required & logical & {\tt .false.}}
1643 ! If {\tt spinpol} is {\tt .true.}, then the spin-polarised Hamiltonian is
1644 ! solved as a second-variational step using two-component spinors in the
1645 ! Kohn-Sham magnetic field. The first variational scalar wavefunctions are
1646 ! used as a basis for setting this Hamiltonian.
1647 !
1648 ! \block{spinsprl}{
1649 ! {\tt spinsprl} & set to {\tt .true.} if a spin-spiral calculation is
1650 ! required & logical & {\tt .false.}}
1651 ! Experimental feature for the calculation of spin-spiral states. See
1652 ! {\tt vqlss} for details.
1653 !
1654 ! \block{sppath}{
1655 ! {\tt sppath} & path where the species files can be found & string & null}
1656 ! Note that the forward slash {\tt /} at the end of the path must be included.
1657 !
1658 ! \block{ssdph}{
1659 ! {\tt ssdph} & set to {\tt .true.} if a complex de-phasing factor is to be
1660 ! used in spin-spiral calculations & logical & {\tt .true.}}
1661 ! If this is {\tt .true.} then spin-spiral wavefunctions in each muffin-tin at
1662 ! position ${\bf r}_{\alpha}$ are de-phased by the matrix
1663 ! $$ \begin{pmatrix} e^{-i{\bf q}\cdot{\bf r}_{\alpha}/2} & 0 \\
1664 ! 0 & e^{i{\bf q}\cdot{\bf r}_{\alpha}/2} \end{pmatrix}. $$
1665 ! In simple situations, this has the advantage of producing magnon dynamical
1666 ! matrices which are already in diagonal form. This option should be used with
1667 ! care, and a full understanding of the spin-spiral configuration is required.
1668 ! See {\tt spinsprl}.
1669 !
1670 ! \block{stype}{
1671 ! {\tt stype} & integer defining the type of smearing to be used & integer &
1672 ! $3$}
1673 ! A smooth approximation to the Dirac delta function is needed to compute the
1674 ! occupation numbers of the Kohn-Sham states. The variable {\tt swidth}
1675 ! determines the width of the approximate delta function. Currently
1676 ! implemented are
1677 ! \vskip 6pt
1678 ! \begin{tabularx}{\textwidth}[h]{lX}
1679 ! 0 & Gaussian \\
1680 ! 1 & Methfessel-Paxton order 1, Phys. Rev. B {\bf 40}, 3616 (1989) \\
1681 ! 2 & Methfessel-Paxton order 2 \\
1682 ! 3 & Fermi-Dirac
1683 ! \end{tabularx}
1684 ! \vskip 6pt
1685 ! See also {\tt autoswidth}, {\tt swidth} and {\tt tempk}.
1686 !
1687 ! \block{swidth}{
1688 ! {\tt swidth} & width of the smooth approximation to the Dirac delta
1689 ! function & real & $0.001$}
1690 ! See {\tt stype} for details and the variable {\tt tempk}.
1691 !
1692 ! \newpage
1693 ! \block{tasks}{
1694 ! {\tt task(i) } & the $i$th task & integer & $-1$}
1695 ! A list of tasks for the code to perform sequentially. The list should be
1696 ! terminated with a blank line. Each task has an associated integer as
1697 ! follows:
1698 ! \vskip 6pt
1699 ! \begin{tabularx}{\textwidth}[h]{lX}
1700 ! 0 & Ground-state run starting from the atomic densities. \\
1701 ! 1 & Resumption of ground-state run using density in {\tt STATE.OUT}. \\
1702 ! 2 & Geometry optimisation run starting from the atomic densities, with
1703 ! atomic positions written to {\tt GEOMETRY.OUT}. \\
1704 ! 3 & Resumption of geometry optimisation run using density in {\tt STATE.OUT}
1705 ! but with positions from {\tt elk.in}. \\
1706 ! 5 & Ground-state Hartree-Fock run. \\
1707 ! 10 & Total, partial and interstitial density of states (DOS). \\
1708 ! 14 & Plots the smooth Dirac delta and Heaviside step functions used by the
1709 ! code to calculate occupation numbers. \\
1710 ! 15 & Output ${\bf L}$, ${\bf S}$ and ${\bf J}$ total expectation values. \\
1711 ! 16 & Output ${\bf L}$, ${\bf S}$ and ${\bf J}$ expectation values for each
1712 ! $k$-point and state in {\tt kstlist}. \\
1713 ! 20 & Band structure plot. \\
1714 ! 21 & Band structure plot which includes total and angular momentum
1715 ! characters for every atom. \\
1716 ! 22 & Band structure plot which includes $(l,m)$ character for every atom. \\
1717 ! 23 & Band structure plot which includes spin character for every atom. \\
1718 ! 25 & Compute the effective mass tensor at the $k$-point given by
1719 ! {\tt vklem}. \\
1720 ! 31/2/3 & 1/2/3D charge density plot. \\
1721 ! 41/2/3 & 1/2/3D exchange-correlation and Coulomb potential plots. \\
1722 ! 51/2/3 & 1/2/3D electron localisation function (ELF) plot. \\
1723 ! 61/2/3 & 1/2/3D wavefunction plot:
1724 ! $\left|\Psi_{i{\bf k}}({\bf r})\right|^2$. \\
1725 ! 65 & Write the core wavefunctions to file for plotting. \\
1726 ! 68 & Output the status of the RAM disk. \\
1727 ! 71/2/3 & 1/2/3D plot of magnetisation vector field, ${\bf m}({\bf r})$. \\
1728 ! 81/2/3 & 1/2/3D plot of exchange-correlation magnetic vector field,
1729 ! ${\bf B}_{\rm xc}({\bf r})$. \\
1730 ! 91/2/3 & 1/2/3D plot of $\nabla\cdot{\bf B}_{\rm xc}({\bf r})$. \\
1731 ! 100 & 3D Fermi surface plot using the scalar product
1732 ! $p({\bf k})=\prod_i(\epsilon_{i{\bf k}}-\epsilon_{\rm F})$. \\
1733 ! 101 & 3D Fermi surface plot using separate bands (minus the Fermi
1734 ! energy). \\
1735 ! 102 & 3D Fermi surface which can be plotted with XCrysDen. \\
1736 ! 105 & 3D nesting function plot. \\
1737 ! 110 & Calculation of M\"{o}ssbauer contact charge densities and magnetic
1738 ! fields at the nuclear sites. \\
1739 ! 115 & Calculation of the electric field gradient (EFG) at the nuclear
1740 ! sites. \\
1741 ! 120 & Output of the momentum matrix elements
1742 ! $\langle\Psi_{i{\bf k}}|-i\nabla|\Psi_{j{\bf k}}\rangle$. \\
1743 ! 121 & Linear optical dielectric response tensor calculated within the random
1744 ! phase approximation (RPA) and in the $q\rightarrow 0$ limit, with no
1745 ! microscopic contributions. \\
1746 ! 122 & Magneto optical Kerr effect (MOKE) angle. \\
1747 ! 125 & Non-linear optical second harmonic generation. \\
1748 ! 130 & Output matrix elements of the type
1749 ! $\langle\Psi_{i{\bf k+q}}|e^{i{\bf q}\cdot{\bf r}}|
1750 ! \Psi_{j{\bf k}}\rangle$.
1751 ! \end{tabularx}
1752 !
1753 ! \begin{tabularx}{\textwidth}[h]{lX}
1754 ! 135 & Output all wavefunctions expanded in the plane wave basis up to a
1755 ! cut-off defined by {\tt hkmax}. \\
1756 ! 140 & Energy loss near edge structure (ELNES). \\
1757 ! 141/2/3 & 1/2/3D plot of the electric field
1758 ! ${\bf E}({\bf r})\equiv\nabla V_{\rm C}({\bf r})$. \\
1759 ! 150 & Write out the atomic eigenvalues for each species. \\
1760 ! 151/2/3 & 1/2/3D plot of
1761 ! ${\bf m}({\bf r})\times{\bf B}_{\rm xc}({\bf r})$. \\
1762 ! 160 & Calculates the total exchange-correlation spin-torque acting on the
1763 ! system: $\boldsymbol\tau=\int d^3r\, {\bf m}({\bf r})\times
1764 ! {\bf B}_{\rm xc}({\bf r}).$ \\
1765 ! 162 & 2D scanning-tunneling microscopy (STM) image. \\
1766 ! 170 & Writes the electron momentum density to {\tt EMD.OUT}. \\
1767 ! 171/2/3 & 1/2/3D plot of the electron momentum density. \\
1768 ! 180 & Generate the RPA inverse dielectric function with local contributions
1769 ! $\epsilon^{-1}({\bf G},{\bf G}',{\bf q},\omega)$ and write it to file. \\
1770 ! 185 & Write the Bethe-Salpeter equation (BSE) Hamiltonian to file. \\
1771 ! 186 & Diagonalise the BSE Hamiltonian and write the eigenvectors and
1772 ! eigenvalues to file. \\
1773 ! 187 & Output the BSE dielectric response function. \\
1774 ! 190 & Write the atomic geometry to file for plotting with XCrySDen and
1775 ! V\_Sim. \\
1776 ! 195 & Calculation of X-ray density structure factors. \\
1777 ! 196 & Calculation of magnetic structure factors. \\
1778 ! 200 & Calculation of phonon dynamical matrices on a $q$-point set defined by
1779 ! {\tt ngridq} using the supercell method. \\
1780 ! 202 & Phonon dry run: just produce a set of empty {\tt DYN} files. \\
1781 ! 205 & Calculation of phonon dynamical matrices using density functional
1782 ! perturbation theory (DFPT). \\
1783 ! 208 & Calculation of static Born effective charges. \\
1784 ! 209 & Born effective charge dry run: produce a set of empty {\tt BEC}
1785 ! files. \\
1786 ! 210 & Phonon density of states. \\
1787 ! 220 & Phonon dispersion plot. \\
1788 ! 230 & Phonon frequencies and eigenvectors for an arbitrary $q$-point. \\
1789 ! 240/1 & Generate the ${\bf q}$-dependent phonon linewidths and
1790 ! electron-phonon coupling constants and write them to file. Task 241 also
1791 ! writes the complete set of electron-phonon coupling matrix elements to
1792 ! {\tt EPHMAT.OUT}. \\
1793 ! 245 & Phonon linewidths plot. \\
1794 ! 250 & Eliashberg function $\alpha^2F(\omega)$, electron-phonon coupling
1795 ! constant $\lambda$, and the McMillan-Allen-Dynes critical temperature
1796 ! $T_c$. \\
1797 ! 260 & Solves the Eliashberg equations to find the superconducting gap. \\
1798 ! 270 & Electron-phonon Bogoliubov equation ground-state. \\
1799 ! 271 & Resumption of the Bogoliubov ground-state. \\
1800 ! 280 & Electron-phonon Bogoliubov density of states. \\
1801 ! 285 & Electron and phonon anomalous correlation entropy (ACE). \\
1802 ! 300 & Reduced density matrix functional theory (RDMFT) calculation. \\
1803 ! 320 & Time-dependent density functional theory (TDDFT) calculation of the
1804 ! dielectric response function including microscopic contributions. \\
1805 ! 330/1 & TDDFT calculation of the spin-polarised response function for
1806 ! arbitrary ${\bf q}$-vectors. Task 331 writes the entire response function
1807 ! $\overleftrightarrow{\chi}({\bf G},{\bf G}',{\bf q},\omega)$ to file.
1808 ! \end{tabularx}
1809 !
1810 ! \begin{tabularx}{\textwidth}[h]{lX}
1811 ! 341/2/3 & 1/2/3D plot of
1812 ! $w_{\rm xc}({\bf r})\equiv \left.\delta E_{\rm xc}[\rho,\tau]/
1813 ! \delta \tau({\bf r})\right|_{\rho}$ which is calculated for meta-GGA
1814 ! functionals. \\
1815 ! 350/1/2 & Spin-spiral supercell calculations (spin-orbit coupling can be
1816 ! included). Task 352 is a dry run: produce a set of empty {\tt SS} files. \\
1817 ! 371/2/3 & 1/2/3D plot of the paramagnetic current density
1818 ! ${\bf j}_{\rm p}({\bf r})$. \\
1819 ! 380 & Piezoelectric tensor. \\
1820 ! 390 & Magnetoelectric tensor. \\
1821 ! 400 & Calculation of tensor moments and corresponding DFT+$U$ Hartree-Fock
1822 ! energy contributions. \\
1823 ! 420/1 & Molecular dynamics (MD) calculation within the adiabatic
1824 ! approximation. Task 421 restarts an interrupted MD calculation. \\
1825 ! 430 & Write the strain tensors to {\tt STRAIN.OUT}. \\
1826 ! 440 & Write the stress tensor components corresponding to the strain tensors
1827 ! to {\tt STRESS.OUT}. \\
1828 ! 450 & Generates a laser pulse in the form of a time-dependent vector
1829 ! potential ${\bf A}(t)$ and writes it to {\tt AFIELDT.OUT}. \\
1830 ! 455 & Writes the time-dependent power density and total energy density of
1831 ! ${\bf A}(t)$. \\
1832 ! 456 & Writes the frequency-dependent electric field ${\bf E}(\omega)$
1833 ! corresponding to ${\bf A}(t)$. \\
1834 ! 460/1/2/3 & Time evolution run using TDDFT under the influence of
1835 ! ${\bf A}(t)$. Tasks 462 and 463 include nuclear Ehrenfest dynamics. Tasks
1836 ! 461 and 463 restart interrupted calculations. \\
1837 ! 471 & 1D plot of the static charge density. \\
1838 ! 478 & Calculation of the dynamical Born effective charges. \\
1839 ! 480/1 & Computes the dielectric function from the time-dependent current
1840 ! density in {\tt JTOT\_TD.OUT}. Task 481 assumes that the vector potential
1841 ! ${\bf A}(t)$ is a step function at $t=0$, while task 480 makes no such
1842 ! assumptions. \\
1843 ! 500 & Checks the test files generated when {\tt test} is {\tt .true.} \\
1844 ! 550 & Writes the files required by Wannier90. \\
1845 ! 600 & Output the $GW$ self-energy matrix elements. \\
1846 ! 610 & Generates the $GW$ spectral function. \\
1847 ! 620 & Generates the $GW$ band structure, i.e. the ${\bf k}$-dependent
1848 ! spectral function). \\
1849 ! 630 & Writes the $GW$ Fermi energy to {\tt GWEFERMI.OUT} \\
1850 ! 640 & Determines the $GW$ density matrix in terms of natural orbitals and
1851 ! occupation numbers. The files {\tt EVECSV.OUT} and {\tt OCCSV.OUT} are
1852 ! overwritten by these and can then be used for other calculations. \\
1853 ! 700/1 & Ultra long-range ground-state calculation. Task 701 is for
1854 ! restarting from the potential in {\tt STATE\_ULR.OUT}. \\
1855 ! 720/5 & Ultra long-range band structure and spectral function. Task 720 is
1856 ! for the central $k$-point (i.e. $\kappa=0$), while task 725 averages over
1857 ! all $\kappa$-points.\\
1858 ! 731/2/3 & 1/2/3D plot of the ultra long-range density. \\
1859 ! 741/2/3 & 1/2/3D plot of the ultra long-range Kohn-Sham potential. \\
1860 ! 771/2/3 & 1/2/3D plot of the ultra long-range magnetisation.
1861 ! \end{tabularx}
1862 !
1863 ! \block{tau0atp}{
1864 ! {\tt tau0atp} & the step size to be used for atomic position optimisation &
1865 ! real & $0.25$}
1866 ! The position of atom $\alpha$ is updated on step $m$ of a geometry
1867 ! optimisation run using
1868 ! $$ {\bf r}_{\alpha}^{m+1}={\bf r}_{\alpha}^m+\tau_{\alpha}^m
1869 ! \left({\bf F}_{\alpha}^m+{\bf F}_{\alpha}^{m-1}\right), $$
1870 ! where $\tau_{\alpha}$ is set to {\tt tau0atp} for $m=0$, and incremented by
1871 ! the same amount if the atom is moving in the same direction between steps.
1872 ! If the direction changes then $\tau_{\alpha}$ is reset to {\tt tau0atp}.
1873 !
1874 ! \block{tau0latv}{
1875 ! {\tt tau0latv} & the step size to be used for lattice vector optimisation &
1876 ! real & $0.25$}
1877 ! This parameter is used for lattice vector optimisation in a procedure
1878 ! identical to that for atomic position optimisation. See {\tt tau0atp} and
1879 ! {\tt latvopt}.
1880 !
1881 ! \block{tau0oep}{
1882 ! {\tt tau0oep} & initial step length for the OEP iterative solver & real &
1883 ! $0.5$}
1884 ! The optimised effective potential is determined using an interative method
1885 ! [Phys. Rev. Lett. 98, 196405 (2007)]. This variable sets the step length as
1886 ! described in the article. See {\tt maxitoep}.
1887 !
1888 ! \block{taufsm}{
1889 ! {\tt taufsm} & the step size to be used when finding the effective magnetic
1890 ! field in fixed spin moment calculations & real & $0.01$}
1891 ! An effective magnetic field, ${\bf B}_{\rm FSM}$, is required for fixing the
1892 ! spin moment to a given value, ${\bf M}_{\rm FSM}$. This is found by adding a
1893 ! vector to the field which is proportional to the difference between the
1894 ! moment calculated in the $i$th self-consistent loop and the required moment:
1895 ! $$ {\bf B}_{\rm FSM}^{i+1}={\bf B}_{\rm FSM}^i+\lambda\left({\bf M}^i
1896 ! -{\bf M}_{\rm FSM}\right), $$
1897 ! where $\lambda$ is proportional to {\tt taufsm}. See also {\tt fsmtype},
1898 ! {\tt momfix} and {\tt spinpol}.
1899 !
1900 ! \block{tempk}{
1901 ! {\tt tempk} & temperature $T$ of the electronic system in kelvin & real & -}
1902 ! Assigning a value to this variable sets {\tt stype} to 3 (Fermi-Dirac) and
1903 ! the smearing width to $k_{\rm B}T$.
1904 !
1905 ! \block{tforce}{
1906 ! {\tt tforce} & set to {\tt .true.} if the force should be calculated at the
1907 ! end of the self-consistent cycle & logical & {\tt .false.}}
1908 ! This variable is automatically set to {\tt .true.} when performing geometry
1909 ! optimisation.
1910 !
1911 ! \block{tefvr}{
1912 ! {\tt tefvr} & set to {\tt .true.} if a real symmetric eigenvalue solver
1913 ! should be used for crystals which have inversion symmetry & logical &
1914 ! {\tt .true.}}
1915 ! For crystals with inversion symmetry, the first-variational Hamiltonian and
1916 ! overlap matrices can be made real by using appropriate transformations. In
1917 ! this case, a real symmetric (instead of complex Hermitian) eigenvalue solver
1918 ! can be used. This makes the calculation about three times faster.
1919 !
1920 ! \block{tm3fix}{
1921 ! {\tt ntmfix} & number of tensor moments (TM) to be fixed & integer & 0 \\
1922 ! \hline
1923 ! {\tt is(i)} & species number for entry $i$ & integer & - \\
1924 ! {\tt ia(i)} & atom number & integer & - \\
1925 ! {\tt l(i)} & $l$ of TM & integer & - \\
1926 ! \hline
1927 ! {\tt (k, p, r, t)(i)} & indices for the 3-index TM & integer & - \\
1928 ! \hline
1929 ! {\tt wkpr(t)(i)} & real TM value & real & - }
1930 ! This block sets up the fixed tensor moment (FTM). There should be as many
1931 ! TM entries as {\tt ntmfix}. See the routine {\tt tm3todm} for the tensor
1932 ! moment indexing convention.
1933 !
1934 ! \block{tmwrite}{
1935 ! {\tt tmwrite} & set to {\tt .true.} if the tensor moments and the
1936 ! corresponding decomposition of DFT+$U$ energy should be calculated
1937 ! at every loop of the self-consistent cycle & logical & {\tt .false.}}
1938 ! This variable is useful to check the convergence of the tensor moments in
1939 ! DFT+$U$ calculations. Alternatively, with {\tt task} equal to 400, one can
1940 ! calculate the tensor moments and corresponding DFT+$U$ energy contributions
1941 ! from a given density matrix and set of Slater parameters at the end of the
1942 ! self-consistent cycle.
1943 !
1944 ! \block{trdbfcr}{
1945 ! {\tt trdbfcr} & set to {\tt .true.} if the ultra long-range, real-space
1946 ! external magnetic field in Cartesian coordinates should be read in from
1947 ! {\tt BFCR.OUT} & logical & {\tt .false.}}
1948 !
1949 ! \block{trdvclr}{
1950 ! {\tt trdvclr} & set to {\tt .true.} if the ultra long-range, real-space
1951 ! external Coulomb potential should be read in from {\tt VCLR.OUT} &
1952 ! logical & {\tt .false.}}
1953 !
1954 ! \block{tsediag}{
1955 ! {\tt tsediag} & set to {\tt .true.} if the self-energy matrix should be
1956 ! treated as diagonal & logical & {\tt .false.}}
1957 ! When this variable is {\tt .true.}, the self-energy used in a $GW$
1958 ! calculation $\Sigma_{ij}({\bf k},\omega)$ is taken to be diagonal in the
1959 ! Kohn-Sham state indices $i$ and $j$. When {\tt tsediag} is {\tt .false.},
1960 ! the entire matrix is used.
1961 !
1962 ! \block{tshift}{
1963 ! {\tt tshift} & set to {\tt .true.} if the crystal can be shifted so that the
1964 ! atom closest to the origin is exactly at the origin &
1965 ! logical & {\tt .true.}}
1966 !
1967 ! \block{tstime}{
1968 ! {\tt tstime} & total simulation time of time evolution run & real &
1969 ! $1000.0$}
1970 ! See also {\tt dtimes}.
1971 !
1972 ! \block{vhmat}{
1973 ! {\tt vhmat(1)} & matrix row 1 & real(3) & $(1.0,0.0,0.0)$ \\
1974 ! \hline
1975 ! {\tt vhmat(2)} & matrix row 2 & real(3) & $(0.0,1.0,0.0)$ \\
1976 ! \hline
1977 ! {\tt vhmat(3)} & matrix row 3 & real(3) & $(0.0,0.0,1.0)$}
1978 ! This is the transformation matrix $M$ applied to every vector $\bf H$ in the
1979 ! structure factor output files {\tt SFACRHO.OUT} and {\tt SFACMAG.OUT}. It is
1980 ! stored in the usual row-column setting and applied directly as
1981 ! ${\bf H}'=M{\bf H}$ to every vector but {\em only} when writing the output
1982 ! files. See also {\tt hmaxvr} and {\tt reduceh}.
1983 !
1984 ! \block{vhighq}{
1985 ! {\tt vhighq} & {\tt .true.} if a very high-quality parameter set should be
1986 ! used & logical & {\tt .false.}}
1987 ! Setting this to {\tt .true.} results in some default parameters being
1988 ! changed to ensure excellent convergence in most situations. See also
1989 ! {\tt highq}.
1990 !
1991 ! \block{vklem}{
1992 ! {\tt vklem} & the $k$-point in lattice coordinates at which to compute the
1993 ! effective mass tensors & real(3) & $(0.0,0.0,0.0)$}
1994 ! See {\tt deltaem} and {\tt ndspem}.
1995 !
1996 ! \block{vkloff}{
1997 ! {\tt vkloff } & the $k$-point offset vector in lattice coordinates &
1998 ! real(3) & $(0.0,0.0,0.0)$}
1999 ! See {\tt ngridk}.
2000 !
2001 ! \block{vqlss}{
2002 ! {\tt vqlss} & the ${\bf q}$-vector of the spin-spiral state in lattice
2003 ! coordinates & real(3) & $(0.0,0.0,0.0)$}
2004 ! Spin-spirals arise from spinor states assumed to be of the form
2005 ! $$ \Psi^{\bf q}_{\bf k}({\bf r})=
2006 ! \left( \begin{array}{c}
2007 ! U^{{\bf q}\uparrow}_{\bf k}({\bf r})e^{i({\bf k+q/2})\cdot{\bf r}} \\
2008 ! U^{{\bf q}\downarrow}_{\bf k}({\bf r})e^{i({\bf k-q/2})\cdot{\bf r}} \\
2009 ! \end{array} \right). $$
2010 ! These are determined using a second-variational approach, and give rise to a
2011 ! magnetisation density of the form
2012 ! $$ {\bf m}^{\bf q}({\bf r})=(m_x({\bf r})\cos({\bf q \cdot r}),
2013 ! m_y({\bf r})\sin({\bf q \cdot r}),m_z({\bf r})), $$
2014 ! where $m_x$, $m_y$ and $m_z$ are lattice periodic. See also {\tt spinsprl}.
2015 !
2016 ! \block{wmaxgw}{
2017 ! {\tt wmaxgw} & maximum Matsubara frequency for $GW$ calculations & real &
2018 ! $-5.0$}
2019 ! This defines the cut-off of the Matsubara frequencies on the imaginary
2020 ! axis for calculating the $GW$ self-energy and solving the Dyson equation.
2021 ! If this number is negative then the cut-off is taken to be
2022 ! $|{\tt wmaxgw}|\times\Delta\epsilon$, where $\Delta\epsilon$ is the
2023 ! difference between the largest and smallest Kohn-Sham valence eigenvalues.
2024 !
2025 ! \block{wplot}{
2026 ! {\tt nwplot} & number of frequency/energy points in the DOS or optics plot &
2027 ! integer & $500$ \\
2028 ! {\tt ngrkf} & fine $k$-point grid size used for integrating functions in the
2029 ! Brillouin zone & integer & $100$ \\
2030 ! {\tt nswplot} & level of smoothing applied to DOS/optics output & integer &
2031 ! $1$ \\
2032 ! \hline
2033 ! {\tt wplot} & frequency/energy window for the DOS or optics plot & real(2) &
2034 ! $(-0.5,0.5)$}
2035 ! DOS and optics plots require integrals of the kind
2036 ! $$ g(\omega_i)=\frac{\Omega}{(2\pi)^3}\int_{\rm BZ} f({\bf k})
2037 ! \delta(\omega_i-e({\bf k}))d{\bf k}. $$
2038 ! These are calculated by first interpolating the functions $e({\bf k})$ and
2039 ! $f({\bf k})$ with the trilinear method on a much finer mesh whose size is
2040 ! determined by {\tt ngrkf}. Then the $\omega$-dependent histogram of the
2041 ! integrand is accumulated over the fine mesh. If the output function is noisy
2042 ! then either {\tt ngrkf} should be increased or {\tt nwplot} decreased.
2043 ! Alternatively, the output function can be artificially smoothed up to a
2044 ! level given by {\tt nswplot}. This is the number of successive 3-point
2045 ! averages to be applied to the function $g$.
2046 !
2047 ! \block{wsfac}{
2048 ! {\tt wsfac} & energy window to be used when calculating density or magnetic
2049 ! structure factors & real(2) & $(-10^6,10^6)$}
2050 ! Only those states with eigenvalues within this window will contribute to the
2051 ! density or magnetisation. See also {\tt hmaxvr} and {\tt vhmat}.
2052 !
2053 ! \block{xctsp}{
2054 ! {\tt xctsp} & integers defining the type of exchange-correlation functional
2055 ! used for the atomic species & integer(3) & $(3,0,0)$}
2056 ! This applies only to the atomic calculation used to determine the starting
2057 ! density and has no effect on the self-consistent crystal calculation
2058 ! (unless {\tt frzncore} is {\tt .true.}). Only LDA and GGA functionals are
2059 ! supoorted. See {\tt xctype} for available options.
2060 !
2061 ! \block{xctype}{
2062 ! {\tt xctype} & integers defining the type of exchange-correlation functional
2063 ! to be used & integer(3) & $(3,0,0)$}
2064 ! Normally only the first value is used to define the functional type. The
2065 ! other value may be used for external libraries. Currently implemented are:
2066 ! \vskip 6pt
2067 ! \begin{tabularx}{\textwidth}[h]{lX}
2068 ! $-n$ & Exact-exchange optimised effective potential (EXX-OEP) method with
2069 ! correlation energy and potential given by functional number $n$ \\
2070 ! 1 & No exchange-correlation funtional ($E_{\rm xc}\equiv 0$) \\
2071 ! 2 & LDA, Perdew-Zunger/Ceperley-Alder, {\it Phys. Rev. B} {\bf 23}, 5048
2072 ! (1981) \\
2073 ! 3 & LSDA, Perdew-Wang/Ceperley-Alder, {\it Phys. Rev. B} {\bf 45}, 13244
2074 ! (1992) \\
2075 ! 4 & LDA, X-alpha approximation, J. C. Slater, {\it Phys. Rev.} {\bf 81}, 385
2076 ! (1951) \\
2077 ! 5 & LSDA, von Barth-Hedin, {\it J. Phys. C} {\bf 5}, 1629 (1972) \\
2078 ! 20 & GGA, Perdew-Burke-Ernzerhof, {\it Phys. Rev. Lett.} {\bf 77}, 3865
2079 ! (1996) \\
2080 ! 21 & GGA, Revised PBE, Zhang-Yang, {\it Phys. Rev. Lett.} {\bf 80}, 890
2081 ! (1998) \\
2082 ! 22 & GGA, PBEsol, Phys. Rev. Lett. 100, 136406 (2008) \\
2083 ! 26 & GGA, Wu-Cohen exchange (WC06) with PBE correlation, {\it Phys. Rev. B}
2084 ! {\bf 73}, 235116 (2006) \\
2085 ! 30 & GGA, Armiento-Mattsson (AM05) spin-unpolarised functional,
2086 ! {\it Phys. Rev. B} {\bf 72}, 085108 (2005) \\
2087 ! 100 & Libxc functionals; the second and third values of {\tt xctype} define
2088 ! the exchange and correlation functionals in the Libxc library,
2089 ! respectively
2090 ! \end{tabularx}
2091 !
2092 ! \section{Contributing to Elk}
2093 ! Please bear in mind when writing code for the Elk project that it should be
2094 ! an exercise in physics and not software engineering. All code should
2095 ! therefore be kept as simple and concise as possible, and above all it should
2096 ! be easy for anyone to locate and follow the Fortran representation of the
2097 ! original mathematics. We would also appreciate the following conventions
2098 ! being adhered to:
2099 ! \begin{itemize}
2100 ! \item Strict Fortran 2008 should be used. Features which are marked as
2101 ! obsolescent in Fortran 2008 should be avoided. These include assigned
2102 ! format specifiers, labeled do-loops, computed goto statements and statement
2103 ! functions.
2104 ! \item Modules should be used in place of common blocks for declaring
2105 ! global variables. Use the existing modules to declare new global variables.
2106 ! \item Any code should be written in lower-case free form style, starting
2107 ! from column one. Try and keep the length of each line to fewer than 80
2108 ! characters using the \& character for line continuation.
2109 ! \item Every function or subroutine, no matter how small, should be in its
2110 ! own file named {\tt routine.f90}, where {\tt routine} is the function or
2111 ! subroutine name. It is recommended that the routines are named so as to
2112 ! make their purpose apparent from the name alone.
2113 ! \item Use of {\tt implicit none} is mandatory. Remember also to define the
2114 ! {\tt intent} of any passed arguments.
2115 ! \item Local allocatable arrays must be deallocated on exit of the routine to
2116 ! prevent memory leakage. Use of automatic arrays should be limited to arrays
2117 ! of small size.
2118 ! \item Every function or subroutine must be documented with the Protex source
2119 ! code documentation system. This should include a short \LaTeX\ description
2120 ! of the algorithms and methods involved. Equations which need to be
2121 ! referenced should be labeled with {\tt routine\_1}, {\tt routine\_2}, etc.
2122 ! The authorship of each new piece of code or modification should be
2123 ! indicated in the {\tt REVISION HISTORY} part of the header. See the Protex
2124 ! documentation for details.
2125 ! \item Ensure as much as possible that a routine will terminate the program
2126 ! when given improper input instead of continuing with erroneous results.
2127 ! Specifically, functions should have a well-defined domain for which they
2128 ! return accurate results. Input outside that domain should result in an
2129 ! error message and termination.
2130 ! \item Report errors prior to termination with a short description, for
2131 ! example:
2132 ! \begin{verbatim}
2133 ! write(*,*)
2134 ! write(*,'("Error(readinput): natoms < 1 : ",I0)') natoms(is)
2135 ! write(*,'(" for species ",I0)') is
2136 ! write(*,*)
2137 ! stop
2138 ! \end{verbatim}
2139 ! \item Wherever possible, real numbers outputted as ASCII data should be
2140 ! formatted with the {\tt G18.10} specifier.
2141 ! \item Avoid redundant or repeated code: check to see if the routine you need
2142 ! already exists, before writing a new one.
2143 ! \item All reading in of ASCII data should be done in the subroutine
2144 ! {\tt readinput}. For binary data, separate routines for reading and writing
2145 ! should be used (for example {\tt writestate} and {\tt readstate}).
2146 ! \item Input filenames should be in lowercase and have the extension
2147 ! {\tt .in} . All output filenames should be in uppercase with the extension
2148 ! {\tt .OUT} .
2149 ! \item All internal units should be atomic. Input and output units should be
2150 ! atomic by default and clearly stated otherwise. Rydbergs should not be used
2151 ! under any circumstances.
2152 ! \end{itemize}
2153 ! \subsection{Licensing}
2154 ! Routines which constitute the main part of the code are released under the
2155 ! GNU General Public License (GPL). Library routines are released under the
2156 ! less restrictive GNU Lesser General Public License (LGPL). Both licenses
2157 ! are contained in the file {\tt COPYING}. Any contribution to the code must
2158 ! be licensed at the authors' discretion under either the GPL or LGPL.
2159 ! Author(s) of the code retain the copyrights. Copyright and (L)GPL
2160 ! information must be included at the beginning of every file, and no code
2161 ! will be accepted without this.
2162 !
2163 !EOI
2164 
subroutine writepmat
Definition: writepmat.f90:10
subroutine wxcplot
Definition: wxcplot.f90:7
subroutine gwsefm
Definition: gwsefm.f90:7
logical batch
Definition: modvars.f90:11
integer maxthd1
Definition: modomp.f90:13
subroutine gndstate
Definition: gndstate.f90:10
subroutine dielectric_tdrt
subroutine maguplot
Definition: maguplot.f90:7
subroutine gndstulr
Definition: gndstulr.f90:7
subroutine checkrst
Definition: checkrst.f90:7
subroutine tddftlru
Definition: tddftlru.f90:7
integer task
Definition: modmain.f90:1299
logical mp_mpi
Definition: modmpi.f90:17
integer maxthd
Definition: modomp.f90:11
subroutine writeefieldw
Definition: writeefieldw.f90:7
subroutine writestrain
Definition: writestrain.f90:7
subroutine phononsc
Definition: phononsc.f90:7
subroutine writew90
Definition: writew90.f90:7
program elk
Definition: elk.f90:7
logical ramdisk
Definition: modramdisk.f90:9
logical wrtdisk
Definition: modramdisk.f90:15
subroutine ephdos
Definition: ephdos.f90:7
Definition: modomp.f90:6
subroutine ephcouple
Definition: ephcouple.f90:7
subroutine dbxcplot
Definition: dbxcplot.f90:7
type(file_t), dimension(:), allocatable, private file
Definition: modramdisk.f90:29
subroutine moldyn
Definition: moldyn.f90:7
subroutine writeemd
Definition: writeemd.f90:7
subroutine tddft
Definition: tddft.f90:7
subroutine writeevbse
Definition: writeevbse.f90:7
integer maxthdmkl
Definition: modomp.f90:15
subroutine bandstr
Definition: bandstr.f90:10
subroutine phonon
Definition: phonon.f90:7
subroutine effmass
Definition: effmass.f90:7
subroutine phdos
Definition: phdos.f90:7
subroutine tddftlr
Definition: tddftlr.f90:7
subroutine spiralsc
Definition: spiralsc.f90:7
subroutine writephn
Definition: writephn.f90:7
integer ntasks
Definition: modmain.f90:1293
subroutine rdstatus
Definition: modramdisk.f90:295
subroutine batchdv
Definition: batchdv.f90:7
integer np_mpi
Definition: modmpi.f90:13
subroutine nonlinopt
Definition: nonlinopt.f90:10
subroutine hartfock
Definition: hartfock.f90:7
subroutine nesting
Definition: nesting.f90:7
subroutine omp_init
Definition: modomp.f90:32
subroutine gwdmat
Definition: gwdmat.f90:7
integer maxlvl
Definition: modomp.f90:17
integer itask
Definition: modmain.f90:1295
subroutine dielectric
Definition: dielectric.f90:10
subroutine vecplot
Definition: vecplot.f90:10
subroutine writeevsp
Definition: writeevsp.f90:7
subroutine writehmlbse
Definition: writehmlbse.f90:7
subroutine writesf
Definition: writesf.f90:7
subroutine piezoelt
Definition: piezoelt.f90:7
subroutine wfcrplot
Definition: wfcrplot.f90:7
subroutine emdplot
Definition: emdplot.f90:7
subroutine writetm
Definition: writetm.f90:7
subroutine mossbauer
Definition: mossbauer.f90:10
subroutine geomopt
Definition: geomopt.f90:7
subroutine fermisurf
Definition: fermisurf.f90:7
subroutine elnes
Definition: elnes.f90:7
subroutine bandstrulr
Definition: bandstrulr.f90:7
subroutine potplot
Definition: potplot.f90:10
subroutine writeepsinv
Definition: writeepsinv.f90:7
subroutine gndsteph
Definition: gndsteph.f90:7
subroutine writewfpw
Definition: writewfpw.f90:7
subroutine mae
Definition: mae.f90:7
subroutine writelsj
Definition: writelsj.f90:7
subroutine elfplot
Definition: elfplot.f90:10
subroutine idle
Definition: idle.f90:7
logical wrtvars
Definition: modvars.f90:9
subroutine delfile(fname)
Definition: moddelf.f90:15
subroutine writedosu
Definition: writedosu.f90:7
subroutine dielectric_bse
Definition: modmpi.f90:6
subroutine rhoplot
Definition: rhoplot.f90:10
subroutine wfplot
Definition: wfplot.f90:7
subroutine writeefg
Definition: writeefg.f90:10
subroutine writebox(fnum, str)
Definition: writebox.f90:7
logical trestart
Definition: modmain.f90:1059
subroutine rhosplot
Definition: rhosplot.f90:7
subroutine gwbandstr
Definition: gwbandstr.f90:7
subroutine moke
Definition: moke.f90:7
subroutine mkl_init
Definition: mkl_init.f90:7
subroutine omp_reset
Definition: modomp.f90:71
integer, dimension(3), parameter version
Definition: modmain.f90:1289
integer lp_mpi
Definition: modmpi.f90:15
subroutine rdmft
Definition: rdmft.f90:10
subroutine sfacmag
Definition: sfacmag.f90:10
subroutine phdisp
Definition: phdisp.f90:7
subroutine initrd
Definition: modramdisk.f90:37
subroutine readinput
Definition: readinput.f90:10
subroutine writeafpdt
Definition: writeafpdt.f90:7
subroutine bornechg
Definition: bornechg.f90:7
subroutine writegwefm
Definition: writegwefm.f90:7
subroutine alpha2f
Definition: alpha2f.f90:7
subroutine geomplot
Definition: geomplot.f90:7
subroutine eliashberg
Definition: eliashberg.f90:10
subroutine genafieldt
Definition: genafieldt.f90:10
subroutine bornecdyn
Definition: bornecdyn.f90:7
subroutine potuplot
Definition: potuplot.f90:7
subroutine writedos
Definition: writedos.f90:7
subroutine writeexpmat
Definition: writeexpmat.f90:7
subroutine aceplot
Definition: aceplot.f90:7
subroutine gwspecf
Definition: gwspecf.f90:7
integer, dimension(maxtasks) tasks
Definition: modmain.f90:1297
subroutine phlwidth
Definition: phlwidth.f90:7
subroutine tddftsplr
Definition: tddftsplr.f90:7
subroutine rhouplot
Definition: rhouplot.f90:7
subroutine writestress
Definition: writestress.f90:7
subroutine testcheck
Definition: testcheck.f90:7
subroutine sfacrho
Definition: sfacrho.f90:10
integer mpicom
Definition: modmpi.f90:11
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)
Definition: modvars.f90:16
subroutine fermisurfbxsf
subroutine magnetoelt
Definition: magnetoelt.f90:7
subroutine torque
Definition: torque.f90:7
integer ierror
Definition: modmpi.f90:19
subroutine jprplot
Definition: jprplot.f90:7