{ "info": { "author": "Adam Deller", "author_email": "adam.deller1@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Physics" ], "description": "positronium\r\n===========\r\n\r\npython tools pertaining to positronium\r\n\r\nPrerequisites\r\n-------------\r\n\r\nTested using Anaconda (Continuum Analytics) with Python 2.7 and 3.5.\r\nExamples written using IPython 4.0.1 (python 3.5.1 kernel).\r\n\r\nPackage dependencies:\r\n\r\n- scipy, numpy\r\n\r\nIPython examples dependencies:\r\n\r\n- matplotlib\r\n\r\nInstallation\r\n------------\r\n\r\nvia pip (recommended):\r\n\r\n::\r\n\r\n pip install positronium\r\n\r\nalternatively, try the development version\r\n\r\n::\r\n\r\n git clone https://github.com/PositroniumSpectroscopy/positronium\r\n\r\nand then run\r\n\r\n::\r\n\r\n python setup.py install\r\n\r\nAbout\r\n-----\r\n\r\nThis package is designed to collate useful bits of code relating to the\r\npositronium atom (an electron bound to its antiparticle, the positron).\r\nThe functions are generally simple approximations that give roughly the\r\nright answers, rather than rigorous quantum mechanical calculations.\r\n\r\nThe package currently only contains a few very simple modules.\r\n\r\nconstants\r\n~~~~~~~~~\r\n\r\nis intended to collect useful constants in SI units, including:\r\n\r\n+-------------------+-----------------------------------------------------------+\r\n| const | description |\r\n+===================+===========================================================+\r\n| m\\_Ps | 2 \\* mass\\_electron |\r\n+-------------------+-----------------------------------------------------------+\r\n| Rydberg\\_Ps | Rydberg value for Ps |\r\n+-------------------+-----------------------------------------------------------+\r\n| a\\_Ps | Bohr radius for Ps |\r\n+-------------------+-----------------------------------------------------------+\r\n| decay\\_pPs | decay rate of para-Ps (S=0) |\r\n+-------------------+-----------------------------------------------------------+\r\n| decay\\_oPs | decay rate of ortho-Ps (S=1) |\r\n+-------------------+-----------------------------------------------------------+\r\n| lifetime\\_pPs | lifetime of para-Ps (S=0) |\r\n+-------------------+-----------------------------------------------------------+\r\n| lifetime\\_oPs | lifetime of ortho-Ps (S=1) |\r\n+-------------------+-----------------------------------------------------------+\r\n| frequency\\_hfs | frequency of the ground-state hyperfine splitting |\r\n+-------------------+-----------------------------------------------------------+\r\n| energy\\_hfs | energy interval of the ground-state hyperfine splitting |\r\n+-------------------+-----------------------------------------------------------+\r\n| frequency\\_1s2s | frequency of the 1s2s transition |\r\n+-------------------+-----------------------------------------------------------+\r\n| energy\\_1s2s | energy interval of the 1s2s transition |\r\n+-------------------+-----------------------------------------------------------+\r\n\r\nExample usage,\r\n\r\n.. code:: python\r\n\r\n >>> from positronium.constants import lifetime_oPs, frequency_hfs\r\n >>> print(\"The mean lifetime of ortho-Ps is\", \"%.1f ns.\"%(lifetime_oPs * 1e9))\r\n The mean lifetime of ortho-Ps is 142.0 ns.\r\n\r\n >>> print(\"The ground-state hyperfine splitting is\", \"%.1f GHz.\"%(frequency_hfs * 1e-9))\r\n The ground-state hyperfine splitting is 203.4 GHz.\r\n\r\nWhere appropriate constants are stored in a subclass of float called\r\nMeasuredValue, which has a few extra attributes [uncertainty, unit,\r\nsource, url], for example\r\n\r\n.. code:: python\r\n\r\n >>> lifetime_oPs\r\n 1.4203738423953184e-07\r\n\r\n >>> lifetime_oPs.uncertainty\r\n 3.631431333889514e-11\r\n\r\n >>> print(lifetime_oPs.source)\r\n R. S. Vallery, P. W. Zitzewitz, and D. W. Gidley (2003) Phys. Rev. Lett. 90, 203402\r\n\r\n >>> lifetime_oPs.article()\r\n\r\nThe final line opens a url to the source journal.\r\n\r\nBohr\r\n~~~~\r\n\r\ncontains an adaptation of the Rydberg formula, which is used to\r\ncalculate the principle energy levels of positronium, or the interval\r\nbetween two levels. The default unit is 'eV', however, this can be\r\nchanged using the keyword argument 'unit'.\r\n\r\nFor instance, the UV wavelength (in nm) needed to excite the Lyman-alpha\r\ntransition can be found by:\r\n\r\n.. code:: python\r\n\r\n >>> from positronium import Bohr\r\n >>> Bohr.energy(1, 2, unit='nm')\r\n 243.00454681357735\r\n\r\nThis accepts numpy arrays for the initial (n1) and/ or final (n2) energy\r\nlevel, e.g.,\r\n\r\n.. code:: python\r\n\r\n >>> import numpy as np\r\n >>> n1 = np.arange(1, 10)\r\n >>> np.array([n1, Bohr.energy(n1, unit='eV')]).T\r\n array([[ 1. , 6.8028465 ],\r\n [ 2. , 1.70071163],\r\n [ 3. , 0.75587183],\r\n [ 4. , 0.42517791],\r\n [ 5. , 0.27211386],\r\n [ 6. , 0.18896796],\r\n [ 7. , 0.1388336 ],\r\n [ 8. , 0.10629448],\r\n [ 9. , 0.08398576]])\r\n\r\nPs\r\n~~\r\n\r\nThis package contains a class called Ps, which can be used to represent a\r\nparticular atomic state of positronium using the quantum numbers\r\n\r\n+-----+----------------------------+\r\n| n | principle |\r\n+-----+----------------------------+\r\n| l | orbital angular momentum |\r\n+-----+----------------------------+\r\n| m | magnetic quantum number |\r\n+-----+----------------------------+\r\n| S | total spin |\r\n+-----+----------------------------+\r\n| J | total angular momentum |\r\n+-----+----------------------------+\r\n\r\nThis can be used to return estimates of, e.g., the energy\r\nlevel,\r\n\r\n.. code:: python\r\n\r\n >>> from positronium import Ps\r\n >>> x1 = Ps(n=2, l=1, S=1, J=2)\r\n >>> x1.energy(unit='eV')\r\n -1.7007156827724967\r\n\r\nwhich uses an equation described in\r\n\r\n Richard A. Ferrell (1951) Phys. Rev. 84, 858\r\n http://dx.doi.org/10.1103/PhysRev.84.858\r\n\r\nThis includes fine structure but not radiative corrections.\r\n\r\nA representation of the state using Latex code can be made using,\r\n\r\n.. code:: python\r\n\r\n >>> x1.tex()\r\n '$2^{3}P_{2}$'\r\n\r\nFor further examples see the IPython/ Jupyter notebooks,\r\n\r\nhttps://github.com/PositroniumSpectroscopy/positronium/tree/master/examples", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/PositroniumSpectroscopy/positronium/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PositroniumSpectroscopy/positronium", "keywords": "antimatter atomic positronium", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "positronium", "package_url": "https://pypi.org/project/positronium/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/positronium/", "project_urls": { "Download": "https://github.com/PositroniumSpectroscopy/positronium/archive/master.zip", "Homepage": "https://github.com/PositroniumSpectroscopy/positronium" }, "release_url": "https://pypi.org/project/positronium/0.1.8/", "requires_dist": null, "requires_python": null, "summary": "python tools pertaining to positronium", "version": "0.1.8" }, "last_serial": 2227083, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ef5827b567b4fb8bb53c306401685ad0", "sha256": "40076830cca90f0d325485f6dbab6048701d533b859bad143be0d3ad50b9160b" }, "downloads": -1, "filename": "positronium-0.1.tar.gz", "has_sig": false, "md5_digest": "ef5827b567b4fb8bb53c306401685ad0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1556, "upload_time": "2016-01-23T11:29:23", "url": "https://files.pythonhosted.org/packages/2a/3c/65404b82bf9d703adfd811b7835c10525f35ba44cb4f7b84edf1f2d8acd9/positronium-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "727fec91c74ddb333095bde4d091808d", "sha256": "009ca860c64477449a90567c9511113c4273061f4d60ddc0ef2a54e97f06fd8b" }, "downloads": -1, "filename": "positronium-0.1.1.tar.gz", "has_sig": false, "md5_digest": "727fec91c74ddb333095bde4d091808d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1748, "upload_time": "2016-01-23T12:17:46", "url": "https://files.pythonhosted.org/packages/dc/d7/9acbdd893b28e039e1a5120c0c1f3bc9f5010d3abec9e0fbfbdebae2216b/positronium-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d4906d26387c695cbe7f54e8277ee12a", "sha256": "a8fedaa8fcc0f8026f6c8c3232a34a296aee9b83c841d3843e83cd75a090b4ae" }, "downloads": -1, "filename": "positronium-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d4906d26387c695cbe7f54e8277ee12a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2658, "upload_time": "2016-01-26T22:31:44", "url": "https://files.pythonhosted.org/packages/76/2e/5221a1569ee67b0724723de5493e56c58b66320111a3d61e0608219c8528/positronium-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a57176c7c233e80041c9662f3745d2c0", "sha256": "06a34f59acbf46d07b6b866c22aa15c62194fba29ad2ef2802487fa6218f4895" }, "downloads": -1, "filename": "positronium-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a57176c7c233e80041c9662f3745d2c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3045, "upload_time": "2016-02-07T14:34:16", "url": "https://files.pythonhosted.org/packages/9f/33/a888c2a410c136946d61d51172fe666feaef82a695b506ba986a057d11ab/positronium-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c1c3d500b4e5a8ba5cd07af759c09231", "sha256": "9451b2709056c52c643416584b9b4e6097bb16c1e15dcab41433584952b501c9" }, "downloads": -1, "filename": "positronium-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c1c3d500b4e5a8ba5cd07af759c09231", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4005, "upload_time": "2016-04-03T21:04:48", "url": "https://files.pythonhosted.org/packages/e7/de/8a10d9b72ee568dd50ee5bd61392b72a66c8fc9a747546aa3beaa734e0e4/positronium-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "117a33ea0593e4c1d6db12c10dc15113", "sha256": "dcd0b7e1869e497febeab320e5c7520a1a90c7e4946d07d384eb045826be0296" }, "downloads": -1, "filename": "positronium-0.1.6.tar.gz", "has_sig": false, "md5_digest": "117a33ea0593e4c1d6db12c10dc15113", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7470, "upload_time": "2016-05-11T21:41:34", "url": "https://files.pythonhosted.org/packages/d7/a3/dda7fa1a8fcd1550395b8dd1d39b4583ba7db2b44c498a4a52d39fe22433/positronium-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "5112ae6fd1bf298cdb2c7b3d4df71ece", "sha256": "38787c4208b5888052858ddf4908c9ab0d7d82aa1315ea242d6cc6eef9422768" }, "downloads": -1, "filename": "positronium-0.1.7.tar.gz", "has_sig": false, "md5_digest": "5112ae6fd1bf298cdb2c7b3d4df71ece", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8096, "upload_time": "2016-06-12T11:05:56", "url": "https://files.pythonhosted.org/packages/02/c1/eb0b762c7c7f1772bcf057d4d61a531ff5a22eb64a6ab5a71d01ee227b2b/positronium-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "f429fe71e8025eba6d6a2baa400d178e", "sha256": "3bde3006e80838fb7e0606d77320a744910d3a1ba0916af3a527c379ac519874" }, "downloads": -1, "filename": "positronium-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f429fe71e8025eba6d6a2baa400d178e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8195, "upload_time": "2016-07-16T21:05:46", "url": "https://files.pythonhosted.org/packages/d1/f4/78ec752c4d76dc0db69a90560bdd7e6d9d2aa97d9a0a2c1e41930013c6fe/positronium-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f429fe71e8025eba6d6a2baa400d178e", "sha256": "3bde3006e80838fb7e0606d77320a744910d3a1ba0916af3a527c379ac519874" }, "downloads": -1, "filename": "positronium-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f429fe71e8025eba6d6a2baa400d178e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8195, "upload_time": "2016-07-16T21:05:46", "url": "https://files.pythonhosted.org/packages/d1/f4/78ec752c4d76dc0db69a90560bdd7e6d9d2aa97d9a0a2c1e41930013c6fe/positronium-0.1.8.tar.gz" } ] }