{ "info": { "author": "Massimo Cimmino", "author_email": "massimo.cimmino@polymtl.ca", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Utilities" ], "description": "# pygfunction: A g-function calculator for Python\n\n[![Build Status](https://travis-ci.org/MassimoCimmino/pygfunction.svg?branch=master)](https://travis-ci.org/MassimoCimmino/pygfunction)\n\n\n## What is *pygfunction*?\n\n*pygfunction* is a Python module for the calculation of thermal response\nfactors, or *g*-functions, for fields of geothermal boreholes. *g*-functions\nform the basis of many simulation and sizing programs for geothermal heat pump\nsystems. *g*-Functions are superimposed in time to predict fluid and ground\ntemperatures in these systems.\n\nAt its core, *pygfunction* relies on the analytical finite line source solution\nto evaluate the thermal interference between boreholes in the same bore field.\nThis allows for the very fast calculation of *g*-functions, even for very large\nbore fields with hundreds of boreholes.\n\nUsing *pygfunction*, *g*-functions can be calculated for any bore field\nconfiguration (i.e. arbitrarily positionned in space), including fields of\nboreholes with individually different lengths and radiuses. For regular fields\nof boreholes of equal size, setting-up the calculation of the *g*-function is\nas simple as a few lines of code. For example, the code for the calculation of\nthe *g*-function of a 10 x 10 square array of boreholes (100 boreholes\ntotal):\n\n```python\ntime = [(i+1)*3600. for i in range(24)] # Calculate hourly for one day\nboreField = gt.boreholes.rectangle_field(N_1=10, N_2=10, B_1=7.5, B_2=7.5, H=150., D=4., r_b=0.075)\ngFunc = gt.gfunction.uniform_temperature(boreField, time, alpha=1.0e-6)\n```\n\nOnce the *g*-function is evaluated, *pygfunction* provides tools to predict\nborehole temperature variations (using load aggregation methods) and to evaluate\nfluid temperatures in the boreholes for several U-tube pipe configurations.\n\n\n## Requirements\n\n*pygfunction* was developed and tested using Python 2.7 and supports Python 3.6. In addition, the\nfollowing packages are needed to run *pygfunction* and its examples:\n- matplotlib (>= 1.5.3), required for the examples\n- numpy (>= 1.11.3)\n- scipy (>= 1.0.0)\n\nThe documentation is generated using [Sphinx](http://www.sphinx-doc.org). The\nfollowing packages are needed to build the documentation:\n- sphinx (>= 1.5.1)\n- numpydoc (>= 0.6.0)\n\n\n## Quick start\n\n**Users** - [Download pip](https://pip.pypa.io/en/latest/) and install the latest release:\n\n```\npip install pygfunction\n```\n\nAlternatively, [download the latest release](https://github.com/MassimoCimmino/pygfunction/releases) and run the installation script:\n\n```\npython setup.py install\n```\n\n**Developers** - To get the latest version of the code, you can [download the\nrepository from github](https://github.com/MassimoCimmino/pygfunction) or clone\nthe project in a local directory using git:\n\n```\ngit clone https://github.com/MassimoCimmino/pygfunction.git\n```\n\nOnce *pygfunction* is copied to a local directory, you can verify that it is\nworking properly by running the examples in `pygfunction/examples/`.\n\n\n## Documentation\n\n*pygfunction*'s documentation is hosted on\n[ReadTheDocs](https://pygfunction.readthedocs.io).\n\n\n## Contributing to *pygfunction*\n\nYou can report bugs and propose enhancements on the\n[issue tracker](https://github.com/MassimoCimmino/pygfunction/issues).\n\nTo contribute code to *pygfunction*, follow the\n[contribution workflow](CONTRIBUTING.md).\n\n\n## License\n\n*pygfunction* is licensed under the terms of the 3-clause BSD-license.\nSee [pygfunction license](LICENSE.md).", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MassimoCimmino/pygfunction", "keywords": "Geothermal,Ground-source,Ground heat exchangers", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "pygfunction", "package_url": "https://pypi.org/project/pygfunction/", "platform": "", "project_url": "https://pypi.org/project/pygfunction/", "project_urls": { "Homepage": "https://github.com/MassimoCimmino/pygfunction" }, "release_url": "https://pypi.org/project/pygfunction/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "A g-function calculator for Python", "version": "1.1.0" }, "last_serial": 3655792, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c7b457d952ce8d24d31e13356bcf788a", "sha256": "4f5c72266d6c5ef898499c6132fadd0d62b4f3a1291ee9f60f873aeaaf15f1a2" }, "downloads": -1, "filename": "pygfunction-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c7b457d952ce8d24d31e13356bcf788a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52138, "upload_time": "2017-12-01T19:44:41", "url": "https://files.pythonhosted.org/packages/e0/60/4dec68a95711f5df03518a69118eb81b578f248ae138971c5497b4b526c1/pygfunction-1.0.0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "75b98c6491ddc1e0fb50574a01e39033", "sha256": "5e6e67f28a03a604a51a9673431c5416d445580fa97d1e6f3bfc91ef76bd4134" }, "downloads": -1, "filename": "pygfunction-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "75b98c6491ddc1e0fb50574a01e39033", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34239, "upload_time": "2017-11-30T22:27:41", "url": "https://files.pythonhosted.org/packages/8f/cc/6f0a65daecf7ef6c8d2757ca4cddbc2bf104ba953d6b28e475c0a7722faf/pygfunction-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "2843d4dc592c69a57656f270b2070c6b", "sha256": "2144b3fcd3dc48e4fce925cd13a17b49be3410dadb8a8b39594c08e14d55342e" }, "downloads": -1, "filename": "pygfunction-1.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "2843d4dc592c69a57656f270b2070c6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34204, "upload_time": "2017-11-30T22:29:16", "url": "https://files.pythonhosted.org/packages/7d/6c/f2cba30c8fd6f4db160370edab15778cc185a797443c92c3d9aab0f012b0/pygfunction-1.0.0rc2.tar.gz" } ], "1.0.0rc3": [ { "comment_text": "", "digests": { "md5": "08146565e52eef573f008b2170e2663c", "sha256": "03f57121e9913ab57e765a53acb5b442caf5b4facc0ffc0b2605b0451905ba5f" }, "downloads": -1, "filename": "pygfunction-1.0.0rc3.tar.gz", "has_sig": false, "md5_digest": "08146565e52eef573f008b2170e2663c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36786, "upload_time": "2017-11-30T22:35:44", "url": "https://files.pythonhosted.org/packages/3b/f9/66f5e8ebbaf47781cbad32308162463ac0160ec2dce8ea7427adb17ed02f/pygfunction-1.0.0rc3.tar.gz" } ], "1.0.0rc4": [ { "comment_text": "", "digests": { "md5": "5f168f719e21181b6693bfaea72a2ac3", "sha256": "a9cebcad37e1316493fc0f59e06add9957da06fdb13d4b2b2303d473662cad49" }, "downloads": -1, "filename": "pygfunction-1.0.0rc4.tar.gz", "has_sig": false, "md5_digest": "5f168f719e21181b6693bfaea72a2ac3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36801, "upload_time": "2017-11-30T22:39:17", "url": "https://files.pythonhosted.org/packages/9d/66/86086542be0764e569badaff649cd2617d79faca430e3dfa1a5d72c01dbf/pygfunction-1.0.0rc4.tar.gz" } ], "1.0.0rc5": [ { "comment_text": "", "digests": { "md5": "c0473f5e5a9be9c5848996aa69d7531e", "sha256": "7eacee197db015cc2893f3d94e24fe6462daaac1caa6e02e4ad1fc14d68d32b9" }, "downloads": -1, "filename": "pygfunction-1.0.0rc5.tar.gz", "has_sig": false, "md5_digest": "c0473f5e5a9be9c5848996aa69d7531e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34188, "upload_time": "2017-11-30T22:40:34", "url": "https://files.pythonhosted.org/packages/21/97/99d431dd84d106f25eebf17aa057ae74235a5644d1d7eb8076931373fe3d/pygfunction-1.0.0rc5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "75fc19551514fc402e53c3431e52c484", "sha256": "66d4bdcc736d4a26127496e80b8b7c0ef9b91acfcb0f8dc862d0031633f218de" }, "downloads": -1, "filename": "pygfunction-1.1.0.tar.gz", "has_sig": false, "md5_digest": "75fc19551514fc402e53c3431e52c484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56378, "upload_time": "2018-03-09T23:18:05", "url": "https://files.pythonhosted.org/packages/a7/2c/4d2bf33261905740b17616bc901320f9368496f619c194453c123b516aee/pygfunction-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "75fc19551514fc402e53c3431e52c484", "sha256": "66d4bdcc736d4a26127496e80b8b7c0ef9b91acfcb0f8dc862d0031633f218de" }, "downloads": -1, "filename": "pygfunction-1.1.0.tar.gz", "has_sig": false, "md5_digest": "75fc19551514fc402e53c3431e52c484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56378, "upload_time": "2018-03-09T23:18:05", "url": "https://files.pythonhosted.org/packages/a7/2c/4d2bf33261905740b17616bc901320f9368496f619c194453c123b516aee/pygfunction-1.1.0.tar.gz" } ] }