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 : ",I0)')
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 : ",I0," (",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,
'(" ",I0," : ",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 : ",I0," (",A,")")') is,trim(
spsymb(is))
171 write(fnum,
'(" ",I0,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 : ",I0)') &
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 ",I0," (",A,")")')
isgkmax, &
250 write(fnum,
'("Maximum |G+k| for APW functions : ",G18.10)')
gkmax 251 write(fnum,
'("Maximum (1/2)|G+k|² : ",G18.10)') 0.5d0*
gkmax**2
252 write(fnum,
'("Maximum |G| for potential and density : ",G18.10)')
gmaxvr 253 write(fnum,
'("Constant for pseudocharge density : ",I4)')
npsd 254 write(fnum,
'("Radial integration step length : ",I4)')
lradstp 256 write(fnum,
'("G-vector grid sizes : ",3I6)')
ngridg(:)
257 write(fnum,
'("Number of G-vectors : ",I8)')
ngvec 259 write(fnum,
'("Maximum angular momentum used for")')
260 write(fnum,
'(" APW functions : ",I4)')
lmaxapw 261 write(fnum,
'(" outer part of muffin-tin : ",I4)')
lmaxo 262 write(fnum,
'(" inner part of muffin-tin : ",I4)')
lmaxi 264 write(fnum,
'("Total nuclear charge : ",G18.10)')
chgzn 265 write(fnum,
'("Total core charge : ",G18.10)')
chgcrtot 266 write(fnum,
'("Total valence charge : ",G18.10)')
chgval 267 write(fnum,
'("Total excess charge : ",G18.10)')
chgexs 268 write(fnum,
'("Total electronic charge : ",G18.10)')
chgtot 270 write(fnum,
'("Effective Wigner radius, rₛ : ",G18.10)')
rwigner 272 write(fnum,
'("Number of empty states : ",I6)')
nempty 273 write(fnum,
'("Total number of valence states : ",I6)')
nstsv 274 write(fnum,
'("Total number of core states : ",I6)')
nstcr 277 write(fnum,
'("Conduction state local-orbitals added automatically")')
279 write(fnum,
'("Total number of local-orbitals : ",I6)')
nlotot 282 write(fnum,
'("First-variational eigenvalue equation solved in subspace")')
283 write(fnum,
'(" subspace size parameter, mefvs : ",I6)')
mefvs 287 write(fnum,
'("Hartree-Fock calculation using Kohn-Sham states")')
289 write(fnum,
'(" hybrid functional, coefficient : ",G18.10)')
hybridc 292 if (
xctype(1) == 100)
then 293 write(fnum,
'("Using Libxc version ",I0,".",I0,".",I0)') libxcv(:)
296 write(fnum,
'("Optimised effective potential (OEP) and exact exchange (EXX)")')
297 write(fnum,
'(" Phys. Rev. B 53, 7024 (1996)")')
298 write(fnum,
'("Correlation functional : ",3I6)') abs(
xctype(1)),
xctype(2:3)
299 write(fnum,
'(" ",A)') trim(
xcdescr)
301 write(fnum,
'("Exchange-correlation functional : ",3I6)')
xctype(:)
302 write(fnum,
'(" ",A)') trim(
xcdescr)
303 write(fnum,
'(" gradient requirement : ",I4)')
xcgrad 306 write(fnum,
'(" local density approximation (LDA)")')
308 write(fnum,
'(" generalised gradient approximation (GGA)")')
309 else if (any(
xcgrad == [3,4,5,6]))
then 310 write(fnum,
'(" meta-GGA")')
312 write(fnum,
'(" fully deorbitalised functional")')
313 else if (
xcgrad == 6)
then 314 write(fnum,
'(" potential-only functional")')
316 write(fnum,
'(" partially deorbitalised functional")')
317 write(fnum,
'(" using Kohn-Sham orbital kinetic energy density τ(r)")')
318 write(fnum,
'(" kinetic energy functional used for δτ(r'')/δρ(r) : ",3I6)') &
320 write(fnum,
'(" ",A)') trim(
kdescr)
321 write(fnum,
'(" gradient requirement : ",I4)')
kgrad 326 write(fnum,
'("Kohn-Sham density determined via the GW Green''s function")')
330 write(fnum,
'("DFT+U calculation")')
332 write(fnum,
'(" fully localised limit (FLL)")')
333 write(fnum,
'(" see Phys. Rev. B 52, R5467 (1995)")')
334 else if (
dftu == 2)
then 335 write(fnum,
'(" around mean field (AMF)")')
336 write(fnum,
'(" see Phys. Rev. B 49, 14211 (1994)")')
339 write(*,
'("Error(writeinfo): dftu not defined : ",I0)')
dftu 347 write(fnum,
'(" species : ",I0," (",A,")",", l = ",I0,", U = ",F12.8, & 350 write(fnum,
'(" species : ",I0," (",A,")",", l = ",I0)') is, &
352 write(fnum,
'(" Slater integrals are provided as input")')
354 write(fnum,
'(" F^(",I1,") = ",F12.8)') k,
fdu(k,i)
357 write(fnum,
'(" species : ",I0," (",A,")",", l = ",I0)') is, &
359 write(fnum,
'(" Racah parameters are provided as input")')
361 write(fnum,
'(" E^(",I1,") = ",F12.8)') k,
edu(k,i)
364 write(fnum,
'(" species : ",I0," (",A,")",", l = ",I0)') is, &
366 write(fnum,
'(" Slater integrals are calculated by means of Yukawa & 368 write(fnum,
'(" Yukawa potential screening length (a.u.⁻¹) : ",F12.8)') &
371 write(fnum,
'(" species : ",I0," (",A,")",", l = ",I0)') is, &
373 write(fnum,
'(" Slater integrals are calculated by means of Yukawa & 375 write(fnum,
'(" Yukawa potential screening length corresponds to U = ",& 380 if (
task == 300)
then 382 write(fnum,
'("RDMFT calculation")')
383 write(fnum,
'(" see Phys. Rev. B 78, 201103 (2008)")')
384 write(fnum,
'(" RDMFT exchange-correlation type : ",I4)')
rdmxctype 386 write(fnum,
'(" Hartree-Fock functional")')
388 write(fnum,
'(" Power functional, exponent : ",G18.10)')
rdmalpha 392 write(fnum,
'("Smearing type : ",I4)')
stype 393 write(fnum,
'(" ",A)') trim(
sdescr)
395 write(fnum,
'("Automatic determination of smearing width")')
397 write(fnum,
'("Smearing width : ",G18.10)')
swidth 398 write(fnum,
'("Effective electronic temperature (K) : ",G18.10)')
tempk 401 write(fnum,
'("Mixing type : ",I4)')
mixtype 402 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