36write(str,
'("Elk code version ",I0,".",I0,".",I0)')
version
38call date_and_time(date=dat,time=tim)
40write(fnum,
'("Date (YYYY-MM-DD) : ",A4,"-",A2,"-",A2)') dat(1:4),dat(5:6), &
42write(fnum,
'("Time (hh:mm:ss) : ",A2,":",A2,":",A2)') tim(1:2),tim(3:4), &
46 write(fnum,
'("Using MPI, number of processes : ",I8)')
np_mpi
50 write(fnum,
'("Notes :")')
52 write(fnum,
'(A)') trim(
notes(i))
56write(fnum,
'("All units are atomic (Hartree, Bohr, etc.)")')
60 call writebox(fnum,
"Geometry optimisation run resuming from STATE.OUT")
62 call writebox(fnum,
"Geometry optimisation starting from atomic densities")
65 call writebox(fnum,
"Ground-state Hartree-Fock run")
67 call writebox(fnum,
"Reduced density matrix functional theory run")
70 call writebox(fnum,
"Ground-state run resuming from STATE.OUT")
72 call writebox(fnum,
"Ground-state run starting from atomic densities")
76write(fnum,
'("Lattice vectors :")')
81write(fnum,
'("Reciprocal lattice vectors :")')
86write(fnum,
'("Unit cell volume : ",G18.10)')
omega
87write(fnum,
'("Brillouin zone volume : ",G18.10)')
omegabz
89write(fnum,
'("Muffin-tin inner radius fraction : ",G18.10)')
fracinr
92 write(fnum,
'("Nuclei treated as point charges")')
94 write(fnum,
'("Nuclei treated as charged spheres")')
98 write(fnum,
'("Species : ",I4," (",A,")")') is,trim(
spsymb(is))
99 write(fnum,
'(" parameters loaded from : ",A)') trim(
spfname(is))
100 write(fnum,
'(" name : ",A)') trim(
spname(is))
101 write(fnum,
'(" nuclear charge : ",G18.10)')
spzn(is)
102 write(fnum,
'(" electronic charge : ",G18.10)')
spze(is)
103 write(fnum,
'(" atomic mass : ",G18.10)')
spmass(is)
104 write(fnum,
'(" muffin-tin radius : ",G18.10)')
rmt(is)
105 write(fnum,
'(" number of radial points in muffin-tin : ",I6)')
nrmt(is)
106 write(fnum,
'(" number on inner part of muffin-tin : ",I6)')
nrmti(is)
107 write(fnum,
'(" approximate nuclear radius : ",G18.10)')
rnucl(is)
108 write(fnum,
'(" number of mesh points to nuclear radius : ",I6)')
nrnucl(is)
109 write(fnum,
'(" atomic positions (lattice), magnetic fields (Cartesian) :")')
111 write(fnum,
'(I4," : ",3F12.8," ",3F12.8)') ia,
atposl(:,ia,is), &
116write(fnum,
'("Total number of atoms per unit cell : ",I4)')
natmtot
117write(fnum,
'("Total muffin-tin volume : ",G18.10)')
omegamt
118write(fnum,
'(" ratio of muffin-tin to unit cell volume : ",G18.10)') &
121write(fnum,
'("Spin treatment :")')
123 write(fnum,
'(" spin-polarised")')
125 write(fnum,
'(" spin-unpolarised")')
128 write(fnum,
'(" spin-orbit coupling")')
131 write(fnum,
'(" spin-polarised core states")')
134 write(fnum,
'(" global magnetic field (Cartesian) : ",3G18.10)')
bfieldc
136 write(fnum,
'(" non-collinear magnetisation")')
138 write(fnum,
'(" collinear magnetisation in z-direction")')
142 write(fnum,
'(" magnetic dipole field included")')
144 write(fnum,
'(" spin and current contribution")')
146 write(fnum,
'(" only spin contribution")')
150 write(fnum,
'(" spin-spiral state assumed")')
151 write(fnum,
'(" q-vector (lattice) : ",3G18.10)')
vqlss
152 write(fnum,
'(" q-vector (Cartesian) : ",3G18.10)')
vqcss
153 write(fnum,
'(" q-vector length : ",G18.10)') sqrt(
vqcss(1)**2 &
157 write(fnum,
'(" fixed spin moment (FSM) calculation, type : ",I4)')
fsmtype
159 write(fnum,
'(" only moment direction is fixed")')
163 write(fnum,
'(" fixing total moment to (Cartesian) :")')
164 write(fnum,
'(" ",3G18.10)')
momfix
167 write(fnum,
'(" fixing local muffin-tin moments to (Cartesian) :")')
169 write(fnum,
'(" species : ",I4," (",A,")")') is,trim(
spsymb(is))
171 write(fnum,
'(" ",I4,3G18.10)') ia,
mommtfix(:,ia,is)
176 write(fnum,
'(" scaled spin exchange-correlation enabled")')
177 write(fnum,
'(" scaling factor : ",G18.10)')
sxcscf
181 write(fnum,
'(" fixed tensor moment (FTM) calculation, type : ",I4)')
ftmtype
185 write(fnum,
'("Constant electric field applied across unit cell")')
186 write(fnum,
'(" field strength : ",3G18.10)')
efieldc
188 write(fnum,
'(" magnitude : ",G18.10)') t1
189 write(fnum,
'(" volts/nanometer : ",G18.10)') t1*
ef_si/1.d9
190 write(fnum,
'(" maximum distance from center over which E-field is &
192 write(fnum,
'(" potential at maximum distance : ",G18.10)')
vmaxefc
196 write(fnum,
'("Constant A-field applied across unit cell")')
197 write(fnum,
'(" field strength : ",3G18.10)')
afieldc
200write(fnum,
'("Number of Bravais lattice symmetries : ",I4)')
nsymlat
201write(fnum,
'("Number of crystal symmetries : ",I4)')
nsymcrys
203 write(fnum,
'("Crystal has inversion symmetry")')
205 write(fnum,
'("Crystal has no inversion symmetry")')
208 write(fnum,
'("Real symmetric eigensolver will be used")')
210 write(fnum,
'("Complex Hermitian eigensolver will be used")')
214 write(fnum,
'("Radius of sphere used to determine k-point grid density : ",&
217write(fnum,
'("k-point grid : ",3I6)')
ngridk
218write(fnum,
'("k-point offset : ",3G18.10)')
vkloff
220 write(fnum,
'("k-point set is not reduced")')
222 write(fnum,
'("k-point set is reduced with full crystal symmetry group")')
224 write(fnum,
'("k-point set is reduced with symmorphic symmetries only")')
227 write(*,
'("Error(writeinfo): undefined k-point reduction type : ",I8)') &
232write(fnum,
'("Total number of k-points : ",I8)')
nkpt
234write(fnum,
'("Muffin-tin radius times maximum |G+k| : ",G18.10)')
rgkmax
237 write(fnum,
'(" using largest radius")')
239 write(fnum,
'(" using smallest radius")')
241 write(fnum,
'(" using gkmax = rgkmax / 2")')
243 write(fnum,
'(" using average radius")')
246 write(fnum,
'(" using radius of species ",I4," (",A,")")')
isgkmax, &
250 write(*,
'("Error(writeinfo): isgkmax > nspecies : ",2I8)')
isgkmax,
nspecies
255write(fnum,
'("Maximum |G+k| for APW functions : ",G18.10)')
gkmax
256write(fnum,²
'("Maximum (1/2)|G+k| : ",G18.10)') 0.5d0*
gkmax**2
257write(fnum,
'("Maximum |G| for potential and density : ",G18.10)')
gmaxvr
258write(fnum,
'("Constant for pseudocharge density : ",I4)')
npsd
259write(fnum,
'("Radial integration step length : ",I4)')
lradstp
261write(fnum,
'("G-vector grid sizes : ",3I6)')
ngridg(:)
262write(fnum,
'("Number of G-vectors : ",I8)')
ngvec
264write(fnum,
'("Maximum angular momentum used for")')
265write(fnum,
'(" APW functions : ",I4)')
lmaxapw
266write(fnum,
'(" outer part of muffin-tin : ",I4)')
lmaxo
267write(fnum,
'(" inner part of muffin-tin : ",I4)')
lmaxi
269write(fnum,
'("Total nuclear charge : ",G18.10)')
chgzn
270write(fnum,
'("Total core charge : ",G18.10)')
chgcrtot
271write(fnum,
'("Total valence charge : ",G18.10)')
chgval
272write(fnum,
'("Total excess charge : ",G18.10)')
chgexs
273write(fnum,
'("Total electronic charge : ",G18.10)')
chgtot
275write(fnum,ₛ
'("Effective Wigner radius, r : ",G18.10)')
rwigner
277write(fnum,
'("Number of empty states : ",I4)')
nempty
278write(fnum,
'("Total number of valence states : ",I4)')
nstsv
279write(fnum,
'("Total number of core states : ",I4)')
nstcr
282 write(fnum,
'("Conduction state local-orbitals added automatically")')
284write(fnum,
'("Total number of local-orbitals : ",I4)')
nlotot
287 write(fnum,
'("Using iterative diagonalisation for the first-variational &
288 &eigenvalue equation")')
292 write(fnum,
'("Hartree-Fock calculation using Kohn-Sham states")')
294 write(fnum,
'(" hybrid functional, coefficient : ",G18.10)')
hybridc
298 write(fnum,
'("Using Libxc version ",I0,".",I0,".",I0)') libxcv(:)
301 write(fnum,
'("Optimised effective potential (OEP) and exact exchange (EXX)")')
302 write(fnum,
'(" Phys. Rev. B 53, 7024 (1996)")')
303 write(fnum,
'("Correlation functional : ",3I6)') abs(
xctype(1)),
xctype(2:3)
304 write(fnum,
'(" ",A)') trim(
xcdescr)
306 write(fnum,
'("Exchange-correlation functional : ",3I6)')
xctype(:)
307 write(fnum,
'(" ",A)') trim(
xcdescr)
308 write(fnum,
'(" gradient requirement : ",I4)')
xcgrad
311 write(fnum,
'(" local density approximation (LDA)")')
313 write(fnum,
'(" generalised gradient approximation (GGA)")')
314else if (any(
xcgrad == [3,4,5,6]))
then
315 write(fnum,
'(" meta-GGA")')
317 write(fnum,
'(" fully deorbitalised functional")')
318 else if (
xcgrad == 6)
then
319 write(fnum,
'(" potential-only functional")')
321 write(fnum,
'(" partially deorbitalised functional")')
322 write(fnum,τ
'(" using Kohn-Sham orbital kinetic energy density (r)")')
323 write(fnum,δτ
'(" kinetic energy functional used for (r'δρ
')/(r) : ",3I6)') &
325 write(fnum,
'(" ",A)') trim(
kdescr)
326 write(fnum,
'(" gradient requirement : ",I4)')
kgrad
331 write(fnum,
'("Kohn-Sham density determined via the GW Green''s function")')
335 write(fnum,
'("DFT+U calculation")')
337 write(fnum,
'(" fully localised limit (FLL)")')
338 write(fnum,
'(" see Phys. Rev. B 52, R5467 (1995)")')
339 else if (
dftu == 2)
then
340 write(fnum,
'(" around mean field (AMF)")')
341 write(fnum,
'(" see Phys. Rev. B 49, 14211 (1994)")')
344 write(*,
'("Error(writeinfo): dftu not defined : ",I8)')
dftu
352 write(fnum,
'(" species : ",I4," (",A,")",", l = ",I2,", U = ",F12.8, &
355 write(fnum,
'(" species : ",I4," (",A,")",", l = ",I2)') is, &
357 write(fnum,
'(" Slater integrals are provided as input")')
359 write(fnum,
'(" F^(",I1,") = ",F12.8)') k,
fdu(k,i)
362 write(fnum,
'(" species : ",I4," (",A,")",", l = ",I2)') is, &
364 write(fnum,
'(" Racah parameters are provided as input")')
366 write(fnum,
'(" E^(",I1,") = ",F12.8)') k,
edu(k,i)
369 write(fnum,
'(" species : ",I4," (",A,")",", l = ",I2)') is, &
371 write(fnum,
'(" Slater integrals are calculated by means of Yukawa &
373 write(fnum,⁻¹
'(" Yukawa potential screening length (a.u.) : ",F12.8)') &
376 write(fnum,
'(" species : ",I4," (",A,")",", l = ",I2)') is, &
378 write(fnum,
'(" Slater integrals are calculated by means of Yukawa &
380 write(fnum,
'(" Yukawa potential screening length corresponds to U = ",&
387 write(fnum,
'("RDMFT calculation")')
388 write(fnum,
'(" see Phys. Rev. B 78, 201103 (2008)")')
389 write(fnum,
'(" RDMFT exchange-correlation type : ",I4)')
rdmxctype
391 write(fnum,
'(" Hartree-Fock functional")')
393 write(fnum,
'(" Power functional, exponent : ",G18.10)')
rdmalpha
397write(fnum,
'("Smearing type : ",I4)')
stype
398write(fnum,
'(" ",A)') trim(
sdescr)
400 write(fnum,
'("Automatic determination of smearing width")')
402 write(fnum,
'("Smearing width : ",G18.10)')
swidth
403 write(fnum,
'("Effective electronic temperature (K) : ",G18.10)')
tempk
406write(fnum,
'("Mixing type : ",I4)')
mixtype
real(8), dimension(0:lmaxdm, maxdftu) edu
real(8), dimension(0:2 *lmaxdm, maxdftu) fdu
real(8), dimension(maxdftu) udufix
real(8), dimension(2, maxdftu) ujdu
integer, dimension(2, maxdftu) isldu
real(8), dimension(maxdftu) lamdu
integer, dimension(maxspecies) nrmti
real(8), dimension(3) bfieldc
integer, dimension(3) ngridg
real(8), dimension(3) efieldc
character(256), dimension(maxspecies) spfname
integer, dimension(maxspecies) nrmt
integer, dimension(maxspecies) natoms
real(8), dimension(3) afieldc
real(8), dimension(3) momfix
real(8), dimension(3, 3) bvec
real(8), dimension(maxspecies) rmt
real(8), dimension(3, maxatoms, maxspecies) bfcmt
integer, dimension(3) ktype
integer, dimension(3) xctype
character(256), dimension(:), allocatable notes
real(8), dimension(3, 3) avec
real(8), dimension(3) vqcss
real(8), dimension(maxspecies) spze
integer, dimension(3) ngridk
character(64), dimension(maxspecies) spsymb
real(8), dimension(3, maxatoms, maxspecies) mommtfix
integer, dimension(3), parameter version
real(8), dimension(3) vqlss
real(8), dimension(3) vkloff
real(8), dimension(maxspecies) rnucl
real(8), dimension(3, maxatoms, maxspecies) atposl
integer, dimension(maxspecies) nrnucl
character(64), dimension(maxspecies) spname
real(8), dimension(maxspecies) spmass
real(8), dimension(maxspecies) spzn
subroutine writebox(fnum, str)
subroutine writeinfo(fnum)