input_description -distribution {Quantum Espresso} -program ld1.x {

    toc {}

    intro {
	Input data cards for ld1.x program:

	Always present:
	  1   namelist &input
	  1.1 optional cards for all-electron calculations

	Needed for PP generation:
	  2   namelist &inputp
	  2.1 additional cards for PP generation

	Needed for pseudo-potential (PP) test. optional for PP generation:
	  3   namelist &test
	  3.1 optional cards for PP test	  
    }

    namelist INPUT {

	label { This namelist is always needed ! }

	var title  -type CHARACTER {
	    info { A string describing the job. }
	    status { OPTIONAL }
	}

	group {
	    label { Either: }

	    var zed  -type REAL {
		see { atom }
		info { 
		    The nuclear charge (1 < zed < 100). 
		    
		    IMPORTANT:
		    Specify either zed OR atom, not both!
		}
	    }

	    label { Or: }

	    var atom  -type CHARACTER { 
		see { zed }
		info {
		    Atomic symbol: atom='H', 'He', 'Be', etc.
		    
		    IMPORTANT:
		    Specify either atom OR zed, not both!
		}
	    }
	}

	group {
	    label { Radial grid parameters: }
	    
	    var xmin  -type REAL { 
		see { dx }
		default {
		    -7.0 if iswitch>1 or rel=0,
		    -8.0 otherwise
		}
		info { Radial grid parameter. }
	    }
	    
	    var dx -type REAL {
		info { 
		    Radial grid parameter.
		    
		    The radial grid is: r(i+1) = exp(xmin+i*dx)/zed  a.u.
		}
		default { 
		    0.0125 if iswitch>1,
		    0.008 otherwise
		}
	    }

	    var rmax -type REAL { 
		info { Outermost grid point. }
		default { 100.0 a.u. }
	    }
	}

	var beta  -type REAL { 
	    info { parameter for potential mixing }
	    default { 0.2 }
	}
	var tr2  -type REAL {
	    info { convergence threshold for scf }
	    default { 1e-14 }
	}
	
	var iswitch  -type INTEGER {
	    info { 
		1    all-electron calculation
                2    PP test calculation
                3    PP generation
                4    LDA-1/2 correction, needs a previously generated PP file 
	    } 
	    default { 1 }
	}

	group {
	    label { Parameters for logarithmic derivatives: }

	    var nld  -type INTEGER {
		info { the number of logarithmic derivatives to be calculated }
	    }
	    
	    var rlderiv -type REAL { 
		info { radius (a.u.) at which logarithmic derivatives are calculated }
	    }
	    
	    vargroup -type REAL {
		var eminld
		var emaxld 
		info { 
		    Energy range (min, max energy, in Ry) at which
		    logarithmic derivatives are calculated.
		}
	    }
	    
	    var deld  -type REAL {  
		info { 
		    Delta e (Ry) of energy for logarithmic derivatives.
		}
	    }

	    var rpwe -type REAL { 
		info { radius (a.u.) at which partial wave expansions are calculated }
		default { rlderiv }
	    }

	    message {
		If the above parameters are not specified, logarithmic
		derivatives and partial wave expansions are not calculated.
	    }
	}

	var rel  -type INTEGER {
	    info {  
		0 ... non relativistic calculation     
		1 ... scalar relativistic calculation  
		2 ... full relativistic calculation with spin-orbit
	    }
	    default {
		0 for Z <= 18;
		1 for Z >  18
	    }
	}

	var lsmall  -type LOGICAL {
	    default { .false. }
	    info {
		if .true. writes on files the small component
	    }
	}

	var max_out_wfc  -type INTEGER  {
	    default { 7 }
	    info {
		Maximum number of atomic wavefunctions written in the output
                file.
	    }
	}

	var noscf  -type LOGICAL {
	    default { .false. }
	    info {
		if .true. the charge is not computed. The occupations are
                not used and the eigenvalues and eigenfunctions are those 
                of a hydrogen-like atom.
	    }
	}

	var lsd  -type INTEGER { 
	    info { 
		0 ... non spin polarized calculation
		1 ... spin-polarized calculation   

		BEWARE:
		not allowed if iswitch=3 (PP generation) or with full
		relativistic calculation
	    }
	    default { 0 }
	}
	
	var dft  -type CHARACTER {
	    info { 
		Exchange-correlation functional. 

		Examples:
		'PZ'    Perdew and Zunger formula for LDA
		'PW91'  Perdew and Wang GGA
		'BP'    Becke and Perdew GGA
		'PBE'   Perdew, Becke and Ernzerhof GGA
		'BLYP'  ...

		For the complete list, see module "functionals" in ../flib/
		The default is 'PZ' for all-electron calculations,
		it is read from the PP file in a PP calculation.
	    }

	}
	var latt -type INTEGER { 
	    info { 
		0 ... no Latter correction 
		1 ... apply Latter correction 
	    }
	    default { 0 }		
	}
	
	var isic -type INTEGER {
	    info { 
		0 ... no Self-interaction correction
		1 ... apply Self-interaction correction
	    }
	    default { 0 }
	    status {
		only for all-electron calculation
	    }
	}
	
	var rytoev_fact  -type REAL {
	    default { as specified in file Modules/constants.f90 }
	    info {
		Factor used to convert Ry into eV. 
	    }
	}

	var cau_fact  -type REAL {
	    default { as specified in file Modules/constants.f90 }
	    info {
		Speed of light in a.u..
 
		(Be careful the default value is always used in the 
                 relativistic exchange.)
	    }
	}


	var vdw  -type LOGICAL {
	    default { .false. } 
	    info { 
		If .true., the frequency dependent polarizability and van der
		Waals coefficient C6 will be computed in Thomas-Fermi and 
		von Weizsaecker approximation(only for closed-shell ions).
	    }
	    status {
		Gradient-corrected DFT not yet implemented. 
	    }
	}


	var prefix  -type CHARACTER {
	    default { 'ld1' }
	    info {
		Prefix for file names - only for output file names
		containing the orbitals, logarithmic derivatives, tests
		See below for file names and the content of the file.
	    }
	}

	var verbosity  -type CHARACTER {
	    default { 'low' }
	    info {
		'low' or 'high'

		if 'high' with iswitch=2,3 prints separately core and
		valence contributions to the energies. Print the
		frozen-core energy.
	    }
	}

	var file_charge  -type CHARACTER {
	    default { ' ' }
	    info {
	        Name of the file where the code writes the all-electron 
		total charge. No charge is written if file_charge=' '.
	    }
	}

	var config  -type CHARACTER {
	    default { ' ' }
	    info { 
		A string with the electronic configuration. 

		Example:
                  '[Ar] 3d10 4s2 4p2.5'              
               
		* If lsd=1, spin-up and spin-down state may appear twice
		  with the respective occupancy: 3p4 3p2 = 4 up, 
		  2 down. Otherwise, the Hund's rule is assumed.
               
		* If rel=2, states with jj=l-1/2 are filled first.		
		  If a state appears twice, the first one has jj=l-1/2, 
		  the second one jj=l+1/2 (except S states)                 
		  (Use rel_dist if you want to average the electrons
		  over all available states.)

                * If config='default' the code uses zed to set the ground
                  state electronic configuration for the atom.

		Negative occupancies are used to flag unbound states;
		they are not actually used.
	    }
	}

        var relpert  -type LOGICAL {
            default { .false. }
            info {
                  If .true. the relativistic corrections to the non-relativistic 
                  Kohn-Sham energy levels (rel=0 .and. lsd=0) are computed using 
                  first-order perturbation theory in all-electron calculations.
                  The corrections consist of the following terms:
                     E_vel: velocity (p^4) correction
                     E_Dar: Darwin term
                     E_S-O: spin-orbit coupling
                  The spin-orbit term vanishes for s-electron states and gives 
                  rise to a splitting of (2*l+1)*E_S-O for the other states.
                  The separate contributions are printed only if verbosity='high'.

                  Formulas and notation are based on the Herman-Skillman book:
                  F. Herman and S. Skillman, "Atomic Structure Calculations", 
                  Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1963
            }
        }
	
	var rel_dist  -type CHARACTER {
	    default { 'energy' }
	    info {
		'energy' or 'average'

		* if 'energy' the relativistic l-1/2 states are filled first.

		* if 'average' the electrons are uniformly distributed 
		  among all the states with the given l.  
	    }
	}
	
	var write_coulomb  -type LOGICAL {
	    default { .false. }
	    info {
		If .true., a fake pseudo-potential file with name X.UPF,
		where X is the atomic symbol, is written. It contains
		the radial grid and the wavefunctions as specified in input,
		plus the info needed to build the Coulomb potential
		for an all-electron calculation - for testing only.
	    }
	}
    }

    card AllElectronCards -nameless 1 {
	label {
	    If config is empty the electronic configuration is read from
	    the following cards:
	}

	choose {
	    when -test "rel < 2" {
		syntax {
		    line {
			var nwf -type INTEGER {
			    info {
				number of wavefunctions
			    }
			}
		    }	    
		    table AE_wfs {
			rows -start 1 -end nwf {
			    col nl -type CHARACTER {
				info { wavefunction label (e.g. 1s, 2s, etc.) }
			    }
			    col n -type INTEGER { info { principal quantum number } }
			    col l -type INTEGER { info { angular quantum number } }
			    col oc -type REAL { info { occupation number } }
			    col isw -type INTEGER { 
				info { the spin index (1-2) used only in the lsda case } 
			    }
			}
		    }
		}
	    }
	    elsewhen -test "rel = 2" {
		syntax {
		    line {
			var nwf
		    }	    
		    table AE_wfs {
			rows -start 1 -end nwf {
			    col nl
			    col n
			    col l
			    col oc
			    col jj -type REAL { 
				info { 
				    The total angular momentum (0.0 is allowed for complete 
				    shells: the codes fills 2l states with jj=l-1/2, 
                                    2l+2 with jj=l+1/2).
				}
			    }
			}
		    }
		}
	    }
	}
    }

    namelist INPUTP {
	var zval  -type REAL {
	    default { (calculated) }
	    info { 
		Valence charge.                                  

		zval is automatically calculated from available data.
		If the value of zval is provided in input, it will be
		checked versus the calculated value. The only case in
		which you need to explicitly provide the value of zval
		for noninteger zval (i.e. half core-hole pseudo-potentials).
	    }
	}
	
	var pseudotype  -type INTEGER {
	    info {
		1 ... norm-conserving, single-projector PP
                      IMPORTANT: if pseudotype=1 all calculations are done
                      using the SEMILOCAL form, not the separable nonlocal form
		
		2 ... norm-conserving PP in separable form (obsolescent)
                      All calculations are done using SEPARABLE non-local form
                      IMPORTANT: multiple projectors allowed but not properly
                      implemented, use only if you know what you are doing

		3 ... ultrasoft PP or PAW
	    }
	}

	var file_pseudopw -type CHARACTER {
	    status { REQUIRED }
	    info { 
		File where the generated PP is written.
		
		* if the file name ends with "upf" or "UPF",
		or in any case for spin-orbit PP (rel=2),
		the file is written in UPF format;

		* if the file name ends with 'psp' it is
		written in native CPMD format (this is currently
		an experimental feature); otherwise it is written
		in the old "NC" format if pseudotype=1, or
		in the old RRKJ format if pseudotype=2 or 3
		(no default, must be specified).
	    }
	}

	var file_recon  -type CHARACTER { 
	    info {  
		File containing data needed for GIPAW reconstruction 
		of all-electron wavefunctions from PP results.
		If you want to use additional states to perform the
		reconstruction, add them at the end of the list
		of all-electron states.
	    } 
	    default { ' ' }
	}

	var lloc  -type INTEGER { 
	    default { -1 }
	    info { 
		Angular momentum of the local channel.

		* lloc=-1 or lloc=-2 pseudizes the all-electron potential
                  if lloc=-2 the original recipe of Troullier-Martins
		  is used (zero first and second derivatives at r=0)
		* lloc>-1 uses the corresponding channel as local PP

		NB: if lloc>-1, the corresponding channel must be the last in the
		list of wavefunctions appearing after the namelist &inputp
		In the relativistic case, if lloc > 0 both the j=lloc-1/2 and
		the j=lloc+1/2 wavefunctions must be at the end of the list.
	    }
	}

	var rcloc  -type REAL { 
	    status {
		Must be specified only if lloc=-1, otherwise the
		corresponding value of rcut is used. 
	    }
	    info { 
		Matching radius (a.u.) for local pseudo-potential (no default).
	    }
	}

	var nlcc  -type LOGICAL { 
	    default { .false. }
	    info {
		If .true. produce a PP with the nonlinear core
		correction of Louie, Froyen, and Cohen
                [PRB 26, 1738 (1982)].
	    }
	}

	var new_core_ps  -type LOGICAL {
	    default { .false. }
	    status { requires nlcc=.true. }
	    info {
		If .true. pseudizes the core charge with bessel functions. 
	    }
	}
		
	var rcore -type REAL {
	    info { 
		Matching radius (a.u.) for the smoothing of the core charge.
		If not specified, the matching radius is determined 
		by the condition:  rho_core(rcore) = 2*rho_valence(rcore)
	    }
	}
	
	var tm  -type LOGICAL {
	    default {  .false. }
	    info { 
		* .true. for Troullier-Martins pseudization [PRB 43, 1993 (1991)]

		* .false. for Rappe-Rabe-Kaxiras-Joannopoulos pseudization 
		  [PRB 41, 1227 (1990), erratum PRB 44, 13175 (1991)]
	    }
	}

	var rho0  -type REAL { 
	    info { 
		Charge at the origin: when the Rappe-Rabe-Kaxiras-Joannopoulos
		method with 3 Bessel functions fails, specifying rho0 > 0
		may allow to override the problem (using 4 Bessel functions).
		Typical values are in the order of 0.01-0.02
	    }
	    default { 0.0 }
	}

	var lpaw  -type LOGICAL { 
	    info {
		If .true. produce a PAW dataset, experimental feature
		only for pseudotype=3
	    }
	    default { .false. }
	}

	group {
	    var which_augfun  -type CHARACTER { 
		default { 
		    'AE' for Vanderbilt-Ultrasoft pseudo-potentials and 'BESSEL' for PAW datasets.
		}
		info {                 
		    If different from 'AE' the augmentation functions are pseudized
		    before rmatch_augfun. The pseudization options are:
		    
		    * 'PSQ'        Use Bessel functions to pseudize Q 
                                   from the origin to rmatch_augfun.
		    
		    These features are available only for PAW: 
		    
		    * 'BESSEL'     Use Bessel functions to pseudize the Q.
		    * 'GAUSS'      Use 2 Gaussian functions to pseudize the Q.
		    * 'BG'         Use original Bloechl's recipe with a single gaussian.

		    Note: if lpaw is true and which_augfun is set to AE real all-
		    electron charge will be used, which will produce extremely
		    hard augmentation.
		}
	    }
	    
	    var rmatch_augfun  -type REAL {
		default { 0.5 a.u. }
		status { Used only if which_augfun is different from 'AE'. }		
		info {
		    Pseudization radius for the augmentation functions. Presently
		    it has the same value for all L.    
		}
	    }
	    var rmatch_augfun_nc  -type REAL {
		default { .false. }
		status { Used only if which_augfun is 'PSQ'. }		
		info {
                  If .true. the augmentation functions are pseudized
                  from the origin to min(rcut(ns),rcut(ns1)) where ns 
                  and ns1 are the two channels for that Q. In this case
                  rmatch_augfun is not used.
		}
	    }
	}

	var lsave_wfc -type LOGICAL {
	    default { .false. if .not. lpaw, otherwise .true. }
	    info {
		Set it to .true. to save all-electron and pseudo wavefunctions
		used in the pseudo-potential generation in the UPF file. Only
		works for UPFv2 format.
	    }
	}

	var lgipaw_reconstruction -type LOGICAL {
	    default { .false. }
	    info {
		Set it to .true. to generate pseudo-potentials containing the
                additional info required for reconstruction of all-electron 
                orbitals, used by GIPAW. You will typically need to specify 
		additional projectors beyond those used in the generation of 
		pseudo-potentials. You should also specify 'file_recon'.

		All projectors used in the reconstruction must be listed BOTH 
		in the test configuration after namelist &test AND in the 
		all-electron configuration (variable 'config', namelist &inputp,
		Use negative occupancies for projectors on unbound states). The 
		core radii in the test configuration should be the same as in
		the pseudo-potential generation section and will be used as the
		radius of reconstruction. Projectors not used to generate the 
		pseudo-potential should have zero occupation number.
	    }
	}


        var use_paw_as_gipaw -type LOGICAL {
            default { .false. }
            info {
               When generating a PAW dataset, setting this option to .true. will
               save the core all-electron wavefunctions to the UPF file.
               The GIPAW reconstruction to be performed using the PAW data and
               projectors for the valence wavefunctions.

               In the default case, the GIPAW valence wavefunction and projectors
               are independent from the PAW ones and must be then specified as 
	       explained above in lgipaw_reconstruction.

               Setting this to .true. always implies lgipaw_reconstruction = .true.
            }
        }

	var author  -type CHARACTER {
	    info { Name of the author. }
            default { 'anonymous' }
	}

	var file_chi  -type CHARACTER {   
	    info {   file containing output PP chi functions }
	    default { ' ' }
	}
	var file_beta  -type CHARACTER {  
	    info {   file containing output PP beta functions }
	    default { ' ' }
	}
	var file_qvan  -type CHARACTER {  
	    info {   file containing output PP qvan functions }
	    default { ' ' }
	}

	var file_screen    -type CHARACTER { 
	    info {   file containing output screening potential }
	    default { ' ' }
	}

	var file_core      -type CHARACTER { 
	    info {   file containing output total and core charge }
	    default { ' ' }
	}

	var file_wfcaegen  -type CHARACTER { 
	    info { file with the all-electron wfc for generation } 
	    default { ' ' }
	}
	var file_wfcncgen  -type CHARACTER { 
	    info { file with the norm-conserving wfc for generation } 
	    default { ' ' }
	}
	var file_wfcusgen  -type CHARACTER { 
	    info { file with the ultra-soft wfc for generation }
	    default { ' ' }
	}
    }

    card PseudoPotentialGenerationCards -nameless 1 {
	choose {
	    when -test "rel=0  OR  rel=2" {
		syntax {
		    line {
			var nwfs -type INTEGER {
			    info { number of wavefunctions to be pseudized }
			}
		    }
		    table PP_wfs {
			rows -start 1 -end nwfs {
			    col nls -type CHARACTER { 
				info { 
				    Wavefunction label (same as in the all-electron configuration). 
				} 
			    }
			    col nns -type INTEGER { 
				info { 
				    Principal quantum number (referred to the PSEUDOPOTENTIAL case;
				    nns=1 for lowest s, nns=2 for lowest p, and so on).
				}
			    }
			    col lls -type INTEGER { info { Angular momentum quantum number. } }
			    col ocs -type REAL { info { Occupation number  (same as in the all-electron configuration). } }
			    col ener -type REAL {
				info {
				    Energy (Ry) used to pseudize the corresponding state.
				    If 0.d0, use the one-electron energy of the all-electron state.
				    Do not use 0.d0 for unbound states!
				}
			    }
			    col rcut -type REAL { info { Matching radius (a.u.) for norm conserving PP. } }
			    col rcutus -type REAL { 
				info { Matching radius (a.u.) for ultrasoft PP - only for pseudotype=3. } 
			    } 
			    col jjs -type REAL { info { The total angular momentum (0.0 is allowed for complete shells). } }
			}
		    }
		}
		message {
		    * if lloc>-1 the state with lls=lloc must be the last
		    
		    * if lloc>0 in the relativistic case, both states with jjs=lloc-1/2
		      and jjs=lloc+1/2 must be the last two
		}
	    }	
	    otherwise {
		syntax {
		    line {
			var nwfs 
		    }
		    table PP_wfs {
			rows -start 1 -end nwfs {
			    col nls
			    col nns
			    col lls
			    col ocs
			    col ener
			    col rcut
			    col rcutus
			}
		    }
		}
	    }
	}
    }

    namelist TEST {
	label { needed only if iswitch=2 or iswitch=4, optional if iswitch=3 }

	var nconf  -type INTEGER { 
	    info {   the number of configurations to be tested. For iswitch = 4 nconf=2 }
	    default { 1 }
	}
	
	var file_pseudo  -type CHARACTER { 
	    status { ignored if iswitch=3 }
	    info { 
		File containing the PP.

		* If the file name contains  ".upf" or ".UPF",
		the file is assumed to be in UPF format; 

		* else if the file name contains ".rrkj3" or ".RRKJ3",
		the old RRKJ format is first tried;

		* otherwise, the old NC format is read.
		
		IMPORTANT: in the latter case, all calculations are done
		using the SEMILOCAL form, not the separable nonlocal form.
		Use the UPF format if you want to test the separable form!
	    }
	    default { ' ' }
	}       
         
	vargroup -type REAL {
	    var ecutmin
	    var ecutmax
	    var decut
	    info {
		Parameters (Ry) used for test with a basis set of spherical		    
		Bessel functions j_l(qr) . The hamiltonian at fixed scf
		potential is diagonalized for various values of ecut:
		ecutmin, ecutmin+decut, ecutmin+2*decut ... up to ecutmax.
		This yields an indication of convergence with the
		corresponding plane-wave cutoff in solids, and shows 
		in an unambiguous way if there are "ghost" states
	    }
	    default { 
		decut=5.0 Ry; ecutmin=ecutmax=0Ry
	    }
	    status { specify ecutmin and ecutmax if you want to perform this test }	    	    
	}

	var rm  -type REAL {
	    info { Radius of the box used with spherical Bessel functions. }
	    default { 30 a.u. }
	}

	dimension configts -start 1 -end nconf -type CHARACTER {
	    info {
		A string containing the test valence electronic
		configuration nc, nc=1,nconf. Same syntax as for "config".
		If configts(i) is not set, the electron configuration 
		is read from the cards following the namelist.
	    }
	}
	
	dimension lsdts -start 1 -end nconf -type INTEGER {
	    default { 1 }
	    see { lsd }
	    info {
		0 or 1. It is the value of lsd used in the i-th test.
		Allows to make simultaneously spin-polarized and 
		spin-unpolarized tests. 
	    }
	}
 
	var frozen_core  -type LOGICAL {
	    default { .false. }
	    info {
		If .true. only the core wavefunctions of the first 
		configuration are calculated. The eigenvalues, orbitals
		and energies of the other configurations are calculated
		with the core of the first configuration.
		The first configuration must be spin-unpolarized.
	    }
	}

	var rcutv  -type REAL {
	    info {   Cutoff distance (CUT) for the inclusion of LDA-1/2 potential. 
                     Needed (mandatory) only if iswitch = 4 }
	    default { -1.0 }
	}

    }
    
    card PseudoPotentialTestCards -nameless 1 {
	label { IMPORTANT: this card has to be specified for each missing configts(i) }

	choose {
	    when -test "lsd=1" {
		syntax {
		    line {
			var nwfts -type INTEGER { info { number of wavefunctions } }
		    }
		    table test_wfs {
			rows -start 1 -end nwfts {
			    col elts -type CHARACTER { see { nls } }
			    col nnts -type INTEGER { see { nns } }
			    col llts -type INTEGER { see { lls } }
			    col octs -type REAL    { see { ocs } }
			    col enerts -type REAL  { status { not used } }
			    col rcutts -type REAL  { status { not used } }
			    col rcutusts -type REAL { status { not used } }
			    col iswts -type INTEGER { info { spin index (1 or 2, used in lsda case) } }
			}
		    }
		}
	    }
	    elsewhen -test "rel=2" {
		syntax {
		    line { var nwfts }
		    table test_wfs {
			rows -start 1 -end nwfts {
			    col elts
			    col nnts
			    col llts
			    col octs
			    col enerts
			    col rcutts
			    col rcutusts
			    col jjts -type REAL { info {  total angular momentum of the state } }
			}
		    }
		}
	    }
	    otherwise {
		syntax {
		    line { var nwfts }
		    table test_wfs {
			rows -start 1 -end nwfts {
			    col elts
			    col nnts
			    col llts
			    col octs
			    col enerts
			    col rcutts
			    col rcutusts
			}
		    }
		}
	    }
	}	
    }

    section -title {Notes} {
	
	text {
	    For PP generation you do not need to specify namelist &test, UNLESS:
	    
	    1. you want to use a different configuration for unscreening wrt the
	    one used to generate the PP. This is useful for PP with semicore
	    states: use semicore states ONLY to produce the PP, use semicore 
	    AND valence states (if occupied) to make the unscreening
	    
	    2. you want to specify some more states for PAW style reconstruction of 
	    all-electron orbitals from pseudo-orbitals
	}

	subsection -title {Output files written} {

	    text {
		* file_tests            "prefix".test    results of transferability test

		for each testing configuration N:

		* file_wavefunctions    "prefix"N.wfc     all-electron KS orbitals
		* file_wavefunctionsps  "prefix"Nps.wfc   pseudo KS orbitals
		
		if lsd=1:

		* file_wavefunctions    "prefix"N.wfc.up  all-electron KS up orbitals
		* file_wavefunctions    "prefix"N.wfc.dw  all-electron KS down orbitals

		if rel=2 and lsmall=.true.:

		* file_wavefunctions    "prefix".wfc.small  all-electron KS small component

		if parameters for logarithmic derivatives are specified:

		* file_logder           "prefix"Nps.dlog  all-electron logarithmic derivatives
		* file_logderps         "prefix"Nps.dlog  pseudo logarithmic derivatives

		"N" is not present if there is just one testing configuration.
	    }

	}
	 
	subsection -title {Recipes to reproduce old all-electron atomic results with the ld1 program} {

	    text {	    
                * The Hartree results in Phys. Rev. 59, 299 (1940) or in
                  Phys. Rev. 59, 306 (1940) can be reproduced with:
        
		    rel=0,
		    isic=1,
		    dft='NOX-NOC'

		* The Herman-Skillman tables can be reproduced with:

		    rel=0,
		    isic=0,
		    latt=1,
		    dft='SL1-NOC'

		* Data on the paper Liberman, Waber, Cromer Phys. Rev. 137, A27 (1965) can be 
		reproduced with:

		    rel=2,
		    isic=0,
		    latt=1,
		    dft='SL1-NOC'

		* Data on the paper S. Cohen Phys. Rev. 118, 489 (1960) can be reproduced with:

		    rel=2,
		    isic=1,
		    latt=0,
		    dft='NOX-NOC'

		* The revised PBE described in PRL 80, 890 (1998) can be obtained with:

		    isic=0
		    latt=0
		    dft='SLA-PW-RPB-PBC' or 'dft='revPBE'
		
		* The relativistic energies of closed shell atoms reported in PRB 64 235126 (2001)
		can be reproduced with: 
   
		    isic=0
		    latt=0
		    cau_fact=137.0359895
		    dft='sla-vwn' for the LDA case
		    dft='PBE'     for the PBE case  
		    
		* The NIST results in PRA 55, 191 (1997): 
		    
		    LDA:
		        rel=0
		        dft='sla-vwn'
		    
		    LSD: 
		        rel=0
		        lsd=1
		        dft='sla-vwn'
		    
		    RLDA
		        rel=2
		        rel_dist='average'
		        dft='rxc-vwn'
		    
		    ScRLDA: 
		        rel=1
		        dft='rxc-vwn'
	    }
	}
    }
}

