Routine to read the information from the input file
Note
VP: there should be some crosscheck of competing options e.g., XCPL
and
CONDUCT
cannot be done simultaneously neither SOC1
and SOC2
manipulation etc.
R o u t i n e
t o
r e a d
t h e
i n f o r m a t i o n
f r o m
t h e
i n p u t
f i l e
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | kte |
Calculation of the total energy On/Off (1/0) |
||
integer, | intent(inout) | :: | igf |
Do not print or print (0/1) the |
||
integer, | intent(inout) | :: | kxc |
Type of xc-potential 0=vBH 1=MJW 2=VWN 3=PW91 |
||
integer, | intent(inout) | :: | lly |
LLY <> 0 : apply Lloyds formula |
||
integer, | intent(inout) | :: | icc |
Enables the calculation of off-diagonal elements of the GF.(0=SCF/DOS; 1=cluster; -1=custom) |
||
integer, | intent(inout) | :: | ins |
0 (MT), 1(ASA), 2(Full Potential) |
||
integer, | intent(inout) | :: | kws |
0 (MT), 1(ASA) |
||
integer, | intent(inout) | :: | ipe |
Not real used, IPFE should be 0 |
||
integer, | intent(inout) | :: | ipf |
Not real used, IPFE should be 0 |
||
integer, | intent(inout) | :: | ipfe |
Not real used, IPFE should be 0 |
||
integer, | intent(inout) | :: | icst |
Number of Born approximation |
||
integer, | intent(inout) | :: | imix |
Type of mixing scheme used (0=straight, 4=Broyden 2nd, 5=Anderson) |
||
integer, | intent(inout) | :: | lpot |
Maximum l component in potential expansion |
||
integer, | intent(inout) | :: | naez |
Number of atoms in unit cell |
||
integer, | intent(inout) | :: | nemb |
Number of 'embedding' positions |
||
integer, | intent(inout) | :: | nref |
Number of diff. ref. potentials |
||
integer, | intent(inout) | :: | ncls |
Number of reference clusters |
||
integer, | intent(inout) | :: | npol |
Number of Matsubara Pols (EMESHT) |
||
integer, | intent(inout) | :: | lmax |
Maximum l component in wave function expansion |
||
integer, | intent(inout) | :: | kcor | |||
integer, | intent(inout) | :: | kefg | |||
integer, | intent(inout) | :: | khyp | |||
integer, | intent(inout) | :: | kpre | |||
integer, | intent(inout) | :: | kvmad | |||
integer, | intent(inout) | :: | lmmax0d |
(lmax+1)**2 without spin doubling |
||
integer, | intent(inout) | :: | lmpot | |||
integer, | intent(inout) | :: | ncheb |
Number of Chebychev pannels for the new solver |
||
integer, | intent(inout) | :: | nleft |
Number of repeated basis for left host to get converged electrostatic potentials |
||
integer, | intent(inout) | :: | ifile |
Unit specifier for potential card |
||
integer, | intent(inout) | :: | kvrel |
0,1 : non / scalar relat. calculation |
||
integer, | intent(inout) | :: | nspin |
Counter for spin directions |
||
integer, | intent(inout) | :: | natyp |
Number of kinds of atoms in unit cell |
||
integer, | intent(inout) | :: | nineq |
Number of ineq. positions in unit cell |
||
integer, | intent(inout) | :: | npnt1 |
number of E points (EMESHT) for the contour integration |
||
integer, | intent(inout) | :: | npnt2 |
number of E points (EMESHT) for the contour integration |
||
integer, | intent(inout) | :: | npnt3 |
number of E points (EMESHT) for the contour integration |
||
integer, | intent(inout) | :: | kfrozn | |||
integer, | intent(inout) | :: | ishift |
Parameter controling the potential shift after mixing |
||
integer, | intent(inout) | :: | n1semi |
Number of energy points for the semicore contour |
||
integer, | intent(inout) | :: | n2semi |
Number of energy points for the semicore contour |
||
integer, | intent(inout) | :: | n3semi |
Number of energy points for the semicore contour |
||
integer, | intent(inout) | :: | nsteps |
number of iterations |
||
integer, | intent(inout) | :: | insref |
INS for reference pot. (usual 0) |
||
integer, | intent(inout) | :: | kshape |
Exact treatment of WS cell |
||
integer, | intent(inout) | :: | itdbry |
Number of SCF steps to remember for the Broyden mixing |
||
integer, | intent(inout) | :: | nright |
Number of repeated basis for right host to get converged electrostatic potentials |
||
integer, | intent(inout) | :: | kforce |
Calculation of the forces |
||
integer, | intent(inout) | :: | ivshift |
for selected potential shift: atom index of potentials to be shifted by VCONST |
||
integer, | intent(inout) | :: | khfield |
0,1: no / yes external magnetic field |
||
integer, | intent(inout) | :: | nlbasis |
Number of basis layers of left host (repeated units) |
||
integer, | intent(inout) | :: | nrbasis |
Number of basis layers of right host (repeated units) |
||
integer, | intent(inout) | :: | intervx |
Number of intervals in x-direction for k-net in IB of the BZ |
||
integer, | intent(inout) | :: | intervy |
Number of intervals in y-direction for k-net in IB of the BZ |
||
integer, | intent(inout) | :: | intervz |
Number of intervals in z-direction for k-net in IB of the BZ |
||
integer, | intent(inout) | :: | npan_eq |
Number of intervals from [R_LOG] to muffin-tin radius Used in conjunction with runopt NEWSOSOL |
||
integer, | intent(inout) | :: | npan_log |
Number of intervals from nucleus to [R_LOG] Used in conjunction with runopt NEWSOSOL |
||
integer, | intent(inout) | :: | npolsemi |
Number of poles for the semicore contour |
||
real(kind=dp), | intent(inout) | :: | tk |
Temperature |
||
real(kind=dp), | intent(inout) | :: | fcm |
Factor for increased linear mixing of magnetic part of potential compared to non-magnetic part. |
||
real(kind=dp), | intent(inout) | :: | emin |
Lower value (in Ryd) for the energy contour |
||
real(kind=dp), | intent(inout) | :: | emax |
Maximum value (in Ryd) for the DOS calculation Controls also [NPT2] in some cases |
||
real(kind=dp), | intent(inout) | :: | rmax |
Ewald summation cutoff parameter for real space summation |
||
real(kind=dp), | intent(inout) | :: | gmax |
Ewald summation cutoff parameter for reciprocal space summation |
||
real(kind=dp), | intent(inout) | :: | alat |
Lattice constant (in a.u.) |
||
real(kind=dp), | intent(inout) | :: | r_log |
Radius up to which log-rule is used for interval width. Used in conjunction with runopt NEWSOSOL |
||
real(kind=dp), | intent(inout) | :: | rcutz |
Parameter for the screening cluster along the z-direction |
||
real(kind=dp), | intent(inout) | :: | rcutxy |
Parameter for the screening cluster along the x-y plane |
||
real(kind=dp), | intent(inout) | :: | eshift | |||
real(kind=dp), | intent(inout) | :: | qbound |
Convergence parameter for the potential |
||
real(kind=dp), | intent(inout) | :: | hfield |
External magnetic field, for initial potential shift in spin polarised case |
||
real(kind=dp), | intent(inout) | :: | mixing |
Magnitude of the mixing parameter |
||
real(kind=dp), | intent(inout) | :: | abasis |
Scaling factors for rbasis |
||
real(kind=dp), | intent(inout) | :: | bbasis |
Scaling factors for rbasis |
||
real(kind=dp), | intent(inout) | :: | cbasis |
Scaling factors for rbasis |
||
real(kind=dp), | intent(inout) | :: | vconst |
Potential shift in the first iteration |
||
real(kind=dp), | intent(inout) | :: | tksemi |
Temperature for semi-core contour |
||
real(kind=dp), | intent(inout) | :: | tolrdif |
For distance between scattering-centers smaller than [ |
||
real(kind=dp), | intent(inout) | :: | emusemi |
Top of semicore contour in Ryd. |
||
real(kind=dp), | intent(inout) | :: | ebotsemi |
Bottom of semicore contour in Ryd |
||
real(kind=dp), | intent(inout) | :: | fsemicore |
Initial normalization factor for semicore states (approx. 1.) |
||
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | lambda_xc |
Scale magnetic moment (0 < Lambda_XC < 1, 0=zero moment, 1= full moment) |
|
complex(kind=dp), | intent(inout) | :: | deltae |
LLY Energy difference for numerical derivative |
||
logical, | intent(inout) | :: | lrhosym | |||
logical, | intent(inout) | :: | linipol |
True: Initial spin polarization; false: no initial spin polarization |
||
logical, | intent(inout) | :: | lcartesian | |||
integer, | intent(out), | dimension (:), allocatable | :: | imt |
R point at MT radius |
|
integer, | intent(out), | dimension (:), allocatable | :: | cls |
Cluster around atomic sites |
|
integer, | intent(out), | dimension (:), allocatable | :: | lmxc | ||
integer, | intent(out), | dimension (:), allocatable | :: | irns |
Position of atoms in the unit cell in units of bravais vectors |
|
integer, | intent(out), | dimension (:), allocatable | :: | irws |
R point at WS radius |
|
integer, | intent(out), | dimension (:), allocatable | :: | ntcell |
Index for WS cell |
|
integer, | intent(out), | dimension (:), allocatable | :: | refpot |
Ref. pot. card at position |
|
integer, | intent(out), | dimension (:), allocatable | :: | inipol |
Initial spin polarisation |
|
integer, | intent(out), | dimension (:), allocatable | :: | ixipol |
Constraint of spin pol. |
|
integer, | intent(out), | dimension (:), allocatable | :: | hostimp | ||
integer, | intent(out), | dimension (:, :), allocatable | :: | kfg | ||
real(kind=dp), | intent(inout), | dimension (2) | :: | vbc |
Potential constants |
|
real(kind=dp), | intent(inout), | dimension (3) | :: | zperleft |
Vector to define how to repeat the basis of the left host |
|
real(kind=dp), | intent(inout), | dimension (3) | :: | zperight |
Vector to define how to repeat the basis of the right host |
|
real(kind=dp), | intent(inout), | dimension (3, 3) | :: | bravais |
Bravais lattice vectors |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | rmt |
Muffin-tin radius of true system |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | zat |
Nuclear charge |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | rws |
Wigner Seitz radius |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | mtfac |
Scaling factor for radius MT |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | rmtref |
Muffin-tin radius of reference system |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | rmtnew |
Adapted muffin-tin radius |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | rmtrefat | ||
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | fpradius |
R point at which full-potential treatment starts |
|
real(kind=dp), | intent(out), | dimension (:, :), allocatable | :: | tleft |
Vectors of the basis for the left host |
|
real(kind=dp), | intent(out), | dimension (:, :), allocatable | :: | tright |
vectors of the basis for the right host |
|
real(kind=dp), | intent(out), | dimension (:, :), allocatable | :: | rbasis |
Position of atoms in the unit cell in units of bravais vectors |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | socscale |
Spin-orbit scaling |
|
real(kind=dp), | intent(out), | dimension (:, :), allocatable | :: | cscl |
Speed of light scaling |
|
real(kind=dp), | intent(out), | dimension (:, :), allocatable | :: | socscl | ||
character(len=10), | intent(inout) | :: | solver |
Type of solver |
||
character(len=40), | intent(inout) | :: | i12 |
File identifiers |
||
character(len=40), | intent(inout) | :: | i13 |
Potential file name |
||
character(len=40), | intent(inout) | :: | i19 |
Shape function file name |
||
character(len=40), | intent(inout) | :: | i25 |
Scoef file name |
||
character(len=40), | intent(inout) | :: | i40 |
File identifiers |
||
character(len=124), | intent(inout), | dimension (6) | :: | txc | ||
complex(kind=dp), | intent(out), | dimension (:, :, :), allocatable | :: | drotq |
Rotation matrices to change between LOCAL/GLOBAL frame of reference for magnetisation <> Oz or noncollinearity |
|
integer, | intent(inout) | :: | ncpa |
ncpa = 0/1 CPA flag |
||
integer, | intent(inout) | :: | itcpamax |
max. number of CPA iterations |
||
real(kind=dp), | intent(inout) | :: | cpatol |
convergency tolerance for CPA-cycle |
||
integer, | intent(out), | dimension (:), allocatable | :: | noq |
number of diff. atom types located |
|
integer, | intent(out), | dimension (:), allocatable | :: | iqat |
the site on which an atom is located on a given site |
|
integer, | intent(out), | dimension (:), allocatable | :: | icpa |
icpa = 0/1 site-dependent CPA flag |
|
integer, | intent(out), | dimension (:, :), allocatable | :: | kaoez |
atom types located at a given site |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | conc |
concentration of a given atom |
|
integer, | intent(inout) | :: | kmrot |
0: no rotation of the magnetisation; 1: individual rotation of the magnetisation for every site |
||
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | qmtet |
angle of the magnetization with respect to the z-axis |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | qmphi |
angle of the magnetization with respect to the z-axis |
|
integer, | intent(inout) | :: | kreadldau |
LDA+U arrays available |
||
integer, | intent(inout), | dimension (:), allocatable | :: | lopt |
angular momentum QNUM for the atoms on which LDA+U should be applied (-1 to switch it OFF) |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | ueff |
input U parameter for each atom |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | jeff |
input J parameter for each atom |
|
real(kind=dp), | intent(out), | dimension (:), allocatable | :: | erefldau |
the energies of the projector's wave functions (REAL) LDA+U |
|
integer, | intent(inout) | :: | invmod |
inversion mode, 0=full inversion, 1= banded matrix, 2= supercell, 3=godfrin |
||
integer, | intent(inout) | :: | verbosity |
verbosity level for timings and output: 0=old default, 1,2,3 = timing and ouput verbosity level the same (low,medium,high) |
||
integer, | intent(inout) | :: | MPI_scheme |
scheme for MPI parallelization: 0 = automatic (default), 1 = atoms, 2 = energies, 3 = select best of (1,2) |
||
integer, | intent(inout) | :: | special_straight_mixing |
id to specify modified straight mixing scheme: 0=normal, 1=alternating mixing factor (i.e. reduced mixing factor in every odd iteration), 2=charge-neurality based mixing factor (former: 'alt mix' and 'spec mix') |
||
logical, | intent(out) | :: | lbfield | |||
logical, | intent(out) | :: | lbfield_constr | |||
logical, | intent(out) | :: | lbfield_all | |||
logical, | intent(out) | :: | lbfield_trans | |||
logical, | intent(out) | :: | lbfield_mt | |||
logical, | intent(out) | :: | ltorque | |||
integer, | intent(out) | :: | ibfield | |||
integer, | intent(out) | :: | ibfield_constr | |||
integer, | intent(out) | :: | ibfield_itscf0 | |||
integer, | intent(out) | :: | ibfield_itscf1 |
R e a d
t h e
o l d - s t y l e
o f
r u n -
a n d
t e s t o p t i o n s
f r o m
t h e
i n p u t c a r d
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | invmod | |||
integer, | intent(inout) | :: | verbosity | |||
integer, | intent(inout) | :: | MPI_scheme | |||
logical, | intent(out) | :: | oldstyle |