and many others ... Wrapper module for the reading and setup of the JM-KKR program, it also calculates the electrostatic potential.
Todo
JC: NATOMIMP
and NATOMIMPD
seem to be the same variable, however, right
now find no way to eliminate one of them.
Todo
JC: There seem to be several repeated variables doing the same, e.g. INS
,
KNOSPH
, KWS
and KSHAPE
, all seem to dictate whether one has ASA or FP.
Maybe it would be good to consolidate and eliminate any unnecessary variables.
Todo
JC: Several variables such as IRMD
and IRNSD
are actually determined in
the startb1()
subroutine, maybe change the allocations such that they are done
there instead
Summary: Wrapper module for the reading and setup of the JM-KKR program
Author: Deprecated: False ! This needs to be set to True for deprecated subroutines
Todo
Note
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | kte | = | 1 |
Calculation of the total energy On/Off (1/0) |
|
integer, | public | :: | kws | = | 1 |
0 (MT), 1(ASA) |
|
integer, | public | :: | kxc | = | 2 |
Type of xc-potential 0=MJW 1=vBH 2=VWN 3=PW91 4=PBE 5=PBEsol |
|
integer, | public | :: | igf | = | 0 |
Do not print or print (0/1) the KKRFLEX_* files |
|
integer, | public | :: | icc | = | 0 |
Enables the calculation of off-diagonal elements of the GF.(0=SCF/DOS; 1=cluster; -1=custom) |
|
integer, | public | :: | ins | = | 2 |
0 (MT), 1(ASA), 2(Full Potential) |
|
integer, | public | :: | irm |
Maximum number of radial points |
|||
integer, | public | :: | ipe | = | 0 |
Not real used, IPFE should be 0 |
|
integer, | public | :: | ipf | = | 0 |
Not real used, IPFE should be 0 |
|
integer, | public | :: | ipfe | = | 0 |
Not real used, IPFE should be 0 |
|
integer, | public | :: | kcor | = | 0 | ||
integer, | public | :: | kefg | = | 0 | ||
integer, | public | :: | khyp | = | 0 | ||
integer, | public | :: | kpre | = | 0 | ||
integer, | public | :: | nprinc | = | 1 |
number of principal layers used for slab-inversion |
|
integer, | public | :: | nsra | = | 1 |
scalar-relativistic (nsra==2) or non-relativistic (nsra==1) |
|
integer, | public | :: | lpot | = | 2 |
Maximum l component in potential expansion |
|
integer, | public | :: | imix | = | 0 |
Type of mixing scheme used (0=straight, 4=Broyden 2nd, 5=Anderson) |
|
integer, | public | :: | iend | = | 1 |
Number of nonzero gaunt coefficients |
|
integer, | public | :: | icst | = | 2 |
Number of Born approximation |
|
integer, | public | :: | naez | = | 1 |
Number of atoms in unit cell |
|
integer, | public | :: | nemb | = | 1 |
Number of 'embedding' positions |
|
integer, | public | :: | lmax | = | 2 |
Maximum l component in wave function expansion |
|
integer, | public | :: | ncls | = | 1 |
Number of reference clusters |
|
integer, | public | :: | nref | = | 1 |
Number of diff. ref. potentials |
|
integer, | public | :: | npol | = | 7 |
Number of Matsubara Poles (EMESHT) |
|
integer, | public | :: | npnt1 | = | 3 |
number of E points (EMESHT) for the contour integration going up |
|
integer, | public | :: | npnt2 | = | 10 |
number of E points (EMESHT) for the contour integration goind parallel to the real axis |
|
integer, | public | :: | npnt3 | = | 4 |
number of E points (EMESHT) for the contour integration going down |
|
integer, | public | :: | lmmax0d | = | 16 |
(LMAX+1)^2 wihtout spin doubling |
|
integer, | public | :: | nvirt | = | 0 | ||
integer, | public | :: | lmpot | = | 16 |
(LPOT+1)**2 |
|
integer, | public | :: | kvmad | = | 0 | ||
integer, | public | :: | itscf | = | 0 |
counter scf iterations |
|
integer, | public | :: | ncheb | = | 10 |
Number of Chebychev pannels for the new solver |
|
integer, | public | :: | nineq | = | 1 |
Number of ineq. positions in unit cell |
|
integer, | public | :: | natyp | = | 1 |
Number of kinds of atoms in unit cell |
|
integer, | public | :: | ifile | = | 13 |
Unit specifier for potential card |
|
integer, | public | :: | kvrel | = | 1 |
0,1,2 : non / scalar relat. / full Dirac calculation |
|
integer, | public | :: | nspin | = | 2 |
Counter for spin directions |
|
integer, | public | :: | nleft | = | 1 |
Number of repeated basis for left host to get converged electrostatic potentials |
|
integer, | public | :: | nright | = | 1 |
Number of repeated basis for right host to get converged electrostatic potentials |
|
integer, | public | :: | invmod | = | -1 |
inversion mode, 0=full inversion, 1= banded matrix, 2= supercell, 3=godfrin; default signals that inversion mode was not set yet |
|
integer, | public | :: | khfeld | = | 0 |
0,1: no / yes external magnetic field |
|
integer, | public | :: | itdbry | = | 10 |
Number of SCF steps to remember for the Broyden mixing |
|
integer, | public | :: | insref | = | 0 |
INS for reference pot. (usual 0) |
|
integer, | public | :: | kshape | = | 2 |
Exact treatment of WS cell |
|
integer, | public | :: | ielast | = | 0 |
number of energy points in complex energy contour |
|
integer, | public | :: | ishift | = | 0 |
Parameter controling the potential shift after mixing |
|
integer, | public | :: | kfrozn | = | 0 | ||
integer, | public | :: | nsymat | = | 0 | ||
integer, | public | :: | nqcalc | = | 0 | ||
integer, | public | :: | kforce | = | 0 |
Calculation of the forces |
|
integer, | public | :: | n1semi | = | 0 |
Number of energy points for the semicore contour |
|
integer, | public | :: | n2semi | = | 0 |
Number of energy points for the semicore contour |
|
integer, | public | :: | n3semi | = | 0 |
Number of energy points for the semicore contour |
|
integer, | public | :: | nlayer | = | 1 |
Number of principal layer |
|
integer, | public | :: | nlbasis | = | 0 |
Number of basis layers of left host (repeated units) |
|
integer, | public | :: | nrbasis | = | 0 |
Number of basis layers of right host (repeated units) |
|
integer, | public | :: | intervx | = | 10 |
Number of intervals in x-direction for k-net in IB of the BZ |
|
integer, | public | :: | intervy | = | 10 |
Number of intervals in y-direction for k-net in IB of the BZ |
|
integer, | public | :: | intervz | = | 10 |
Number of intervals in z-direction for k-net in IB of the BZ |
|
integer, | public | :: | maxmesh | = | 1 |
Number of different k-meshes |
|
integer, | public | :: | npan_eq | = | 30 |
Number of intervals from [R_LOG] to muffin-tin radius Used in conjunction with runopt NEWSOSOL |
|
integer, | public | :: | npan_log | = | 30 |
Number of intervals from nucleus to [R_LOG] Used in conjunction with runopt NEWSOSOL |
|
integer, | public | :: | npolsemi | = | 0 |
Number of poles for the semicore contour |
|
integer, | public | :: | scfsteps | = | 1 |
number of scf iterations |
|
integer, | public | :: | natomimp | = | 0 |
Size of the cluster for impurity-calculation output of GF should be 1, if you don't do such a calculation |
|
integer, | public | :: | iesemicore | = | 0 | ||
integer, | public | :: | idosemicore | = | 0 | ||
integer, | public | :: | ivshift | = | 0 |
for selected potential shift: atom index of potentials to be shifted by VCONST |
|
integer, | private | :: | verbosity | = | 0 |
verbosity level for timings and output: 0=old default, 1,2,3 = timing and ouput verbosity level the same (low,medium,high) |
|
integer, | private | :: | MPI_scheme | = | 0 |
scheme for MPI parallelization: 0 = determine automatically (default), 1 = atoms, 2 = energies, 3 = after 2 runs with (1 and 2), select best option. |
|
integer, | private | :: | special_straight_mixing | = | 0 |
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') |
|
real(kind=dp), | public | :: | tk | = | 800.0_dp |
Temperature |
|
real(kind=dp), | public | :: | fcm | = | 20.0_dp |
Factor for increased linear mixing of magnetic part of potential compared to non-magnetic part. |
|
real(kind=dp), | public | :: | e2in | = | 0.0_dp | ||
real(kind=dp), | public | :: | emin | = | -0.30_dp |
Lower value (in Ryd) for the energy contour |
|
real(kind=dp), | public | :: | emax | = | 0.70_dp |
Maximum value (in Ryd) for the DOS calculation Controls also [NPT2] in some cases |
|
real(kind=dp), | public | :: | alat | = | 1.0_dp |
Lattice constant in a.u. |
|
real(kind=dp), | public | :: | rmax | = | 10.0_dp |
Ewald summation cutoff parameter for real space summation |
|
real(kind=dp), | public | :: | gmax | = | 100.0_dp |
Ewald summation cutoff parameter for reciprocal space summation |
|
real(kind=dp), | public | :: | r_log | = | 0.5_dp |
Radius up to which log-rule is used for interval width. Used in conjunction with runopt NEWSOSOL |
|
real(kind=dp), | public | :: | rcutz | = | 2.30_dp |
Parameter for the screening cluster along the z-direction |
|
real(kind=dp), | public | :: | rcutxy | = | 2.30_dp |
Parameter for the screening cluster along the x-y plane |
|
real(kind=dp), | public | :: | qbound | = | 1.0e-7_dp |
Convergence parameter for the potential |
|
real(kind=dp), | public | :: | vconst | = | 0.0_dp |
Value of potential shift in the first iteration in Ry |
|
real(kind=dp), | public | :: | hfield | = | 0.0_dp |
Value of external magnetic field in Ry, for initial potential shift in spin polarised case |
|
real(kind=dp), | public | :: | mixing | = | 0.01_dp |
Magnitude of the mixing parameter |
|
real(kind=dp), | public | :: | abasis | = | 1.0_dp |
Scaling factors for rbasis |
|
real(kind=dp), | public | :: | bbasis | = | 1.0_dp |
Scaling factors for rbasis |
|
real(kind=dp), | public | :: | cbasis | = | 1.0_dp |
Scaling factors for rbasis |
|
real(kind=dp), | public | :: | efermi | = | 0.0_dp |
Fermi energy |
|
real(kind=dp), | public | :: | eshift | = | 0.0_dp | ||
real(kind=dp), | public | :: | tksemi | = | 800.0_dp |
Temperature of semi-core contour |
|
real(kind=dp), | public | :: | tolrdif | = | 1.0_dp |
For distance between scattering-centers smaller than [ |
|
real(kind=dp), | public | :: | alatnew | = | 1.0_dp | ||
real(kind=dp), | public | :: | volume0 | = | 1.0_dp |
Unit cell volume |
|
real(kind=dp), | public | :: | emusemi | = | 0.0_dp |
Top of semicore contour in Ryd. |
|
real(kind=dp), | public | :: | ebotsemi | = | -0.50_dp |
Bottom of semicore contour in Ryd |
|
real(kind=dp), | public | :: | fsemicore | = | 0.00_dp |
Initial normalization factor for semicore states (approx. 1.) |
|
character(len=10), | public | :: | solver | = | 'BS ' |
Type of solver |
|
character(len=40), | public | :: | i12 | = | ' ' |
File identifiers |
|
character(len=40), | public | :: | i13 | = | 'potential ' |
Potential file name |
|
character(len=40), | public | :: | i19 | = | 'shapefun ' |
Shape function file name |
|
character(len=40), | public | :: | i25 | = | 'scoef ' |
Default name of scoef file |
|
character(len=40), | public | :: | i40 | = | ' ' |
File identifiers |
|
logical, | public | :: | lrhosym | = | .false. | ||
logical, | public | :: | linipol | = | .false. |
True: Initial spin polarization; false: no initial spin polarization |
|
logical, | public | :: | lcartesian | = | .false. | ||
integer, | public, | dimension (nsymaxd) | :: | isymindex | |||
integer, | public, | dimension (:), allocatable | :: | cls |
Cluster around atomic sites |
||
integer, | public, | dimension (:), allocatable | :: | irc |
R point for potential cutting |
||
integer, | public, | dimension (:), allocatable | :: | imt |
R point at MT radius |
||
integer, | public, | dimension (:), allocatable | :: | nfu |
number of shape function components in cell 'icell' |
||
integer, | public, | dimension (:), allocatable | :: | nsh1 |
Corresponding index of the sites I/J in (NSH1/2) in the unit cell in a shell |
||
integer, | public, | dimension (:), allocatable | :: | nsh2 |
Corresponding index of the sites I/J in (NSH1/2) in the unit cell in a shell |
||
integer, | public, | dimension (:), allocatable | :: | lmxc | |||
integer, | public, | dimension (:), allocatable | :: | ipan |
Number of panels in non-MT-region |
||
integer, | public, | dimension (:), allocatable | :: | irns |
Position of atoms in the unit cell in units of bravais vectors |
||
integer, | public, | dimension (:), allocatable | :: | irws |
R point at WS radius |
||
integer, | public, | dimension (:), allocatable | :: | kmesh | |||
integer, | public, | dimension (:), allocatable | :: | irmin |
Max R for spherical treatment |
||
integer, | public, | dimension (:), allocatable | :: | loflm |
l of lm=(l,m) (GAUNT) |
||
integer, | public, | dimension (:), allocatable | :: | nacls |
Number of atoms in cluster |
||
integer, | public, | dimension (:), allocatable | :: | ncore |
Number of core states |
||
integer, | public, | dimension (:), allocatable | :: | imaxsh | |||
integer, | public, | dimension (:), allocatable | :: | nshell |
Index of atoms/pairs per shell (ij-pairs); nshell(0) = number of shells |
||
integer, | public, | dimension (:), allocatable | :: | inipol |
Initial spin polarisation |
||
integer, | public, | dimension (:), allocatable | :: | ixipol |
Constraint of spin pol. |
||
integer, | public, | dimension (:), allocatable | :: | refpot |
Ref. pot. card at position |
||
integer, | public, | dimension (:), allocatable | :: | ntcell |
Index for WS cell |
||
integer, | public, | dimension (:), allocatable | :: | iqcalc | |||
integer, | public, | dimension (:), allocatable | :: | iofgij |
Linear pointers, similar to NSH1/NSH2 but giving the actual index of sites I,J = 1,NATOMIMP in the cluster |
||
integer, | public, | dimension (:), allocatable | :: | jofgij |
Linear pointers, similar to NSH1/NSH2 but giving the actual index of sites I,J = 1,NATOMIMP in the cluster |
||
integer, | public, | dimension (:), allocatable | :: | atomimp | |||
integer, | public, | dimension (:), allocatable | :: | ijtabsh |
Linear pointer, assigns pair (i,j) to a shell in the array GS(,,*,NSHELD) |
||
integer, | public, | dimension (:), allocatable | :: | ijtabsym |
Linear pointer, assigns pair (i,j) to the rotation bringing GS into Gij |
||
integer, | public, | dimension (:), allocatable | :: | npan_tot | |||
integer, | public, | dimension (:), allocatable | :: | ijtabcalc |
Linear pointer, specifying whether the block (i,j) has to be calculated needs set up for ICC=-1, not used for ICC=1 |
||
integer, | public, | dimension (:), allocatable | :: | npan_eq_at | |||
integer, | public, | dimension (:), allocatable | :: | npan_log_at | |||
integer, | public, | dimension (:), allocatable | :: | ijtabcalc_i | |||
integer, | public, | dimension (:, :), allocatable | :: | ish | |||
integer, | public, | dimension (:, :), allocatable | :: | jsh | |||
integer, | public, | dimension (:, :), allocatable | :: | ilm_map | |||
integer, | public, | dimension (:, :), allocatable | :: | kfg | |||
integer, | public, | dimension (:, :), allocatable | :: | atom |
Atom at site in cluster |
||
integer, | public, | dimension (:, :), allocatable | :: | ezoa |
EZ of atom at site in cluster |
||
integer, | public, | dimension (:, :), allocatable | :: | lmsp |
0,1 : non/-vanishing lm=(l,m) component of non-spherical potential |
||
integer, | public, | dimension (:, :), allocatable | :: | lcore |
Angular momentum of core states |
||
integer, | public, | dimension (:, :), allocatable | :: | icleb |
Pointer array |
||
integer, | public, | dimension (:, :), allocatable | :: | ircut |
R points of panel borders |
||
integer, | public, | dimension (:, :), allocatable | :: | llmsp |
lm=(l,m) of 'nfund'th nonvanishing component of non-spherical pot. |
||
integer, | public, | dimension (:, :), allocatable | :: | lmsp1 | |||
integer, | public, | dimension (:, :), allocatable | :: | kaoez |
Kind of atom at site in elem. cell |
||
integer, | public, | dimension (:, :), allocatable | :: | ifunm | |||
integer, | public, | dimension (:, :), allocatable | :: | ifunm1 | |||
integer, | public, | dimension (:, :), allocatable | :: | ititle | |||
integer, | public, | dimension (:, :), allocatable | :: | icheck | |||
integer, | public, | dimension (:, :), allocatable | :: | ipan_intervall | |||
integer, | public, | dimension (:, :, :), allocatable | :: | jend |
Pointer array for icleb() |
||
real(kind=dp), | public, | dimension (2) | :: | vbc |
Potential constants |
||
real(kind=dp), | public, | dimension (3) | :: | zperight |
Vector to define how to repeat the basis of the right host |
||
real(kind=dp), | public, | dimension (3) | :: | zperleft |
Vector to define how to repeat the basis of the left host |
||
real(kind=dp), | public, | dimension (3, 3) | :: | recbv |
Reciprocal basis vectors |
||
real(kind=dp), | public, | dimension (3, 3) | :: | bravais |
Bravais lattice vectors |
||
real(kind=dp), | public, | dimension (64, 3, 3) | :: | rsymat | |||
real(kind=dp), | public, | dimension (:), allocatable | :: | a |
Constants for exponential R mesh |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | b |
Constants for exponential R mesh |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | wg |
Integr. weights for Legendre polynomials |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | gsh | |||
real(kind=dp), | public, | dimension (:), allocatable | :: | zat |
Nuclear charge |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | rmt |
Muffin-tin radius of true system |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | rws |
Wigner Seitz radius |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | vref | |||
real(kind=dp), | public, | dimension (:), allocatable | :: | mtfac |
Scaling factor for radius MT |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | rmtnew |
Adapted muffin-tin radius |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | rmtref |
Muffin-tin radius of reference system |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | rmtrefat | |||
real(kind=dp), | public, | dimension (:), allocatable | :: | fpradius |
R point at which full-potential treatment starts |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | socscale |
Spin-orbit scaling |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | lambda_xc |
Scale magnetic moment (0 < Lambda_XC < 1, 0=zero moment, 1= full moment) |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rmesh |
Radial mesh ( in units a Bohr) |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | s | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rr |
Set of real space vectors (in a.u.) |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | drdi |
Derivative dr/di |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | dror | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | cleb |
GAUNT coefficients (GAUNT) |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | visp |
Spherical part of the potential |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | cscl |
Speed of light scaling |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rnew | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | ratom | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | ecore |
Core energies |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | tleft |
Vectors of the basis for the left host |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | tright |
Vectors of the basis for the right host |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | socscl | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rbasis |
Position of atoms in the unit cell in units of bravais vectors |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rclsimp | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | cmomhost |
Charge moments of each atom of the (left/right) host |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rpan_intervall | |||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | rs | |||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | yrg |
Spherical harmonics (GAUNT2) |
||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | vins |
Non-spherical part of the potential |
||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | rcls |
Real space position of atom in cluster |
||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | rrot | |||
complex(kind=dp), | public, | dimension (:), allocatable | :: | ez |
complex energy points |
||
complex(kind=dp), | public, | dimension (:), allocatable | :: | dez |
length of energy interval: (EF-EMIN)/NEPTS for uniform distribution of points |
||
complex(kind=dp), | public, | dimension (:), allocatable | :: | wez |
integration weights: wez(ie) = -2.0_dp/pi*dez(ie) |
||
complex(kind=dp), | public, | dimension (:, :, :), allocatable | :: | dsymll | |||
complex(kind=dp), | public, | dimension (:, :, :), allocatable | :: | dsymll1 | |||
complex(kind=dp), | public, | dimension (:, :, :, :, :), allocatable | :: | lefttinvll | |||
complex(kind=dp), | public, | dimension (:, :, :, :, :), allocatable | :: | righttinvll | |||
character(len=124), | public, | dimension (6) | :: | txc | |||
logical, | public, | dimension (2) | :: | vacflag | |||
integer, | public | :: | kmrot | = | 0 |
0: no rotation of the magnetisation; 1: individual rotation of the magnetisation for every site |
|
real(kind=dp), | public, | dimension (:), allocatable | :: | qmtet |
angle of the magnetization with respect to the z-axis |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | qmphi |
angle of the magnetization with respect to the z-axis |
||
integer, | public | :: | ncpa | = | 0 |
NCPA = 0/1 CPA flag |
|
integer, | public | :: | itcpamax | = | 0 |
Max. number of CPA iterations |
|
integer, | public, | dimension (:), allocatable | :: | noq |
Number of diff. atom types located |
||
integer, | public, | dimension (:), allocatable | :: | iqat |
The site on which an atom is located on a given site |
||
integer, | public, | dimension (:), allocatable | :: | icpa |
ICPA = 0/1 site-dependent CPA flag |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | qmgam |
Note ITERMDIR running option introduced Apr 2003 -- Munich (H. Ebert + V. Popescu) allows a self-consistent determination of the magnetic configuration in REL mode |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | qmgamtab | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | qmphitab | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | qmtettab | |||
integer, | public, | dimension (:), allocatable | :: | hostimp |
Note changes for impurity 20/02/2004 -- v.popescu according to n.papanikolaou |
||
real(kind=dp), | public | :: | cpatol | = | 1e-4_dp |
Convergency tolerance for CPA-cycle |
|
real(kind=dp), | public, | dimension (:), allocatable | :: | conc |
Concentration of a given atom |
||
complex(kind=dp), | public, | dimension (:, :), allocatable | :: | rc |
NREL REAL spher. harm. > CMPLX. spher. harm. NREL CMPLX. spher. harm. > REAL spher. harm. |
||
complex(kind=dp), | public, | dimension (:, :), allocatable | :: | crel |
Non-relat. CMPLX. spher. harm. > (kappa,mue) (kappa,mue) > non-relat. CMPLX. spher. harm. |
||
complex(kind=dp), | public, | dimension (:, :), allocatable | :: | rrel |
Non-relat. REAL spher. harm. > (kappa,mue) (kappa,mue) > non-relat. REAL spher. harm. |
||
complex(kind=dp), | public, | dimension (:, :, :), allocatable | :: | srrel | |||
complex(kind=dp), | public, | dimension (:, :, :), allocatable | :: | drotq |
Rotation matrices to change between LOCAL/GLOBAL frame of reference for magnetisation <> Oz or noncollinearity |
||
integer, | public, | dimension (:), allocatable | :: | zrel |
atomic number (cast integer) |
||
integer, | public, | dimension (:), allocatable | :: | jwsrel |
index of the WS radius |
||
integer, | public, | dimension (:), allocatable | :: | irshift |
shift of the REL radial mesh with respect no NREL |
||
integer, | public, | dimension (:, :), allocatable | :: | nrrel | |||
integer, | public, | dimension (:, :, :), allocatable | :: | irrel | |||
real(kind=dp), | public, | dimension (0:100) | :: | fact | |||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | vtrel |
potential (spherical part) |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | btrel |
magnetic field |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | rmrel |
radial mesh |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | drdirel |
derivative of radial mesh |
||
real(kind=dp), | public, | dimension (:, :), allocatable | :: | r2drdirel |
(r**2 * drdi) |
||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | thesme | |||
logical, | public | :: | para | = | .true. | ||
logical, | public, | dimension (nsymaxd) | :: | symunitary |
unitary/antiunitary symmetry flag |
||
integer, | public | :: | ntldau | = | 0 |
Note ph. mavropoulos according to Munich SPR-KKR h. ebert input: UEFF, JEFF : input U,J parameters for each atom EREFLDAU(1..NATYP) : the energies of ggthe projector's wave functions (REAL) LOPT(1..NATYP): angular momentum QNUM for the atoms on which LDA+U should be applied (-1 to switch it OFF) iteration index ITRUNLDAU integer flag perform LDA+U IDOLDAU integer flag LDA+U arrays available KREADLDAU NTLDAU - number of atoms on which LDA+U is applied (<=NATYP) arrays: ULDAU - calculated Coulomb matrix elements (EREFLDAU) WLDAU - potential matrix ITLDAU - integer pointer connecting the NTLDAU atoms to their corresponding index in the unit cell number of atoms on which LDA+U is applied |
|
integer, | public | :: | idoldau | = | 0 |
flag to perform LDA+U |
|
integer, | public | :: | itrunldau | = | 0 |
Iteration index for LDA+U |
|
integer, | public | :: | kreadldau | = | 0 |
LDA+U arrays available |
|
integer, | public, | dimension (:), allocatable | :: | lopt |
angular momentum QNUM for the atoms on which LDA+U should be applied (-1 to switch it OFF) |
||
integer, | public, | dimension (:), allocatable | :: | itldau |
integer pointer connecting the NTLDAU atoms to heir corresponding index in the unit cell |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | ueff |
input U parameter for each atom |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | jeff |
input J parameter for each atom |
||
real(kind=dp), | public, | dimension (:), allocatable | :: | erefldau |
the energies of the projector's wave functions (REAL) |
||
real(kind=dp), | public, | dimension (:, :, :, :), allocatable | :: | wldau |
potential matrix |
||
real(kind=dp), | public, | dimension (:, :, :, :, :), allocatable | :: | uldau |
calculated Coulomb matrix elements (EREFLDAU) |
||
complex(kind=dp), | public, | dimension (:, :), allocatable | :: | phildau | |||
logical, | public | :: | lbfield | ||||
logical, | public | :: | lbfield_constr | ||||
logical, | public | :: | lbfield_all | ||||
logical, | public | :: | lbfield_trans | ||||
logical, | public | :: | lbfield_mt | ||||
logical, | public | :: | ltorque | ||||
integer, | public | :: | ibfield | ||||
integer, | public | :: | ibfield_constr | ||||
integer, | public | :: | ibfield_itscf0 | ||||
integer, | public | :: | ibfield_itscf1 | ||||
integer, | public | :: | lly | = | 0 |
LLY <> 0 : apply Lloyds formula |
|
complex(kind=dp), | public | :: | deltae | = | (1.0e-5_dp, 0.0_dp) |
Energy difference for numerical derivative |
|
logical, | public | :: | emeshfile | ||||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | thetas |
shape function THETA=0 outer space THETA =1 inside WS cell in spherical harmonics expansion |
||
real(kind=dp), | public, | dimension (:, :, :), allocatable | :: | thetasnew |
shape function interpolated to Chebychev radial mesh |
M a i n
w r a p p e r
t o
h a n d l e
i n p u t
r e a d i n g ,
a l l o c a t i o n
o f
a r r a y s ,
a n d
A d d s
a
c o n s t a n t
V S H I F T )
t o
t h e
p o t e n t i a l s
o f
a t o m s
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | irm |
Maximum number of radial points |
||
integer, | intent(in) | :: | irid |
Shape functions parameters in non-spherical part |
||
integer, | intent(in) | :: | ipand |
Number of panels in non-spherical part |
||
integer, | intent(in) | :: | lmpot |
(LPOT+1)**2 |
||
integer, | intent(in) | :: | npotd |
(2(KREL+KORBIT)+(1-(KREL+KORBIT))NSPIND)*NATYP) |
||
integer, | intent(in) | :: | natyp |
Number of kinds of atoms in unit cell |
||
integer, | intent(in) | :: | nspin |
Counter for spin directions |
||
integer, | intent(in) | :: | ngshd |
Shape functions parameters in non-spherical part |
||
integer, | intent(in) | :: | nfund |
Shape functions parameters in non-spherical part |
||
integer, | intent(in) | :: | ncelld |
Number of cells (shapes) in non-spherical part |
||
integer, | intent(in) | :: | irmind |
irmd - irnsd |
||
integer, | intent(in) | :: | lmxspd | |||
integer, | intent(in) | :: | kshape |
exact treatment of WS cell |
||
integer, | intent(in), | dimension (natyp) | :: | irc |
r point for potential cutting |
|
integer, | intent(in), | dimension (natyp) | :: | irmin |
max r for spherical treatment |
|
integer, | intent(in), | dimension (natyp) | :: | inipol |
initial spin polarisation |
|
integer, | intent(in), | dimension (natyp) | :: | ntcell |
index for WS cell |
|
integer, | intent(in), | dimension (0:lmpot) | :: | imaxsh | ||
integer, | intent(in), | dimension (ngshd, 3) | :: | ilm_map | ||
integer, | intent(in), | dimension (natyp, lmxspd) | :: | lmsp |
0,1 : non/-vanishing lm=(l,m) component of non-spherical potential |
|
integer, | intent(in), | dimension (natyp, lmxspd) | :: | ifunm | ||
integer, | intent(in), | dimension (0:ipand, natyp) | :: | ircut |
r points of panel borders |
|
real(kind=dp), | intent(in) | :: | hfield |
External magnetic field, for initial potential shift in spin polarised case |
||
real(kind=dp), | intent(in), | dimension (ngshd) | :: | gsh | ||
real(kind=dp), | intent(in), | dimension (irm, natyp) | :: | rmesh | ||
real(kind=dp), | intent(in), | dimension (irid, nfund, ncelld) | :: | thesme | ||
real(kind=dp), | intent(in), | dimension (irid, nfund, ncelld) | :: | thetas |
shape function THETA=0 outer space THETA =1 inside WS cell in spherical harmonics expansion |
|
real(kind=dp), | intent(inout), | dimension (irm, npotd) | :: | visp |
Spherical part of the potential |
|
real(kind=dp), | intent(inout), | dimension (irmind:irm, lmpot, nspotd) | :: | vins |
Non-spherical part of the potential |
P r i n t
t h e
v e r s i o n
i n f o
a n d
h e a d e r
t o
t h e
o u t p u t
f i l e
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iunit |
Unit identifier for the output file |
||
character(len=*), | intent(in) | :: | version1 |
Version of the code |
||
character(len=*), | intent(in) | :: | version2 |
Compilation option |
||
character(len=*), | intent(in) | :: | version3 |
Compilation option |
||
character(len=*), | intent(in) | :: | version4 |
Compilation option |
||
character(len=*), | intent(in) | :: | serialnr |
File serial number |
R e d u c e
s i z e
o f
a r r a y s
d e p e n d i n g
o n
n r e f d ,
n c s l d
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nref |
actual number of reference potentials |
||
integer, | intent(inout) | :: | nrefd |
maximal number of reference potentials |
||
real(kind=dp), | intent(inout), | dimension (:), allocatable | :: | rmtref |
Muffin-tin radius of reference system |
|
real(kind=dp), | intent(inout), | dimension (:), allocatable | :: | vref |
reference potential |
|
integer, | intent(in) | :: | ncls |
actual number of clusters |
||
integer, | intent(inout) | :: | nclsd |
maximal number of clusters |
||
integer, | intent(inout), | dimension(:), allocatable | :: | nacls |
number of atom in cluster |
|
real(kind=dp), | intent(inout), | dimension(:, :, :), allocatable | :: | rcls |
real space position of atoms in cluster |