Manuel Eng
Manuel Eng
Yves Joly [email protected] Institut Nel, CNRS, Bt. F, BP 166 38042 Grenoble Cedex 9, France August 2011
-1-
-2-
Introduction
The FDMNES program calculates the spectra of different spectroscopies related to the real or virtual absorption of x-ray in material. It gives the absorption cross sections of photons around the ionization edge, that is in the energy range of XANES in the EXAFS. The calculation is performed with all conditions of rectilinear or circular polarization. In the same way, it calculates the structure factors and intensities of anomalous or resonant diffraction spectra (DAFS or RXD). FDMNES also allows the comparison of the simulated spectra to experimental ones with the help of objective criteria. The code uses two techniques of fully relativistic monoelectronic calculations (DFTLSDA) with optionally the Hubbard correction (LSDA+U). The first one is based on the Finite Difference Method (FDM) to solve the Schrdinger equation. In that way the shape of the potential is free and in particular avoid the muffin-tin approximation. The second one uses the Green formalism (multiple scattering) on a muffin-tin potential. This approach can be less precise but is faster. The program includes also a multi-electronic extension using the TimeDependant DFT with a local kernel. The program is symmetrized. Symmetry operations are calculated automatically. The next section contains the information for practical purposes to run the program and in particular the description of the indata files. An introduction to x-ray spectroscopies is available in French. The FDMNES program can be freely downloaded at the web address: http://www.neel.cnrs.fr/fdmnes In case of publication related to the use of the program thanks to cite: Y. Joly "X-ray absorption near edge structure calculations beyond the muffin-tin approximation" Phys. Rev. B 63, 125120 (2001). The FDMNES program highly benefited from the scientific contribution of Calogero Natoli who has provided a constant and essential help. He is in particular at the origin of all the developments using the multiple scattering theory and the extensions to resonant diffraction and magnetism. Oana Bunau realized the extension towards TD-DFT and participated to the inclusion of self-consistency and Hubbard correction. The program also benefited from the expertise of Delphine Cabaret, Hubert Renevier, Sergio Di Matteo, Christian Brouder, Aline Ramos and Emilio Lorenzo without whom different advances would have not been realized. Finally, this work has been made greatly easier with the support of Denis Raoux.
-3-
-4-
-5-
-6-
A- General presentation
I- Computer configuration
FDMNES run on all the computers, having at least 256 Mo of RAM, under LINUX or Windows. The programming language is Fortran 90. It uses the LAPACK library. There is no graphical output. The user must have got a Fortran 90 compiler. Nevertheless an executable files for Windows XP and LINUX 64 bits are also provided. The code can be run on parallel processors if it is linked with the MPI library.
-7-
parallel. The description of the local atomic base is modified (see keyword "crystal"). Calculations in the finite difference method mode are now faster when three fold axis are present. In March 2008, the symmetrization for the multiple scattering mode without spin-orbit is improved. The program contains also a new module allows the building of new output files extracted from the scan files obtained after the convolution. These new files contain spectra or azimuthal scan at specific energy. In February 2009, the self-consistent calculations are introduced. There is by default an automatic evaluation of the Fermi energy. In January 2011, the Hubbard correction (LDA+U) and the Time-Dependant-DFT are introduced. This last works in the local mode (TD-LSDA, or ALDA).
IV- Compilation
All the Fortran routines must be compiled and linked with "mpif.h" in the same directory because these files are called during the compilation. "sub_util.f" is a file containing different routines from the Lapack and Blas library. It can be advantageous to replace it by the calling to these libraries. When using a Cray, one has to: - modify the calling to lapack routines have a different name (zgetrf, zsytrf, zgetri, zsytri in routine invcomp). Lines to modify are spotted by the comment !cray. - modify in the procedure timesec is in the file main.f, the calling to time, changing the two lines : tps4 = secnds(0._4) tps = dble(tps4) by the only line: tps = second()
V- Parallelization
Thanks to Keisuke Hatada, Kuniko Hayakawa and Rainer Wilcke, the user shaving the access to a cluster of computer can using the MPI library, run the program in parallel mode. For this one has to delete the files "mpif.h" and "not_mpi.f" when compiling and make the call to the corresponding library.
VI- Running
After compilation, the program can be run following the usual procedure available on your system. The files "xsect.dat" and "spacegroup.txt" must be set in the same directory than the executable file because they are used in some cases. As soon as the program is running, it calls the file "fdmfile.txt". This file must be in the same directory than the executable file. It only contains the number of independent calculation to perform, followed the name of the indata file of each of these calculation. For example: ! Indata file for fdmnes 1
-8-
example/cu/cu_inp.txt
VII- Troubleshooting
When the program stops without reason, check if an fdmnes_error.txt file has been created. When created, this file contains a message explaining the trouble. Most often it is due to an error in the indata file. It can also be due to the fact that the indata file is not found. One has to check several points: 1) The called files are in the good directory. The name must contain all the paths. 2) The extensions are correct. 3) Their names are OK (under linux, upper and lower cases must be respected). 4) When using downloaded indata files, some problems of compatibility between systems can occur. It can be better to write again completely these files. 5) Avoid the tabulation. Their presence can give strange comments in fdmnes_error.txt. When the program stops without fdmnes_error.txt file, it can be due to a problem of space memory. (Sometimes one gets a message with stacking fault). In this case try again putting in the indata file the keyword Memory_save. This keyword can be useful when there are many non equivalent atoms. An approximation (in fact very good) is then done on the potential calculation. This option saves some memory space.
-9-
Choose of the parameters, indata file reading Loop over the position or charge parameters Calculation of the XANES spectra and DAFS amplit. Loop over the shift and convolution parameters Convolution and calculation of the DAFS intensities
In the output files, the absorption cross section are in Mbarn (1 Mbarn = 10-18 cm2) and summed up over the atoms of same chemical specie in the unit cell or in the cluster. To h eV convert in number of electron one has to multiply by C = = 0.004555352 h eV , 2 800 2 aOR where R, et a0 are respectively the Rydberg constant, the fine structure constant and the Bohr radius in Angstrm, h eV is the photon energy in eV. One has also to divide by the number of atoms if one wants the result per atom. The intensities of the reflexions are in quare of number of electron. The next chapter treats about the principal indata file for the step XANES and DAFS calculation. Generally this file is sufficient to describe all the necessary data for the calculation because the program calculates its atomic bases and the potential. Nevertheless, the user can prefer use its own atomic bases or uses directly the potential calculated by the band structure program FLAPW WIEN-2k. In both cases, some other files must be furnished. They are described further in the manual. The indata necessary for the steps Convolution, comparison with the experimental spectra and Extraction of azimuth scan or spectra can be set in the same indata file, but they are explained separately in the chapter C, D and E.
- 10
3.610 3.610 90. 90. 90. 0.0 0.0 0.5 0.0 0.0 0.5 0.5 0.5
Two blocks are necessary for any calculations. The first one starts with the keyword "rayon" or radius followed by the value of the radius inside the calculation is performed. The second one is necessary to describe the material structure. When that one comes from the output of the WIEN-2k package, it begins with the keyword "flapw". In the other cases, the molecule structure or the elementary mesh, in case of a 3D structure, is described in the file. This description starts respectively with the keyword "molecule" or "crystal" (or "cristal").
- 11
All the keywords related to the convolution or to the fit of the parameters are treated in chapter C and D.
Output file names By default the output file name is fdmnes_out. This name can be modified by the use of the keyword "filout" followed by the name we want (without extension). There will have several output files by adding the extensions: _bav.txt output file giving details .txt contains only the spectra by column If a calculation is performed on several non equivalent crystallographic sites, one gets the extensions: _i.txt, _j.txt where i and j are the index of the sites (see keyword absorber) In option or depending on the type of calculation, one can also get the files: _conv.txt convoluted spectra scan (keyword Convolution). _scan.txt dafs versus angles for azimuthal scan (keyword rxs). _sda.txt state density for the atom number a (keyword density). _atoma.txt results for one atom at position number a (keyword allsite). _atoma _scan.txt rxs scan results pour for the atom a (keyword allsite and rxs). _tddft.txt output with the TDDFT option (keyword tddft). _tddft_scan.txt azimuthal scan in the TDDFT option (keyword rxs and tddft). _tddft_conv.txt convoluted spectra in TDDFT (keyword Convolution and tddft). For the analysis of the spherical tensors (keyword spherical and sphere_all) _sph_atoma.txt spherical tensors of the atom a. _sph_atoma_int.txt integral of the spherical tensors of the atom a. _sph_signal_atoma_xan.txt contribution of each atomic spherical tensor on the average xanes signal. _sph_signal_atoma_poli.txt contribution of each atomic spherical tensor on the xanes polarisation number i. _sph_signal_atoma_rxsi.txt contribution of each atomic spherical tensor on the rxs reflection number i. _sph_signal_xtal_xan.txt contribution of the crystal spherical tensor on the average xanes signal. _sph_signal_xtal_rxsi.txt contribution of the crystal spherical tensor on the rxs reflexion number i. _sph_xtal.txt spherical tensors of the crystal. _sph_xtal_int.txt integral of the spherical tensors of the crystal. _sph_xtal_rxsi.txt spherical tensor of the crystal for the rxs reflexion number i. For the analysis of the cartesian tensors (keyword cartesian): _car_atoma.txt cartesian tensors of the atom a. _car_xtal.txt Cartesian tensors for the crystal _car_xtal_rxsi.txt Cartesian tensors for the crystal for the rxs reflection number i.
- 12
II-2) Radius of the cluster The final states are calculated inside a sphere, whose radius is defined with the keyword "radius" (or "rayon"). Only the atoms inside this sphere are considered. Radius 3.5 Obligatory keyword preceding the radius of the cluster. value in Angstrom of the cluster radius.
II-3) Cluster or crystal structure Under "crystal" or "molecule" stand all the data describing respectively the unit mesh or the molecule. If the calculation is done using the flapw output, this block is useless because the structure is red in one of the flapw output files. Under the keyword, come the mesh parameters () and the angles (degrees). Then come all the atoms (and not only the non equivalent ones, but when one specify the space group using the keyword "spgroup"). By default and in the absence of the keyword "absorber", the absorbing atom chemical specie corresponds to the first atom in the list. Example 1. cfc copper crystal: Crystal 3.610 29 0.0 29 0.5 29 0.5 29 0.0 Crystal structure (or cristal) a, b, c, , , Atomic number, position
Example 2. FeO6 octahedron: molecule 1.900 26 0.0 8 1.0 8 -1.0 8 0.0 a, b, c, , , Atomic number, position
- 13
8 8 8
The atomic structure can also be given in cylindrical or spherical coordinates. To use cylindrical coordinates, it is sufficient to give only two numbers under "molecule". The program will understand they are a and c and that the positions of the atoms are given by r, and z. Thus to describe the same octahedron as previously: molecule 1.900 1.900 26 0.0 0.0 8 1.0 0.0 8 1.0 180.0 8 1.0 90.0 8 1.0 -90.0 8 0.0 0.0 8 0.0 0.0 a, c Atomic number, position
To use spherical coordinates, only one number (a) must be set after "molecule". The position of the atoms is then given by r, , . For the same octahedron: molecule 1.900 26 0.0 0.0 8 1.0 90.0 8 1.0 90.0 8 1.0 90.0 8 1.0 90.0 8 1.0 0.0 8 1.0 180.0 a Atomic number, position
It is possible, in the non magnetic case, to specify only the non-equivalent atoms. Then one has to give the space group under the keyword "Spgroup". The complete name as in the international table must be given. For example, for the magnetite, one gets: Spgroup Fd-3m:1 it is also possible to write 227:1
Crystal 8.3940 8.3940 8.3940 26 26 8 .6250 .0000 .3800 .6250 .0000 .3800
Note that for the calculation of the symmetry, it is important de define the atom position with a sufficient number of digits (say 10). For instance, for graphite one has to write:
- 14
Spgroup P63mc Crystal 2.456 2.456 6.696 90. 90. 120. = a, b, c, alpha, beta, gamma 6 0.0 0.0 0.0 6 0.3333333333 0.6666666667 0.0 Putting in the last line for example 0.3333, would create false atoms. Program would stop immediately with an error message. It is also possible to have an occupancy rate not full for the atoms. Fot this _t must be add after keyword crystal or molecule and a fifth column after the atom position contain this weight : (or Molecule_t) Crystal_t 2.456 2.456 6.696 90. 90. 120. 6 0.0 0.0 0.0 0.8 weight 80 % 6 0.25 0.25 0.0 1. weight 100% This value is taken into account in absorption just for the absorbing atom and for RXD as a weight on the scattering amplitude.
II-4) Atomic electronic densities An electronic configuration is used by default for all the atoms. It is possible to modify it by the use of the keyword "atom". Moreover under "crystal" or "molecule" one must not anymore put the atomic number, by the atom type number. For example in case of a 6 2 2 4 FeO6 octahedron with the Fe 3d 4s and O 2s 2p configuration: Atom 26 2 3 2 6. 4 0 2. 8 2 2 0 2. 2 1 4. keyword preceding the atomic electronic densities atomic number of the chemical specie of type 1, number of valence orbital and (n,l,pop) of each of these orbitals a, b, c, , , Atom type, position
molecule 1.900 1.900 1.900 90. 90. 90. 1 0.0 0.0 0.0 2 1.0 0.0 0.0 2 -1.0 0.0 0.0 2 0.0 1.0 0.0 2 0.0 -1.0 0.0 2 0.0 0.0 1.0 2 0.0 0.0 -1.0
Important remark: contrary to what one can think, the formal charges attributed to the atoms in the ionic compounds are far from the true charge. Thus one has to perform exchange of charge between atoms with care and in a moderate way. A good technique is to set the good number of d electron, following the formal charge, but keeping the neutral atom, putting electrons in the large radius 4s or 4p orbitals for a transition metal.
- 15
II-5) Absorbing atoms All the atoms present in the structure participate to the scattering. By default, the calculated spectra correspond to the sum of the scattering produced by all the atoms of the same atomic number than the first one in the list under "crystal" or "molecule". When using the keyword "extract" or one wants to select some of the absorbing atoms one has to use the keyword "absorber". For example, if one wants that the absorbing atom is th the n of the list and only this one (under "crystal" or "molecule"), put: Absorber 3 absorbing atom number (here the 3rd in the list).
If this example goes with the FeO6 structure defined just above, the result in the output file would correspond to a calculation of an oxygen atom summed over the 6 atoms because they are equivalent by symmetry. If one wants the result from a unique site, use the keyword "symsite" or "allsite" (see further on). If there are non equivalent sites, one has to perform independent calculations. For this, one must specify each atom number under "absorber". The name of each of the corresponding output file get the suffix "_n" where n it the atom number. Filout copper_out Absorber 15 atom numbers from the results will be put in the output file copper_out_1 and copper_out_5 The summation over these different sites and the eventual energy shifts is to be performed during a following step.
II-6) Energy range The energy range E that one defines in the indata is the energy of the photoelectron relative to the Fermi level. The kinetic energy, Ec, of the photoelectrons when they leave the cluster must be positive. Ec is related to the input energy by: Ec = E - W - Vm, where W is the work function and Vm the average potential (equivalent to the muffin-tin ground) in the cluster. In the case of a calculation using the flapw the coulombian part of the average potential Vm is zero. So Vm is greater than zero. Thus the work function is not anymore subtracted and the input energy is defined relatively to the vacuum. By default the energy range is -5 to 60 eV by 0.5 eV step. One can change the range, the step or even have a variable step using: Range 1. 0.5 60. keyword for the energy range (or gamme) Emin, step, Emax
- 16
Other example with variable step: Range 1. 0.1 10. 0.5 20. 1. 60.00 E min, step, E intermediate, step
To get a continuously increasing step (k step constant) put: Rangel 1. 0.1 200. E min, step at the Fermi level, E max
By default, the output energy range is relatively to the Fermi level. If one wants that the output energy is the photon energy put the keyword: energpho
II-7) Multiple scattering mode If one wants to calculate in the multiple scattering mode use the keyword: Green Then the potential is automatically a muffin-tin one. The mode is faster than the finite difference method, so one has to use it first.
II-8) Threshold type By default the threshold is the K one. For other threshold put the keyword: Edge L1 keyword preceding the threshold type (or seuil) threshold (K, L1, L2, L3, M1 )
It is possible in a single run to calculate 2 edges with the same initial (n,l), that is the edges L2 and L3 or M2 and M3 or M4 and M5 For this write: Edge L23 keyword preceding the threshold type threshold L2 and L3, or M23, M45, N23, N45.
In this case, one gets two output files with the suffixes _L2 and _L3.
- 17
II-9) Multipolar expansion By default only the transition electric dipolar component (E1E1) is calculated. This is modified by the keywords: Quadrupole Octupole Dipmag E1E2 E2E2 E1M1 M1M1 No_E1E1 No_E2E2 No_E1E2 No_E1E3 quadrupolar calculation (E1E2 and E2E2) octupolar calculation (E1E3) magnetic dipole calculation (E1M1) and (M1M1) calculation of E1E2 calculation of E2E2 calculation of E1M1 calculation of M1M1 No calculation of the dipolar-dipolar component (E1E1) No calculation of the quadrupolar-quadrupolar component No calculation of the dipolar-quadrupolar component No calculation of the dipolar-octupolar component
II-10) Polarization and dichroism By default the calculation is performed along 1, 2 or 3 orthogonal polarizations in the dipole mode (and up to six in quadrupolar) depending of the symmetry. The polarizations are chosen along the axis of an internal basis in the program. By default the result is given in the output file only for their average, corresponding to a powder. If one wants to have the XANES along specific orientations of the polarization or the wave vector (in quadrupolar) orientations or if one wants to make circular dichroism, one has to introduce: Polarize Thus, one gets the calculations for the different independent polarizations, then, in the last column, the average. To get specific polarization orientation, the keyword must be followed by the polarizations: Polarize 1.0 1.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0 For a quadrupolar calculation, one has to specify the wave vector after the polarization: Polarize 1.0 1.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0
Each line contains the polarization vector, the wave vector. If the wave vector is zero this polarization is calculated in the dipolar approximation.
- 18
It is possible to perform an average on different polarizations adding a new number at the end of the line is the corresponding weight. If at least two weights are non zero, in the output, there will be a new column with the weighted average of the different polarization. Polarize 1.0 1.0 0.0 1.0 -1.0 0.0 0.0 0.0 1.0
If one wants to have a circular polarization, one just has to put this one to zero followed by the value of the wave vector: Polarize 0.0 0.0 0.0
In the output one will have the calculation in right polarization, then the left polarization, then the difference. In this example, the calculation corresponds to the polarization x+iy and x-iy.
II-11) Anomalous or resonant diffraction In case of anomalous (or resonant) diffraction (DAFS, DANES, RXS, RXD) calculation, put the keyword "dafs" (or "rxs") followed by the index of the beams to calculate. The orientation of the polarization and wave vector can be described by different way. When working in , , or s, or in circular polarization, put the number 1, 2, 3, 4 or 5 for the polarization respectively , , circular right, circular left or rectilinear along a general direction, in input then in output. Then one specify the azimuthal angle between the incidence plane with a (I,J,Q) base such that: Dafs 0 0 2 1 2 45. 0 0 2 1 1 45. reflection indexes, , , azimuth reflection indexes, , , azimuth
When the polarization is rectilinear but not or , but with an angle such that = 0 when it is and 90 when it is , one must write: Dafs 0 0 2 1 0. 5 10. 45. 0 0 2 1 0. 5 -10 45. reflection indexes, , angle, rectilinear, angle, azimuth
Note that in this case, one must specify both incoming and outgoing polarization angles, even when one of them is , or circular. When it is circular, the angle is not taken into account. (I,J,Q) is such that: Q is the normalized diffraction vector r r r r k Q I =Q r r k Q r r r J =QI
- 19
r r r r r c r a but when Q is along Oz, in that case k is substituted by i . k = and i = are the bases c a vectors of the direct elementary mesh. One then gets, versus the Bragg angle and the azimuthal angle the incoming and outgoing wave vectors: r r r r v e = cos cos I cos sin J sin Q , r r r r v s = cos cos I cos sin J + sin Q . For the and polarizations, one gets: r r r = sin I + cos J r r r r r r e = v e = sin cos I sin sin J + cos Q r r r r r r s = v s = sin cos I + sin sin J + cos Q r rr r r r For example: orthogonal mesh, beam (h,0,0), I , J , Q = k , j , i 1 1 0. corresponds to - with polarization along -j. 1 1 90. corresponds to - with polarization along k. r r r r r r orthogonal mesh, beam (0,0,l), I , J , Q = i , j , k corresponds to - with polarization along j. 1 1 0. 1 1 90. corresponds to - with polarization along i.
) (
) (
If one does not put the angle, this implies that one performs a phi scan and all the amplitudes are calculated for all the angles by 2 step. There is then a supplementary output files with the extension "_scan.txt". It is also possible to perform a 360 scan by 2 step for the rectilinear incoming or outgoing polarizations. For this, one has to write 10 in place of the sigma-pi notification:
The first value (angle = 0) corresponds to the polarization. 90 corresponds to polarization. It is possible to write the exact polarization directions. This can be useful for peculiar uses as in photoemission. In case of rectilinear polarization write:
Reflection index e, ve s, vs
0. 1. 0. 0. 1. 0.
- 20
When one does not want phase term between atoms, for example to simulate photoemission, just write 0 0 0 as reflection index. Note that it is possible to choose any other origin for the azimuth, just using another r r r r vector than k (or i ) to define the basis vector I and J . For this just write:
Zero_azim 0. 1. 1.
It is now possible to calculate the self absorption corresponding to the incoming and outgoing photon polarizations. For this put the keyword:
Self_absorption
Then one gets in the output files, after each reflection two new columns containing these data. The unit, like for XANES is the Megabarn. They contain after the convolution also the absorption coming from the other atoms and the other edges. That is that the absorption before the edge is not zero. The new data allows the correction due to the self absorption in order to compare with experimental spectra.
Magnetism
By default this calculation is done neglecting the spin-orbit coupling. If one wants to take into account this last put the keyword:
Spinorbite
The keyword "magnetism" is thus useless. If the polarized potential comes from LAPW, "spinorbite" or "magnetisme" must be before "flapw". With the spin-orbit interaction, the calculation is automatically relativistic. To get a non relativistic calculation put:
Nonrelat
When the calculation does not use the flapw output, the use of the keyword "atom" is necessary to specify the electronic configuration, different for the spin up and spin down parts. The orbital occupancy must be given for each spin in doubling the corresponding columns. Example of metal fcc nickel:
Magnetism
- 21
Atom 28 2 3 2 5. 4. 4 0 0.5 0.5 Crystal 3.52387 3.52387 3.52387 90. 90. 90. 1 0.0 0.0 0.0 1 0.5 0.5 0.0 1 0.5 0.0 0.5 1 0.0 0.5 0.5
The configuration is 3d 4s1 with 5 electrons 3d up and 4 electrons 3d down, 0.5 electron 4s up and 0.5 electron 4s down. In case of an antiferromagnetic structure, one must put a minus sign in front of the atom type number to specify the atom with the reverse spin. For example in V2O3 monoclinic:
9
Atom 23 3 3 2 2. 0. 4 0 1. 1. 4 1 0.5 0.5 8 2 2 0 1. 1. 2 1 2. 2. Crystal 7.255 5.002 5.548 90.0 1 0.34380 0.00080 0.29910 1 0.65620 0.99920 0.70090 1 0.84380 0.99920 0.29910 1 0.15620 0.00080 0.70090 -1 0.84380 0.50080 0.79910 -1 0.15620 0.49920 0.20090 -1 0.34380 0.49920 0.79910 -1 0.65620 0.50080 0.20090
2 2 2 2 2 2 2 2 2 2 2 2 0.40700 0.09300 0.59300 0.90700 0.90700 0.59300 0.09300 0.40700 0.25000 0.75000 0.75000 0.25000 0.84500 0.84500 0.15500 0.15500 0.34500 0.34500 0.65500 0.65500 0.19100 0.80900 0.69100 0.30900 0.65200 0.34800 0.34800 0.65200 0.15200 0.84800 0.84800 0.15200 0.00000 0.00000 0.50000 0.50000
96.75 V8 V6 V3 V7 V4 V5 V2 V1 O 1 8f O 2 8f O 3 8f O 4 8f O 5 8f O 6 8f O 7 8f O 8 8f O 1 4e O 2 4e O 3 4e O 4 4e
90.0
Relativism
- 22
in unit mesh
Another way to specify this axis is using the Euler angles. The orthogonal basis to do that is such that z is along c, but for trigonal system where z is along the hexagonal axis, x is along b x c and y is along z x x. One then has to write:
rotation around z, then around y, then around x. In this case spin axis is along (1,1,0) in the internal basis
Note that it is possible to define non collinear spin using atomic local basis. In this case one has to define the Euler local angles after the keyword crystal or molecule, in the line just before the corresponding atoms. See non spherical atom. Example:
Crystal 7.7400 7.7400 3.8400 90. 90. 90. 45. 90. ! spin axis along (1 1 0) 1 0.0 0.0 0.0 2 0.25 0.25 0.5 135. 90. ! spin axis along (-1 1 0) 1 0.5 0.0 0.0 2 0.75 0.25 0.5 315. 90. ! spin axis along (-1 -1 0) 1 0.0 0.5 0.0 2 0.25 0.75 0.5 225. 90. ! spin axis along (1 -1 0) 1 0.5 0.5 0.0 2 0.75 0.75 0.5
No_Fermi
To perform a self-consistent calculation, use the keyword:
SCF
- 23
The calculation is then really self-consistent. The potential is calculated again at each cycle. The final XANES calculation uses this SCF potential. By default the convolution uses the calculated Fermi energy as cutting energy. When using SCF calculation, the cluster radius for the SCF is the same than the one for the XANES. For a single evaluation in one cycle of the Fermi energy the radius is equal to the minimum between the XANES cluster radius and 3.5 A. In both cases, this radius can be change using the keyword :
R_self 3.
Value of the radius for the SCF and/or Fermi energy evaluation.
With SCF calculation, the maximum number of cycle is fixed to 30. To modify this number use the keyword:
N_self 20
The electronic density of the cycle n+1 is interpolated between the electronic density of the two previous cycles. The initial weight of the cycle is 0.1. This weight decreases or increases according to the quality of the convergence between the initial value and one tenth of this one. To change this initial weight use:
P_self 0.05
Initial weight.
The convergence is considered as realized when the variation of the total energy is less than Na x Econv, where Na is the number of atom and Econv a criteria fixed at 1 eV. To modify Econv put:
SCF_exc
Memory_save
- 24
TDDFT
Then a first monoelectronic (LSDA) calculation is performed, followed by the TDDFT cycle. Then a correction is performed making a mixing between the edges. This can be useful for the L23 edges of the transition 3d elements. Calculations use a local Kernel with its Coulomb and exchange-correlation parts. To have only the Coulomb part, use the keyword:
RPA
- 25
keyword preceding the atomic electronic densities name of the file containing the excited atom name of the file containing the type 1 atom name of the file containing the type 2 atom
One can also put one or several atoms calculated internally among the exterior files:
name of the file containing the excited atom name of the file containing the type 1 atom type 2 atom calculated internally
Once defined the atoms types, the molecule or mesh description uses the atom type number and not the atomic number. For example, for the cfc copper crystal:
excited copper file standard copper file Crystal structure a, b, c, , , Type number, position
The first index is now the atom type number (but the excited one) in the list under atom.
Clementi
Note that the Clementi basis exists only for Z < 55. When using this basis, the selfconsistent calculations are not anymore possible as well as the automatic evaluation of the Fermi level (The program takes automatically the option No_Fermi ).
- 26
molecule 1.9 1.9 1.9 90. 90. 90. 0. 45. 0. 1 .0 .0 .0 1 0. 0. 0. 0. 0. 0. 1. 0. 0. 1. 2 1.0 0.0 0.0 2 -1.0 0.0 0.0 2 0.0 1.0 0.0. 2 0.0 -1.0 0.0
a, b, c, , , 45 rotation around the Oy axis there is one non spherical orbital (l,m) in the natural order, here (l=2,m=0) has 1 electron
III-5) Screening
By default, the screening is one electron on the first non full valence orbital of the absorber. If one wants to modify this value or the number of the orbital, put the keyword screening or "ecrantage" followed by the quantum number of the valence orbital and the value in number of electron (better inferior to 1 !) of the screening. In this case the cluster is not anymore necessary neutral.
Screening 3 2 0.2
- 27
chlibre
Xalpha 0.3333
Remark : the value of the Xalpha parameter the closest to the other models is 2/3. In the case of using the exchange-correlation potential coming from flapw, if one wants to keep this potential independent of the energy put the keyword "xalpha" with any value beneath. The potential will not be Xalpha but the one calculated by flapw. If one prefers to use the Perdew and Wangs potential, put the keyword:
Perdew
This potential will be used with the parametrization of Moruzzi, Janak and Williams but keeping the energy dependency proposed by Hedin and Lundqvist.
V0imp -11.5
- 28
maximum value to this potential to avois this phenomena with the use of the keyword "vmax", followed by the value of this potential :
Vmax -6.
Eimag 0.1
The use of a small width (0.1 eV) is sometimes useful for the calculations at low kinetic energy of the photoelectron because the localized level (3d or 4f) can be too thin in energy to be correctly evaluated. It is even truer for photoemission calculation (see keyword "photoemission"). If this broadening is small it has no effect on the forthcoming convolution to take into account the widths of the hole and final states.
Rpotmax 15.
- 29
lplus1
In the same way if you want only the l-1 states put:
lminus1
Rydberg
Noncentre
If one wants to impose a specific center put:
Centre 0. 0.25 1.
Trace 0 1. 0. 0. 0. 0. 0.
l,a,b,c,p,q,r l = 1, cut along a line with vector (a,b,c) crossing the point (p,q,r) in unit mesh parameter l = 2, cut along the plane ax + by + cz = p l = 3, gives all the points
- 30
Density
There will get one output file more with the suffix _sd0.txt. Note that only the states members of the representations useful to get the asked spectra are calculated. Consequently, such produced density of state can be uncomplete. To get a complete projection for all the atoms put the keyword state_all in place of density. Calculation is then performed on all the representations (what can be longer). Then one gets n new output files with the extensions _sdi.txt, i being the atom number. In these files stand in column, first the integral of the total atomic electron density, then the density and its integral of each (,m) followed by the sum over m, that is the density and its integral for each . For magnetic calculation, the expansion is split in its up and down components. Usually for a transition metal, at the end of the d band, the integral must be close to 10 (because there are 10 d electrons!). At the end of the rather unlocalized s and p bands, the integrals rarely reach 2 or 6, because the electrons are counted only inside the atomic sphere of radius Rmstd (see in the bav file for its value). These orbitals having a rather big radius they are not all inside such atomic sphere. Calculation being performed in the continuum one also has to recall that n is not anymore a good quantum number. Consequently the integral continue to increase indefinitely with energy. At the end of a d (or f) band, rather localized, one nevertheless reaches more or less at 10 (or 14). In this case one can fin the Fermi level energy just looking the energy where the integral reach the supposed number of electron in the corresponding level of the atom. Sometimes the integral never reach 10 (or 14) or goes far higher. One of the reasons can be that the starting energy is too high, one thus looses the beginning of the band, another reason can be the energy grid is not sufficiently thin. One has, in this case to take a path smaller (down to 0.01 eV or even less for 4f elements). In order to avoid such a thin grid, it is also possible de broaden a bit these localized states using the keyword "Eimag" (this works only in "Green" mode).
Spherical
One gets new files with the extension _sph_atom1.txt and _sph_xtal.txt for the atom and crystal. If one uses such file as indata for the convolution process one gets the f and f of each tensor component of the atom. Another file _sph_int_atom1.txt contains the integral of the spherical tensors. To get the contributions of the tensor components on each polarization and reflections, put in place of "spherical" the keyword:
Sphere_all
- 31
Then one gets a series of output files with the extensions _sph_signal_xan.txt, _sph_signal_pol1.txt, _sph_signal_rxs1.txt for the contributions on each polarization and reflections. The number after pol or rxs is the number of the polarization or reflection.
Overad 1.2
distance over the last atom + its radius to take into account.
Extract c:\users\joly\xanout\calcul_prec_bav.txt
In case of calculations for different absorber position whose number is the number of output files, one has to extract the tensors from these n files if there are n non equivalent absorbing atoms. The use of the keyword "absorber" is then absolutely necessary. The list of the files under "extract" must correspond in number and in order to the list of atoms under "absorber":
- 32
For the same purpose on can apply symmetry operation on the extracted tensors. They are codified as explained in the manual with the symsite keyword. They must be given in the same order than the extracted files. These codes are given after the keyword extractsym:
Epsii 6253.1
Chemin 3
number of path
Cartesian
One gets a new output file with the extension _car.txt. Then one can use other keywords that make that from this output file will be calculated f and f for any tensor component. For this purpose put the keyword "fprim" in the indata file.
- 33
Allsite
One then gets, at most of the usual output files, new output files of the type atom1.txt, atom2.txt, etc The suffixes _atom1, _atom2 correspond to the number of the atom.
names of the output FLAPW files structure and symmetry coulombian potential exchange-correlation potential electronic density initial wave function
In case of polarized calculation the keyword "magnetism" must be before the keyword "flapw":
The last file contains the wave function of the initial core orbital. If one is ok with the initial wave function calculated internally, one can avoid it. One must in this case substitute the keyword "flapw" by "flapw_psi". If one wants to have an energy dependant exchange-correlation potential, one must add the keyword "hedin". By default, the absorbing atom is the first one in the struct file list. If one wants that th it is the n , put the keyword:
absorber n
- 34
Jump
Quadrupole Spinorbite
Endjump
III-27 Comment
It is possible to introduce a line of comment which will be copied in the output files. For this purpose write:
line of comment
Xan_atom
No_res_mag 0.8
factor
An additional factor can be applied to the contribution from the orbital moment. This factor corresponds to L/2S (and not L/S):
No_res_mom -0.3
By default, this factor is calculated using the Hund rules and multiplied by 0.2.
- 35
Values can go from 0 to 4 giving more and more for each routine. By default, there is 1 for all the routines. One can also write:
equivalent to icheck = 3 for all the subroutines equivalent to icheck = 0 for all the subroutines equivalent to icheck = 3 for all the subroutines concerning the potential equivalent to icheck = 3 for the matrices MSM or FDM equivalent to icheck = 3 for the subroutine sphere equivalent to icheck = 3 for the subroutine coabs
IV-2) Symmetry
The point symmetry is calculated automatically. Anyway the expert users can impose it by the keyword:
Sym 2/m
Schoenflies coefficient or international table of crystallography coefficient. Be careful that these symmetries are possible only for the mesh axis defined in the indata.
Base_spin
- 36
Basecomp
Symsite 3 ! Number of non equivalent atoms (or group of atoms) 4 ! Number of equivalent atoms, group 1 1 0.2500 0.2500 0.2500 24 0.7500 0.7500 0.2500 23 0.7500 0.2500 0.7500 22 0.2500 0.7500 0.7500 4 ! Number of equivalent atoms, group 2 1 0.0000 0.0000 0.0000 22 0.0000 0.5000 0.5000 23 0.5000 0.0000 0.5000 24 0.5000 0.5000 0.0000 4 ! Number of equivalent atoms, group 3 1 0.5000 0.5000 0.5000 23 0.0000 0.5000 0.0000 22 0.5000 0.0000 0.0000 24 0.0000 0.0000 0.5000
The negative indexes correspond to the same symmetry plus time reversal (in case of magnetism). Symmetry code: 1: identity 2: rot 2/3 around (1,1,1) 3: rot 4/3 around (1,1,1) 4: rot 2/3 around (1,-1,1) 5: rot 4/3 around (1,-1,1) 6: rot 2/3 around (-1,1,1) 7: rot 4/3 around (-1,1,1)
- 37
8: rot 2/3 around (1,1,-1) 9: rot 4/3 around (1,1,-1) 10: rot 2/2 around (1,1,0) 11: rot 2/2 around (-1,1,0) 12: rot 2/2 around (1,0,1) 13: rot 2/2 around (-1,0,1) 14: rot 2/2 around (0,1,1)
15: rot 2/2 around (0,-1,1) 16: rot 2/4 around 0x 17: rot 2/4 around 0y 18: rot 2/4 around 0z 19: rot -2/4 around 0x 20: rot -2/4 around 0y 21: rot -2/4 around 0z 22: rot 2/2 around 0x 23: rot 2/2 around 0y 24: rot 2/2 around 0z 25: inversion 26: rot 2/4 around 0x and inversion 27: rot 2/4 around 0y and inversion 28: rot 2/4 around 0z and inversion 29: rot -2/4 around 0x and inversion 30: rot -2/4 around 0y and inversion 31: rot -2/4 around 0z and inversion 32: rot 2/3 around (1,1,1) and inversion 33: rot 4/3 around (1,1,1) and inversion 34: rot 2/3 around (1,-1,1) and inversion 35: rot 4/3 around (1,-1,1) and inversion 36: rot 2/3 around (-1,1,1) and inversion 37: rot 4/3 around (-1,1,1) and inversion 38: rot 2/3 around (1,1,-1) and inversion
39: rot 4/3 around (1,1,-1) and inversion 40: plane perpendicular with 0x 41: plane perpendicular with 0y 42: plane perpendicular with 0z 43: diagonal plane y = z containing Ox 44: diagonal plane x = z containing Oy 45: diagonal plane x = y containing Oz 46: diagonal plane y = -z containing Ox 47: diagonal plane x = -z containing Oy 48: diagonal plane x = -y containing Oz 49: rot 2/3 around 0z 50: rot 4/3 around 0z 51: rot 2/6 around 0z 52: rot 10/6 around 0z 53: rot 2/3 around 0z, negative axe 54: rot 4/3 around 0z, negative axe 55: rot 2/6 around 0z, negative axe 56: rot 10/6 around 0z, negative axe 57: plane at 30 containing 0z 58: rot 2/2 around axe at 30 perp. 0z 59: plane at 60 containing 0z 60: rot 2/2 around axe at 60 perp. 0z 61: plane at 120 containing 0z 62: rot 2/2 around axe at 120 perp. 0z 63: plane at 150 containing 0z 64: rot 2/2 around axe at 150 perp. 0z
IV-6) Orientations
It is possible to restrict the calculation to the tensor components which are really useful. The keywords "ldipimp" and "lquaimp" are used for this purpose respectively for the dipolar and quadrupolar components:
will calculate only the 0x component will calculate only the xz component
- 38
Manuel FDMNES
etatlie 0.05
Normaltau
muffintin
Nonexc
to modify the muffin-tin radius to modify the interpoint distance To modify the order of the Taylor expansion.
- 39 -
Manuel FDMNES
lmax 3
If one wants to keep the energy dependant formula but adding 1, 2 or more to this formula, put a negative sign in from of l:
lmax -2
When the energy is increasing, max increases. By default the maximum value of max is set at 2 for Z = 1, at 3 for Z = 2 then at 4 for Z 18, then at 5 for Z 36, then at 6 for Z 54, then at 7 for Z 86 and 8 for Z over. To avoid this limitation put the keyword:
lmaxfree
When working using the finite difference mode, the connection to the outer sphere also needs an expansion in spherical waves. This one uses the same formula that for the atom but r is now the radius of the outer sphere. To modify this max one proceeds exactly in the same way with positive value to fix an energy independent value, and negative value to keep the formula but adding to the formula. By default the additional value is 5. The key word is now lmaxso:
lmaxso 20
Norman
If one wants than the muffin-tin radius is the half value of the interatomic distance, introduce the keyword:
Raydem
- 40 -
Manuel FDMNES
By default there is a 10% overlap between the spheres. If one wants modify this put the keyword "overlap" followed by the value of the overlap:
Overlap 0.15
15% overlap
If one wants that the muffin-tin radius be determined by the value it gets when the atomic potential is equal to the interstitial potential, put the keyword rmtv0, followed by the value of this potential ( takes place the one define by the keyword v0imp):
Rmtv0 -12.
If one wants to impose the radius for each chemical species put rmtimp followed by the radius in Angstrm for each of them.
To limit potential jump between the interstitial area and the muffin-tin sphere, a linear interpolation on the potential is performed in the last 10% of the radius. For this put:
Supermuf
Length_word 16
- 41 -
Manuel FDMNES
Length_line 4000
Core_resolved
It is then possible in the step convolution to select one of these states.
- 42 -
Manuel FDMNES
C- Convolution
The fdmnes program allows performing: 1) the convolution by a lorentzian of absorption spectra eliminating the occupied states. For the anomalous diffraction, it makes the integration over energy of the unoccupied states then calculates the intensity of the diffracted peaks. 2) a weighted summation over different outputs of the fdmnes program. This summation can include a relative shift between the spectra. This step of the calculation can be done together with the previous one, just adding the corresponding keywords. It can also be done independently, writing another input file contains only the keywords related to the convolution. Here comes an example:
To give the file name resulting from the previous step. name of the file To give the file name of the convoluted spectra name of the file keyword to specify an arctangeant shape for the broadening keyword to specify the Fermi energy (EF) relative to the calculation
Calculation g_rs43.txt
To give the file names resulting from the previous step. name of the file
To give the file names resulting from the previous step. name of the file 1 weight, shift name of the file 2 weight, shift
The weight is applied on the XANES and the anomalous scattered amplitudes. For the RXS calculations, the output files, before convolution contain in second line the Thomson
- 43 -
Manuel FDMNES
factors plus the anomalous par of the non resonant atoms. The weighting applied on these terms is the weight divided by the sum over the files of the different weights. In this way is taken into account the average configuration for substitutions of atoms of different chemical specie on the same sites, but when it is the resonant atom, one has not an occupancy rate equal to one. In this last case one also has to use the keyword Thomson. The name of the convolution output file is by default the input file name with the added suffix "_conv.txt". Anyway it is possible to impose another name with the keyword:
Conv_out Fe_rs64_sum_conv.txt
If there is an azimuthal scan in anomalous diffraction, one has also to give the corresponding indata file names (type _scan.txt) and the new output file. This is set after the keyword "scan":
name of the indata dafs file 1 name of the indata dafs file 2 name of the new output file with the convoluted scan
To specify a working directory put the keyword directory followed by the directory name with at the end the separator (/ or \):
b) Fermi level
The states beneath the Fermi level are occupied. Thus the cross section is set to zero, before convolution. By default, when in the previous step the No_Fermi keyword was used, this level is set to -5 eV. Nevertheless most often, this value must be specified with the keyword:
Efermi -5.5
The Fermi level is applied before the energy shift because in principle it is used to simulate the core level shift. Anyway it is possible to apply it after the shift adding the keyword:
Dec
It is also possible to have different values of the Fermi level for the different files. This is written in third column after each file name:
- 44 -
Manuel FDMNES
To give the file names resulting from the previous step. name of the file 1 weight, shift, Fermi level name of the file 2 weight, shift, Fermi level
The Fermi energy written under "Efermi" when specified, is then not considered.
c) Convolution width
The convolution to apply depends on the core level width (Hole) and the final state width. Hole is automatically determined. Nevertheless, it is possible to modify it with the keyword:
Gamma_hole 2.05
To have different values of Hole for a double edge like L23, just put 2 numbers. There are different ways to calculate the energy dependant broadening. The first one uses an arctangent formula: m 1 1 = Hole + m 1 + arctan e 2 3 E L arg 2 e E EF with: e = where m, Ecent and Elarg are respectively the maximum width (at high Ecent energy) of the final state, the center and the width of the arctangent function. The depth at the center of the arctangent is m/Elarg. A typical curve is given bellow:
Width_(eV) lambda_(A) 20
15 E 10
max
cent
Convolution
- 45 -
Manuel FDMNES
Default values for Elarg , Ecent and m are respectively: 30, 30 and 15 eV. It is possible to modify them with the keywords:
Ecent Elarg
In the convolution, along the integration it is the width of the running energy which is taken. It is possible to use the width of the final state energy corresponding to the energy of the elastic photon. One then makes the integration with a constant width. This procedure seems improve the agreement with experiment especially in the pre-edge range where the other procedure increase the background. The author does not understand why. To do this use the keyword :
Gamma_fix
It is also possible to use the Seah-Dench formula for the calculation of the broadening. In this case one gets: Ep Am E p 1 + Hole , = = + , with: Ep = E EF. m + AE p m A Ep This is performed with the keyword:
Seah 1. 20.
A,m One can also use a simple table with the keyword "table":
When the keyword "Efermi" is used without the keywords "Convolution" or "Seah", the width of the convolution is constant and equal to the width of the core hole. In all cases, the curve shape can be obtained in a specific output file named gamma_conv.txt when using the keyword:
Check_conv
- 46 -
Manuel FDMNES
To simulate the experimental resolution, it is also possible to convolute by a Gaussian. This convolution is performed after the lorentzian. For this write:
Gaussian 1. 0.05
This same convolution can be used as a first approximation to simulate the thermal vibration effects. This is valid only in the extended part of the spectra. In this case one applies the rule kr = constant and the convolution width becomes proportional to the energy. The parameter to write is the relative vibration amplitude in relation to the interatomic distance. This is done, writing a second number under "Gaussian":
Gaussian 1.
d) Other keywords
To not take into account the Thomson factor f0 (as for a forbidden beam) put:
Forbidden
To get output spectra starting at a lower energy put:
Estart -8.
When there are several indata files, the program uses only the intersection of the energy ranges. To use the total range put the keyword:
Nocut
To get in the output file, the f and f values, put the keyword:
Fprime
In the output file for each reflection, there are three columns, f, f then intensity. The intensity is for the mesh, f and f are for one atom of the mesh. f contains also f0. To get only f, put also the keyword "forbidden". To get the isolated atomic f and f:
Fprime_atom
The values of the atomic f and f are then in a new output file with the extension _fprime_ato.txt
- 47 -
Manuel FDMNES
It can be useful to impose specific value for each RXS reflections for the non resonant (Thomson) structure factors and the resonant one of the other atoms. That is:
r r iQ . Ra
and where pa is the site a occupancy rate. This is the case for example for occupancy rate non equal to one. These complex terms taken as a constant in all the energy range can be introduced through the keyword:
Photoemission
With the keyword "photoemission", it is the photoemission spectra which is calculated. In such calculation the cutting is simply above the Fermi level and not beneath it as in xanes. The convolution broadening is the independent of energy and is fixed by default to the hole width. This with can nevertheless been modified by the use of the keyword "Gamma_hole". Note that would have interest having previously performed a calculation in "green" mode with a minimum energy width (keyword "eimag") at least 0.1 eV, all this within an energy range convenient for photoemission.
S0_2 0.8
When setting S0_2 = 0, in diffraction, one keeps only the non resonant term.
- 48 -
Manuel FDMNES
Selec_core 1 Number of the selected initial state. For a K edge resolved in spin, this correspond to the 1s1/2, that is to a pure spin down state, the number 2 corresponds to spin up.
- 49 -
Manuel FDMNES
D- Parameter optimization
It is possible to compare the calculated spectra to the experimental ones with the help of metric distances and R factor. The metric distances to compare the individual theoretical
(i (i ) ( f th ) ) and experimental ( f exp ) spectra are given by: ( D1 i ) = ( D2i ) = 1 2 1 2 ( fthi ) (e ) ( Fthi ) (e ) E max (i ) f exp (e )de , (i ) Fexp (e )de ,
c1 C1
i th
1 i cexp 1 i Cexp
i th
f (e)de
E min
The F are the integrals of f. The R factor is a conventional one (see E. Zanazzi and F. Jona, Surf. Sci. 62, 61 (1977)) given by:
( R Xi ) = 13 e 6 ( (i ) ci fthi ) (e) fexp (e) 2
(i ) f exp (e)
( RXi ) =0 ci
Then for n different spectra, one gets the total metric distance or R factor by: () ( 6 and D1, 2 = pi D1,i2 R X = 13 23n + 2 pi R Xi ) 3
i =1, n
i =1, n
j =1, n
( j) ( j) E max E min
(i ) (i ) Emax E min
It is possible to vary some parameters in order to optimize the agreement between calculation and experiment. Then results are given for a multi-dimensionnal grid of parameters. The values of the metric distances are given in a special output file. By default for a complete calculation, the file name is the fdmnes conventional output file name with the suffix _fit.txt. For a calculation starting calculating the convoluted spectra, the default output file name is fdmfit_out.txt. This name can be modified using a specific keyword. To do this task different keyword must be added in the main indata file:
Keyword preceding the file names containing the experimental spectra. Minimum and maximum energy shift between calculation and experiment and number of value to test Keyword preceding the output file name containing the metric distances Keyword preceding any group of correlated parameters Keyword to specify the convolution broadening m as a parameter
- 50 -
Manuel FDMNES
In the previous example the parameters Posx and Posy of the atom 1 are completely correlated. Thus the atom is displaced along the diagonal. The parameters can be fitted are: For the convolution: Par_ecent Central energy for the arctangente Par_elarg Energy width for the arctangente Par_efermi Fermi energy Par_gamma_hole Hole width Par_gamma_max Maximum width for the final states Par_gauss Gaussian width (or resolution) Par_shift Energy shift Par_aseah First parameter of the Seah-Dench formula For the spectra calculation: Contraction or expansion of the mesh parameter a in % Contraction or expansion of the mesh parameter b in % Contraction or expansion of the mesh parameter c in % General contraction or expansion in % Value of the unit mesh angle Value of the unit mesh angle Value of the unit mesh angle Orbital occupancy Atom position along x Atom position along y Atom position along z shift of the atom position along x from the original position shift of the atom position along y from the original position shift of the atom position along z from the original position position along for an atom in spherical coordinate position along for an atom in spherical or cylindrical coordinate
Par_a Par_b Par_c Par_abc Par_anga Par_angb Par_angc Par_poporb Par_posx Par_posy Par_posz Par_dposx Par_dposy Par_dposz Par_theta Par_phi
Under each parameter must be written the first and last values of the parameter followed by the number of value. For the parameters Par_posx, Par_posy, Par_posz, Par_theta, Par_phi The number of the atom must also be specified. Under the parameter Par_poporb must be also set the number of the orbital found in the order given under the keyword atom. Foe example, to specify an exchange of charge between two atoms (titanium and oxygen), one has to write:
Atom 22 3 2 2. 8 2 1 4.
3d titanium orbital with 2 electrons for the initial occupancy 2p oxygen orbital with 4 electrons for the initial occupancy
- 51 -
Manuel FDMNES
The first orbital under atom is the 3d titanium. The second orbital under atom is the 4p oxygen.
By default the metric distances are calculated in all the energy range is the intersection between the experimental and calculated spectra. It is possible to cut the lower or and the higher energy part of the spectra by the use of the keyword:
Minimum energy for all the spectra Maximum energy for all the spectra It is possible to have different values for the different spectra:
Emin -10. -5. -20. -20. Emax 45. 100. 100. 100.
Minimum energy for each spectra Maximum energy for each spectra
If the energy of the experimental spectra is in keV and not in eV, put the keyword:
Kev
When there are several spectra to compare simultaneously, for the calculation they must be in the same output file. One then must give the number of the column contains the calculated spectra and associate it at the corresponding experimental file. This is done adding a line after each experimental file contains the number of the column. If there are 2 numbers, the first one is the number of the column in the experimental file, the second one being the number of the column in the calculated file. When there is no number, this means than in both experimental and calculated file, the spectra are in the second column, the first one being the energy. Example:
Experiment keyword Nom_exp_1.txt Name of the file containing the first experimental spectra 2 Number of the column in the calculated file containing the corresponding spectra Nom_exp_2.txt Name of the file containing the second experimental spectra 3 Number of the column in the calculated file containing the corresponding spectra Nom_exp_2.txt Name of the file containing the third experimental spectra 4 3 Numbers of the column in the experimental file Nom_exp_2.txt, followed by the number of the column in the calculated file
- 52 -
Manuel FDMNES
By default, three confidence factors are used. A fourth one Rxg can also been calculated. It is equivalent to Rx but with a unique normalization factor between experiment and calculation. When there is a single spectra, Rxg is equivalent to Rx. To get this confidence factor put the keyword:
Rxg
- 53 -
Manuel FDMNES
!Indata file for FDMNES, Selection part Selec_inp keyword for the input file name (output of the convolution part) xanout/fe3o4/2008_bland/cc_1221_1221_orig_1m10_scan_conv.txt Selec_out keyword for the output file name xanout/test/fe3o4_scan_selec_conv.txt Energy 4. Reflection 2569 End
The azimuth scan is extracted at the energy (in eV) given after keyword Energy. It is also possible to extract spectra at a given azimuth angle. For this, no keyword Energy but the keyword Azimuth and next line the value of the selected azimuth: Azimuth 30. Value of the azimuth It is possible to have several reflections in the output file at one energy (or one azimuth). It is also possible to have several energies but only one reflection for the scan or several azimuth angles but one reflection for the spectra. keyword for the selected energy for the scan value of the energy for the scan in eV. keyword for the selected reflections number of the selected reflections
- 54 -
Manuel FDMNES
- 55 -
Manuel FDMNES
fer neutre 001 (3d6, 4s2) Orbitale n l j Popul. Energie 1S 1.0 0.0 0.0 2.000 -6917.713 2S 2.0 0.0 0.0 2.000 -804.490 2P 2.0 1.0 0.0 6.000 -695.277 3S 3.0 0.0 0.0 2.000 -91.497 3P 3.0 1.0 0.0 6.000 -59.577 3D 3.0 2.0 0.0 6.000 -8.092 4S 4.0 0.0 0.0 2.000 -5.482 NUCLEAR CHARGE= 26.000000 INTEGRAL OF CHARGE DENSITY= 26.000000 ---------------------------------------------------------------- all what is before is not red 26 18.00 2 3 2 6.000 4 0 2.000 600 r (A) rho (ua-3) psi(3D) psi(4S) 0.00016112638 11678.65000 0.0000000043 0.0023114080 0.00016413798 11675.19000 0.0000000046 0.0023542610 0.00016720588 11671.67000 0.0000000048 0.0023979030 0.00017033115 11668.09000 0.0000000051 0.0024423470 ..
The file must contains a line beginning by "---". All what is before is not red. Following line 26 18.00 2 3 2 6.000 4 0 2.000 atomic number, number of heart electrons, number of valence orbitals then quantum numbers (n, l) and population in number of electron in each of these orbitals
Following line: 600 number of radius where are calculated the electronic densities and wave function Following line: r (A) rho (ua-3) comment
psi(3D)
psi(4S)
4 r ( r ) 4r
- 56 -
Manuel FDMNES
The absorbing atom (type 1) must include one column more containing the value of the initial wave function (for example 1s for a K threshold) before the absorption of the photon:
fer excite neutre E01 (3d7, 4s2) Orbitale n l j Popul. Energie 1S 1.0 0.0 0.0 1.000 -7204.473 2S 2.0 0.0 0.0 2.000 -859.982 2P 2.0 1.0 0.0 6.000 -763.986 3S 3.0 0.0 0.0 2.000 -96.485 3P 3.0 1.0 0.0 6.000 -64.835 3D 3.0 2.0 0.0 7.000 -9.151 4S 4.0 0.0 0.0 2.000 -5.544 NUCLEAR CHARGE= 26.000000 INTEGRAL OF CHARGE DENSITY= 26.000000 -------------------------------------------------------------26 17.00 2 3 2 7.000 4 0 2.000 600 r (A) rho (ua-3) psi(3D) psi(4S) 0.00016112638 6572.94900 0.0000000052 0.0023377680 0.00016413798 6571.00800 0.0000000055 0.0023811100 0.00016720588 6569.02300 0.0000000058 0.0024252490 0.00017033115 6567.00900 0.0000000061 0.0024701990
- 57 -
Manuel FDMNES
- 58 -
Manuel FDMNES
No_res_mom Nocut Noncentre Nonexc Nonrelat Normaltau Norman Octupole Overad Overlap P_self Parameter Perdew Photoemission Polarize Quadrupole R_self Range Rangel Raydem Radius Rchimp Reflection Relativism Rmtimp Rmt Rmtv0 Rotsup RPA Rpotmax Rxg
35 47 30 39 21 39 40 18 32 41 24 51 28 48 18 18 24 17 17 40 13 41 53 22 41 39 41 33 25 29 54
Rxs Rydberg S0_2 Scan Scan_conv SCF SCF_exc Seah Selec_inp Selec_core Selec_out Screening Self_absorption Spgroup Sphere_all Spherical Spinorbite Supermuf Sym Symsite Table TDDFT Thomson Trace V0imp Vmax Xalpha Xan_atom Zero_azim
19 30 48 44 44 23 24 46 53 49 53 27 21 14 31 31 21 41 36 37 46 25 48 30 28 29 28 35 21
- 59 -