{ "info": { "author": "David Kalliecharan", "author_email": "david@david.science", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: ISC License (ISCL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Physics" ], "description": "# X-ray photoelectron spectroscopy (XPS)\n\n## Future\n\n* Docmuentation (priority)\n* Add database of inelastic mean free path (IMFP) of common materials\n\n## X-ray Photonelectron Spectroscopy\n\n### Example\n\nAn example analyzing a Ge peak fit within CasaXPS.\n\n\timport xps\n\n\t# Shortcut for the XPS machine at Dalhousie\n\t# xps_mach = 'Dalhousie'\n\t# mach = xps.mach_param[xps_mach]\n\tmach = {\n\t\t'coef' : [0.9033, -4.0724, 5.0677, 1.1066],\n\t\t'scale' : 0.01,\n\t\t'work_func' : 4.6,\n\t}\n\thv = xps.photon_energy['Al']\n\n\t# Pass energy [eV], found from XPS operator\n\tpe = 30\n\n\tsfwagner_Ge = xps.sf.Ge['3d']['area']\n\n\tdata = xps.parser.CasaXPS('Ge_example.csv')\n\n\t# Labels defined by user in CasaXPS fits\n\tpk_lbl = 'Ge 3d'\n\tbe = data.binding_energy(pk_lbl)\n\tarea = data.area(pk_lbl)\n\n\tke = xps.kinetic_energy(be, hv, mach['work_func'])\n\n\tt_fn = xps.transmission(ke, pe, mach['coef'], mach['scale'])\n\tt_fn_wagner = 1/ke # Proportional to 1/KE\n\n\tsf_mach = xps.sf_machine(sfwagner_Ge, t_fn, t_fn_wagner)\n\n\tpk_corr = xps.peak_correction(area, sf_mach)\n\n\t# NOTE Use the xps.XPSPeak(...) helper for convienence\n\t# analyzed_Ge = xps.XPSPeak(pk_lbl, be, area, sfwagner_Ge, hv, pe, mach)\n\n\t# NOTE Returns pandas.DataFrame with all parameters calculated.\n\t# The user can also query parameters individually\n\t# df = analyzed_Ge.df()\n\n### Matrix Factor corrections\n\nIf using multple elements within a matrix (e.g. an alloy), you can utilize the\n`xps.matrix_factor` function. You require the inelastic mean free path\nof electron scattering (*imfp*) of both species in bulk and the density, as\nwell as the *imfp* of the matrix at the measured kinetic energies of both\nelements. For example, if you have two corrected peaks: `pk_Mn_corr`, and\n`pk_Ge_corr`. The *imfp* can be calculated using the TPP-2M equation for\ninelastic mean free path, found in the following reference:\n\nS. Tanuma, C. J. Powel, D. R. Penn, *Surf. Interf. Anal.*, Vol 21, 165 (1994)\n\n\n\timport xps\n\t# pk_Mn_corr and pk_Ge_corr calculated as in the example above\n\n\t# a is the kinetic energy used to determine imfp of Ge in Bulk\n\timfp_matrix_a = 21.17\n\timfp_Ge_a = 29.84\n\trho_Ge_a = 5.32\n\n\t# b is the kinetic energy used to determine imfp of Mn in Bulk\n\timfp_matrix_b = 14.17\n\timfp_Mn_b = 14.87\n\trho_Mn_b = 7.43\n\n\tmat_fact = xps.matrix_factor(imfp_Ge_a, imfp_Mn_b,\n\t\tmfp_matrix_a, mfp_matrix_b,\n\t\trho_Ge_a, rho_Mn_b)\n\trelative_pk_Ge_corr = (pk_Ge_corr/pk_Mn_corr)*mat_fact\n\n\t# NOTE because Mn is used as the normalizing component we can use its\n\t# corrected peak value directly, all other elements require the matrix\n\t# factor correction\n\tprint('Ratios of Mn and Ge in MnGe matrix')\n\tprint('Mn : {:0.4e}'.format(pk_Mn_corr))\n\tprint('Ge : {:0.4e}'.format(relative_pk_Ge_corr))\n\n### sfwagner.{db,py}: Empirically derived set of atomic sensitivity factors for XPS\n\nThe data in Appendix 5 is reproduced and provided here for non-profit use with\npermission of the publisher John Wiley & Sons Ltd.\n\n\"Practical Surface Analysis by Auger and X-ray Photoelectron Spectroscopy\",\nD. Briggs and M. P. Seah,\nAppendix 5, p511-514,\nPublished by J. Wiley and Sons in 1983, ISBN 0-471-26279\n\nCopyright (c) 1983 by John Wiley & Sons Ltd.\n\nThe original set of data first appeared in the following resource:\nC. D. Wagner, L. E. Davis, M. V. Zeller, J. A. Taylor, R. M. Raymond and L. H. Gale,\nSurf. Interface Anal., 3. 211 (1981)\n\nAny use of this data must include the citations above in any work.\n\n## Electron Inelastic Mean Free Path (IMFP)\nElectron IMFP can be calculated from using the Tanuma, Powel, Penn modified\n(TPP-2M) equation derived from equations (3), (4b,c,d,e) and (8) in the\nfollowing reference:\n\nS. Tanuma, C. J. Powel, D. R. Penn, *Surf. Interf. Anal.*, Vol 21, 165 (1994)\n\nFor convienence the IMFP TPP-2M equation is located in `xps.scatter` and\ncan be used as such:\n\n\tfrom xps import scatter\n\n\t# Mn example\n\tkinetic_energy = 1000 # Can be calculated from xps.kinetic_energy\n\n\trho = 7.43 # [g/cc]\n\tNv = 7 # valence electrons\n\tM = 53.938 # atomic mass\n\tbandgap_energy = 0 # [eV]\n\n\t# Return SI units [m]\n\timfp_Mn = scatter.imfp_TPP2M(kinetic_energy, rho, M, Nv,\n\t\tbandgap_energy, 'SI')\n\nThe value here can be used in the `xps.matrix_factor` calculations\noutlined above.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/ddkn/xps", "keywords": "", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "xps", "package_url": "https://pypi.org/project/xps/", "platform": "", "project_url": "https://pypi.org/project/xps/", "project_urls": { "Homepage": "https://gitlab.com/ddkn/xps" }, "release_url": "https://pypi.org/project/xps/0.2/", "requires_dist": null, "requires_python": "", "summary": "X-Ray photonelectron spectroscopy (XPS) analysis tools", "version": "0.2" }, "last_serial": 5967439, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "3fc7ea1a31861067dcf5465c2d1ce01c", "sha256": "f0873051da9930e77fe618373c71a85468bf0da711ea1d3d4acc7365e81590c7" }, "downloads": -1, "filename": "xps-0.2-py3.6.egg", "has_sig": false, "md5_digest": "3fc7ea1a31861067dcf5465c2d1ce01c", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 24244, "upload_time": "2019-10-13T13:46:21", "url": "https://files.pythonhosted.org/packages/2f/a0/79917102aa5a55097e427f1eb9e15fe50aea27e626e7c3951f896839697f/xps-0.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0b8236b1c61ff52ea3b2072bb9f49548", "sha256": "59b17165951198eedb95e4cd31df3823af8d28b913290d8e7e264c5b6e0e3230" }, "downloads": -1, "filename": "xps-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0b8236b1c61ff52ea3b2072bb9f49548", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16320, "upload_time": "2019-10-13T13:46:17", "url": "https://files.pythonhosted.org/packages/70/9f/821969386d435afa7892a936dd92d8f09b2247cfa6ecf470c8119ba5477e/xps-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fadbc4c715cb557df0732f3d79162cab", "sha256": "c4199ebc6fd49c815f0d605c323ac52a4a73d497e5a731982fe2f66ca379e523" }, "downloads": -1, "filename": "xps-0.2.tar.gz", "has_sig": false, "md5_digest": "fadbc4c715cb557df0732f3d79162cab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12094, "upload_time": "2019-10-13T13:46:22", "url": "https://files.pythonhosted.org/packages/70/47/076fb35c75d3816ae4e68160379b44acb2a1bcef3604122caeb5d220cd67/xps-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3fc7ea1a31861067dcf5465c2d1ce01c", "sha256": "f0873051da9930e77fe618373c71a85468bf0da711ea1d3d4acc7365e81590c7" }, "downloads": -1, "filename": "xps-0.2-py3.6.egg", "has_sig": false, "md5_digest": "3fc7ea1a31861067dcf5465c2d1ce01c", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 24244, "upload_time": "2019-10-13T13:46:21", "url": "https://files.pythonhosted.org/packages/2f/a0/79917102aa5a55097e427f1eb9e15fe50aea27e626e7c3951f896839697f/xps-0.2-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0b8236b1c61ff52ea3b2072bb9f49548", "sha256": "59b17165951198eedb95e4cd31df3823af8d28b913290d8e7e264c5b6e0e3230" }, "downloads": -1, "filename": "xps-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0b8236b1c61ff52ea3b2072bb9f49548", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16320, "upload_time": "2019-10-13T13:46:17", "url": "https://files.pythonhosted.org/packages/70/9f/821969386d435afa7892a936dd92d8f09b2247cfa6ecf470c8119ba5477e/xps-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fadbc4c715cb557df0732f3d79162cab", "sha256": "c4199ebc6fd49c815f0d605c323ac52a4a73d497e5a731982fe2f66ca379e523" }, "downloads": -1, "filename": "xps-0.2.tar.gz", "has_sig": false, "md5_digest": "fadbc4c715cb557df0732f3d79162cab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12094, "upload_time": "2019-10-13T13:46:22", "url": "https://files.pythonhosted.org/packages/70/47/076fb35c75d3816ae4e68160379b44acb2a1bcef3604122caeb5d220cd67/xps-0.2.tar.gz" } ] }