Each program is started with (at least) one command line argument, e.g.
programX programX.defin which the arguments specifies a filename, in which FORTRAN I/O units are connected to unix filenames. (See examples at specific programs). These ``def``-files are generated automatically when the standard WIEN97 scripts x, init_lapw or run_lapw are used, but may be tailored by hand for special applications. Using the option
x program -da def-file can be created without running the program. In addition each program reads/writes the following files:
The programs of the SCF cycle (see figure 4.1) write the following files:
The following tables describe input and output files for the initialization programs nn, kgen, symmetry,dstart,lstart (table 4.1), the utility programs tetra, spaghetti, lapw3, lapw5, xspec, optic, joint, kram, optimize and mini (table 4.2) as well as for a SCF cycle of a non-spin-polarized case (table 4.2). Optional input and output files are used only if present in the respective case subdirectory or requested/generated by an input switch. The connection between FORTRAN units and filenames are defined in the respective programX.def files. The data flow is illustrated in Fig. 4.1.
Input and output files of utility programs
program | needs | generates | ||
necessary | optional | necessary | optional | |
SPAGHETTI | spaghetti.def | case.qtl | case.sphaghetti_ps | case.spaghetti_ene |
case.insp | case.outputsp | |||
case.struct | ||||
case.output1 | ||||
TETRA | tetra.def | case.outputt | ||
case.int | case.dos1(2,3) | |||
case.qtl | case.dos1ev(1,2,3) | |||
case.kgen | ||||
LAPW3 | lapw3.def | case.output3 | ||
case.struct | case.rho | |||
case.in2 | ||||
case.clmsum | case.clmsum | |||
LAPW5 | lapw5.def | case.sigma | case.output5 | case.rho.oned |
case.struct | case.rho | |||
case.in5 | ||||
case.clmval | ||||
XSPEC | xspec.def | case.outputx | case.coredens | |
case.inc | case.dos1ev | |||
case.int | case.xspec | |||
case.vsp | case.txspec | |||
case.struct | case.m1 | |||
case.qtl | case.m2 | |||
OPTIC | optic.def | case.outputop | ||
case.struct | case.outmat | |||
case.inop | ||||
case.vsp | ||||
case.vector | ||||
JOINT | joint.def | case.outputjoint | case.sigma_intra | |
case.injoint | case.joint | case.intra | ||
case.struct | ||||
case.kgen | ||||
case.weight | ||||
case.outmat | ||||
KRAM | kram.def | case.epsilon | ||
case.inkram | case.sigmak | |||
case.joint | ||||
OPTIMIZE | case.struct | case_initial.struct | optimize.job | case_vol_xxxxx.struct |
case_c/a_xxxxx.struct | ||||
MINI | mini.def | case.scf_mini | case.outputM | case.clmsum_inter |
case.inM | case.tmpM | case.tmpM1 | ||
case.finM | case.clmsum | |||
case.scf | case.clmhist | case.scf_mini1 | ||
case.struct | case.struct1 |
program | needs | generates | ||
necessary | optional | necessary | optional | |
LAPW0 | lapw0.def | case.clmup/dn | case.output0 | case.r2v |
case.struct | case.scf0 | case.vcoul | ||
case.in0 | case.vsp(up/dn) | |||
case.clmsum | case.vns(up/dn) | |||
lapw0.error | ||||
LAPW1 | lapw1.def | case.vns | case.output1(s) | case.nsh(s) |
case.struct | case.klist | case.scf1(s) | ||
case.in1 | case.vector(s) | |||
case.vsp | lapw1.error | |||
LAPWSO | lapwso.def | |||
case.struct | case.outputso | case.vectorso | ||
case.inso | case.scfso | case.vectordum | ||
case.vector | case.norm | |||
case.vsp | ||||
LAPW2 | lapw2.def | case.kgen | case.output2(s) | case.qtl(s) |
case.struct | case.nsh(s) | case.scf2(s) | case.weight | |
case.in2(s) | case.weight | case.clm[val|sc] | case.weigh | |
case.vector(s) | case.weigh | case.help3* | ||
case.vsp | lapw2.error | |||
SUMPARA | case.struct | case.scf2p | case.outputsum | |
case.clmval | case.clmval | |||
case.scf2 | ||||
LCORE | lcore.def | case.vns | case.outputc | case.corewf |
case.struct | case.scfc | |||
case.inc | case.clmcor | |||
case.vsp | lcore.error | |||
After LCORE the case.scfX files are appended to case.scf and the | ||||
case.clmsum file is renamed to case.clmsum_old (see run_lapw) | ||||
MIXER | mixer.def | case.clmsum_old | case.outputm | case.broyd1 |
case.struct | case.clmsc | case.scfm | case.broyd2 | |
case.inm | case.clmcor | case.clmsum | ||
case.clmval | case.scf | mixer.error | ||
case.broyd1 | ||||
case.broyd2 | ||||
After MIXER the file case.scfm is renamed to case.scf, so that after an iteration is | ||||
completed, the two essential files are case.clmsum and case.scf. |
begin:files