{ "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": "# surfsci\n\nA suite of tools for handling surface science related data. This project will\ncontain tools for the following:\n\n* X-ray photoelectron spectroscopy (XPS)\n\n## Future\n\n* Docmuentation (priority)\n\n## X-ray Photonelectron Spectroscopy\n\n### Example\n\nAn example analyzing a Ge peak fit within CasaXPS.\n\n\tfrom surfsci import 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 surfsci.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`surfsci.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\tfrom surfsci import 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\t\t\t\t\t\t\t mfp_matrix_a, mfp_matrix_b,\n\t\t\t\t\t\t\t\t rho_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 `surfsci.scatter` and\ncan be used as such:\n\n\tfrom surfsci import scatter\n\n\t# Mn example\n\tkinetic_energy = 1000 # Can be calculated from surfsci.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\t\t\t\t\t\t\t bandgap_energy, 'SI')\n\nThe value here can be used in the `surfsci.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/surfsci", "keywords": "", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "surfsci", "package_url": "https://pypi.org/project/surfsci/", "platform": "", "project_url": "https://pypi.org/project/surfsci/", "project_urls": { "Homepage": "https://gitlab.com/ddkn/surfsci" }, "release_url": "https://pypi.org/project/surfsci/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "A suite of tools for handling surface science related data", "version": "0.1.7" }, "last_serial": 5359309, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b8624bacd2069daa4a1e69ff8600c4b8", "sha256": "8e08637f6c4db5dff5d11897d1e1fe1051a65c6d45cbbf60172f102597c46545" }, "downloads": -1, "filename": "surfsci-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b8624bacd2069daa4a1e69ff8600c4b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2194, "upload_time": "2018-12-09T18:26:38", "url": "https://files.pythonhosted.org/packages/d0/f6/68aeab0cf0c06cd2bf3397d622d0248166c62b7cb72fdb56ca9b5edf4606/surfsci-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95d601099572c5885b5b15e2fd5487ac", "sha256": "cbca92da9f602a2368b9605f1f13b8a57290ff2c32d964febef2fef662e7ded8" }, "downloads": -1, "filename": "surfsci-0.0.1.tar.gz", "has_sig": false, "md5_digest": "95d601099572c5885b5b15e2fd5487ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1267, "upload_time": "2018-12-09T18:26:39", "url": "https://files.pythonhosted.org/packages/d0/ca/d95daa410dbabef9efd1c57fb9683c5b7bff1edcf2a88a2bd56a5a737421/surfsci-0.0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7586b5c65ba2ff64338b15b7cc8cd5d1", "sha256": "43dfe94f79cb53d6bcb44955cd0e22c08bb205b9700ca4c643b41d8c594034e6" }, "downloads": -1, "filename": "surfsci-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7586b5c65ba2ff64338b15b7cc8cd5d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5073, "upload_time": "2019-05-04T16:50:26", "url": "https://files.pythonhosted.org/packages/4a/fc/36c1e32250b63e38fa755c0c65d505938c5de4f2b6c1aa99d0b48ff240ea/surfsci-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e96fb1382861d809fcd8bfe1c7f8f9e", "sha256": "4d5aec4395dae690e645648102988ed13d591cff7f60566c5be562b51550f1e0" }, "downloads": -1, "filename": "surfsci-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2e96fb1382861d809fcd8bfe1c7f8f9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3740, "upload_time": "2019-05-04T16:50:28", "url": "https://files.pythonhosted.org/packages/d2/c7/99a57133339e9489542e2d24c597172fe923606e60ecf249c2ef440796ea/surfsci-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9241a30478abfafde7afd56621fa0316", "sha256": "4d7e89d2f3ee7d0df42edb6dc4a015ada680453fe1d230e97d381ce9612dfb80" }, "downloads": -1, "filename": "surfsci-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9241a30478abfafde7afd56621fa0316", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5075, "upload_time": "2019-05-08T15:28:22", "url": "https://files.pythonhosted.org/packages/a0/bc/598f92ca3e76d5e79d7f50b911c97d4e50f6c91a018103612bc6a98675e0/surfsci-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a68819033e3a3fd667b6591a832dedcc", "sha256": "16655c561f5a33f4ae8eb0a83cfed6007db2715708fbabe6aef838aaaa6271fa" }, "downloads": -1, "filename": "surfsci-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a68819033e3a3fd667b6591a832dedcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3741, "upload_time": "2019-05-08T15:28:23", "url": "https://files.pythonhosted.org/packages/56/e0/b53679d0004ba5a538a2e48f4e5fec9ea327eb319e3131cad523198640a3/surfsci-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a712cd7714a0e40302c7ced88b95eaa8", "sha256": "b0bed90ceffb4fdf0ccf092f67a76c440c849093187aec0fe4bb2b0e2e22a7ea" }, "downloads": -1, "filename": "surfsci-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a712cd7714a0e40302c7ced88b95eaa8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6094, "upload_time": "2019-05-09T18:49:58", "url": "https://files.pythonhosted.org/packages/21/5b/97a41ebce40d5594b87ebe6f17c4e270761b49d9e0fdb974edc643fc913e/surfsci-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5edc27e6d6e25f61f74b3f524b739a19", "sha256": "5440b270970890e69f8023a3cdb0e6efd29082fd41e60c1ea42c9ebe62bd04e6" }, "downloads": -1, "filename": "surfsci-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5edc27e6d6e25f61f74b3f524b739a19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4041, "upload_time": "2019-05-09T18:50:00", "url": "https://files.pythonhosted.org/packages/52/21/c54f3a975550cacd0166de04ec8e385a1c1fe7d00ca07ad3c8b0e24a8417/surfsci-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6e6f1c15c2cca26f0246b338f1765b70", "sha256": "99fabc0ab3218366d57d76803b677747c5aad3715b4ade32e069cb314601561a" }, "downloads": -1, "filename": "surfsci-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6e6f1c15c2cca26f0246b338f1765b70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6053, "upload_time": "2019-05-10T01:45:32", "url": "https://files.pythonhosted.org/packages/90/1a/d5e0dff530d2d14b7b77553d913d5c7bbef66a9924bf27edad86ae1619be/surfsci-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "671a6238d135828a133e7ef5a960122a", "sha256": "251b6c999c719bd1e7cc189037341ed8493114eb3867c14a2c8b5101a0ad005a" }, "downloads": -1, "filename": "surfsci-0.1.4.tar.gz", "has_sig": false, "md5_digest": "671a6238d135828a133e7ef5a960122a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3993, "upload_time": "2019-05-10T01:45:34", "url": "https://files.pythonhosted.org/packages/7e/b0/16107f0a347031d6041a28691a1f9fc6a181a5925baea6385ba76fa827ab/surfsci-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "5462ecb04dfe6877f01ed9d3aa229375", "sha256": "8d9a3f4732092105bea3f2a4a7fcd6f11defa15a6e67df1e88fd058de6419956" }, "downloads": -1, "filename": "surfsci-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "5462ecb04dfe6877f01ed9d3aa229375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6286, "upload_time": "2019-05-18T17:14:15", "url": "https://files.pythonhosted.org/packages/c2/2f/604006ba900e7785baeea0c378e43e0077b9607a65cc60d349b4d9158106/surfsci-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88462fa42864ada447134374ec917c5e", "sha256": "2a0dd9954428ecea4cecfb4b3614bfc35fbfbe10008653a4d99a4eb219fd2da0" }, "downloads": -1, "filename": "surfsci-0.1.5.tar.gz", "has_sig": false, "md5_digest": "88462fa42864ada447134374ec917c5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4217, "upload_time": "2019-05-18T17:14:17", "url": "https://files.pythonhosted.org/packages/3f/00/f74f6778a307bbc53952dbd90437d590b5d3a3b7d91f3697f4b626e970e5/surfsci-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "996abe25a41c7a3e359e8932656b07c6", "sha256": "87b8c120186da0be09dcf2c938533d97f3549108f247575b4bdd9c47736a2f91" }, "downloads": -1, "filename": "surfsci-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "996abe25a41c7a3e359e8932656b07c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13741, "upload_time": "2019-05-27T20:07:51", "url": "https://files.pythonhosted.org/packages/cf/94/7a0d71a9097bbeb35fa6aa4beba7df875055876b0c0b846fdc752b5aeb72/surfsci-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cbc24c1d9b9ab712cd2d50c0a3c4a853", "sha256": "d6e6911517e8ca69a5794e8046c444fa7cb48ebb1f785e9c3cf60d665e1a4e84" }, "downloads": -1, "filename": "surfsci-0.1.6.tar.gz", "has_sig": false, "md5_digest": "cbc24c1d9b9ab712cd2d50c0a3c4a853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9941, "upload_time": "2019-05-27T20:07:53", "url": "https://files.pythonhosted.org/packages/ea/df/d366643131af025d92ddd20fe292fc624dcd6b8a11526bb1d7e615931409/surfsci-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "5d4fb3fffd81d53d8ec193c8d194085f", "sha256": "3ae5f0962cd883c0c617264ffd194c756a89af359df5ce6c90dafe1aa610803d" }, "downloads": -1, "filename": "surfsci-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "5d4fb3fffd81d53d8ec193c8d194085f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16857, "upload_time": "2019-06-04T19:30:29", "url": "https://files.pythonhosted.org/packages/8b/96/e3844cd7029d87e95eeaba23837849b09bbe9eb18c48c1b6e0027093f253/surfsci-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6de4a321a86176fb97c4996201f09281", "sha256": "ce1b8ae7cc2cb1a6c932686893747a03dd04be74bd0feabe7f817d39f8329385" }, "downloads": -1, "filename": "surfsci-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6de4a321a86176fb97c4996201f09281", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12395, "upload_time": "2019-06-04T19:30:31", "url": "https://files.pythonhosted.org/packages/22/c5/569415569e4dcd7455510db22f33e6212a7b67835c9e667a50c0469b7b37/surfsci-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5d4fb3fffd81d53d8ec193c8d194085f", "sha256": "3ae5f0962cd883c0c617264ffd194c756a89af359df5ce6c90dafe1aa610803d" }, "downloads": -1, "filename": "surfsci-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "5d4fb3fffd81d53d8ec193c8d194085f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16857, "upload_time": "2019-06-04T19:30:29", "url": "https://files.pythonhosted.org/packages/8b/96/e3844cd7029d87e95eeaba23837849b09bbe9eb18c48c1b6e0027093f253/surfsci-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6de4a321a86176fb97c4996201f09281", "sha256": "ce1b8ae7cc2cb1a6c932686893747a03dd04be74bd0feabe7f817d39f8329385" }, "downloads": -1, "filename": "surfsci-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6de4a321a86176fb97c4996201f09281", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12395, "upload_time": "2019-06-04T19:30:31", "url": "https://files.pythonhosted.org/packages/22/c5/569415569e4dcd7455510db22f33e6212a7b67835c9e667a50c0469b7b37/surfsci-0.1.7.tar.gz" } ] }