36 write(str,
'("Elk code version ",I0,".",I0,".",I0)')
version 38 call date_and_time(date=dat,time=tim)
40 write(fnum,
'("Date (YYYY-MM-DD) : ",A4,"-",A2,"-",A2)') dat(1:4),dat(5:6), &
42 write(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))
56 write(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")
76 write(fnum,
'("Lattice vectors :")')
81 write(fnum,
'("Reciprocal lattice vectors :")')
86 write(fnum,
'("Unit cell volume : ",G18.10)')
omega 87 write(fnum,
'("Brillouin zone volume : ",G18.10)')
omegabz 89 write(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), &
116 write(fnum,
'("Total number of atoms per unit cell : ",I4)')
natmtot 117 write(fnum,
'("Total muffin-tin volume : ",G18.10)')
omegamt 118 write(fnum,
'(" ratio of muffin-tin to unit cell volume : ",G18.10)') &
121 write(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 200 write(fnum,
'("Number of Bravais lattice symmetries : ",I4)')
nsymlat 201 write(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 : ",& 217 write(fnum,
'("k-point grid : ",3I6)')
ngridk 218 write(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)') &
232 write(fnum,
'("Total number of k-points : ",I8)')
nkpt 234 write(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 255 write(fnum,
'("Maximum |G+k| for APW functions : ",G18.10)')
gkmax 256 write(fnum,
'("Maximum (1/2)|G+k|² : ",G18.10)') 0.5d0*
gkmax**2
257 write(fnum,
'("Maximum |G| for potential and density : ",G18.10)')
gmaxvr 258 write(fnum,
'("Constant for pseudocharge density : ",I4)')
npsd 259 write(fnum,
'("Radial integration step length : ",I4)')
lradstp 261 write(fnum,
'("G-vector grid sizes : ",3I6)')
ngridg(:)
262 write(fnum,
'("Number of G-vectors : ",I8)')
ngvec 264 write(fnum,
'("Maximum angular momentum used for")')
265 write(fnum,
'(" APW functions : ",I4)')
lmaxapw 266 write(fnum,
'(" outer part of muffin-tin : ",I4)')
lmaxo 267 write(fnum,
'(" inner part of muffin-tin : ",I4)')
lmaxi 269 write(fnum,
'("Total nuclear charge : ",G18.10)')
chgzn 270 write(fnum,
'("Total core charge : ",G18.10)')
chgcrtot 271 write(fnum,
'("Total valence charge : ",G18.10)')
chgval 272 write(fnum,
'("Total excess charge : ",G18.10)')
chgexs 273 write(fnum,
'("Total electronic charge : ",G18.10)')
chgtot 275 write(fnum,
'("Effective Wigner radius, rₛ : ",G18.10)')
rwigner 277 write(fnum,
'("Number of empty states : ",I4)')
nempty 278 write(fnum,
'("Total number of valence states : ",I4)')
nstsv 279 write(fnum,
'("Total number of core states : ",I4)')
nstcr 282 write(fnum,
'("Conduction state local-orbitals added automatically")')
284 write(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 297 if (
xctype(1) == 100)
then 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)")')
314 else 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 = ",& 385 if (
task == 300)
then 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 397 write(fnum,
'("Smearing type : ",I4)')
stype 398 write(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 406 write(fnum,
'("Mixing type : ",I4)')
mixtype 407 write(fnum,
'(" ",A)') trim(
mixdescr)
real(8), dimension(maxspecies) rnucl
integer, dimension(3) ktype
integer, dimension(3) ngridg
integer, dimension(3) xctype
real(8), dimension(0:2 *lmaxdm, maxdftu) fdu
subroutine writeinfo(fnum)
character(256), dimension(maxspecies) spfname
real(8), dimension(3) vkloff
real(8), dimension(3) vqlss
real(8), dimension(3) momfix
integer, dimension(2, maxdftu) isldu
real(8), dimension(3, maxatoms, maxspecies) atposl
real(8), dimension(maxdftu) lamdu
real(8), dimension(0:lmaxdm, maxdftu) edu
real(8), dimension(3, 3) avec
real(8), dimension(maxspecies) spmass
integer, dimension(3) ngridk
real(8), dimension(3) afieldc
real(8), dimension(3, maxatoms, maxspecies) mommtfix
real(8), dimension(maxspecies) rmt
real(8), dimension(3, 3) bvec
real(8), dimension(maxspecies) spze
real(8), dimension(3, maxatoms, maxspecies) bfcmt
real(8), dimension(3) vqcss
integer, dimension(maxspecies) natoms
real(8), dimension(maxdftu) udufix
character(64), dimension(maxspecies) spname
integer, dimension(maxspecies) nrnucl
subroutine writebox(fnum, str)
integer, dimension(3), parameter version
real(8), dimension(maxspecies) spzn
real(8), dimension(2, maxdftu) ujdu
character(256), dimension(:), allocatable notes
integer, dimension(maxspecies) nrmti
real(8), dimension(3) efieldc
character(64), dimension(maxspecies) spsymb
real(8), dimension(3) bfieldc
integer, dimension(maxspecies) nrmt