pygasflow


Namepygasflow JSON
Version 1.1.1 PyPI version JSON
download
home_pagehttps://github.com/Davide-sd/pygasflow
SummaryIdeal Gasdynamics utilities for Python 3.6+
upload_time2024-01-12 18:30:42
maintainer
docs_urlNone
authorDavide Sandona
requires_python
licenseGNU GPL v3
keywords gasdynamic shockwave fanno rayleigh isentropic flow perfect gas
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pygasflow

[![PyPI version](https://badge.fury.io/py/pygasflow.svg)](https://badge.fury.io/py/pygasflow)
[![Install with conda](https://anaconda.org/davide_sd/pygasflow/badges/installer/conda.svg)](https://anaconda.org/Davide_sd/pygasflow)
[![Documentation Status](https://readthedocs.org/projects/pygasflow/badge/?version=latest)](https://pygasflow.readthedocs.io/en/latest/?badge=latest)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Davide-sd/pygasflow/HEAD)

**pygasflow** is a Python package that provides a few handful functions to quickly perform:

* Quasi-1D ideal gasdynamic (perfect gas). The following solvers are implemented:
  * ``isentropic_solver`` (or ``ise``).
  * ``fanno_solver`` (or ``fan``).
  * ``rayleigh_solver`` (or ``ray``).
  * ``shockwave_solver`` (or ``ss``) for normal and oblique shock waves.
  * ``conical_shockwave_solver`` (or ``css``).
  * ``De_Laval_solver`` and the ``nozzles`` sub-module, containing functions and classes to understand convergent-divergent nozzles, Rao's TOP nozzles (Thrust Optmizie Parabolic), Minimum Length nozzle with Method of Characteristics. Nozzles can be used to quickly visualize their geometric differences or to solve the isentropic expansion with the `De_Laval_Solver` class. 

* Aerothermodynamic computations (``pygasflow.atd`` module):
  * Correlations to estimate boundary layer thickness, heat flux and wall shear stress over a flat plate or a stagnation region.
  * Newtonian Flow Theory to estimate the pressure distribution around objects and their aerodynamic characteristics. 

The following charts has been generated with the functions included in this package:
<div>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/isentropic.png" width=250/>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/fanno.png" width=250/>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/rayleigh.png" width=250/>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/mach-beta-theta.png" width=250/>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/conical-flow.png" width=250/>
<img src="https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/shock-reflection.png" width=250/>
</div>


## Installation

The repository is avaliable on PyPi:

```
pip install pygasflow
```

And also on Conda:

```
conda install -c davide_sd pygasflow 
```


## Usage

The easiest way is to call a solver. Let's say you need to solve an isentropic flow: 

```python
from pygasflow import isentropic_solver
help(isentropic_solver)
isentropic_solver("m", 2, to_dict=True)
# {'m': 2.0,
#  'pr': 0.12780452546295096,
#  'dr': 0.2300481458333117,
#  'tr': 0.5555555555555556,
#  'prs': 0.24192491286747442,
#  'drs': 0.36288736930121157,
#  'trs': 0.6666666666666667,
#  'urs': 2.3515101530718505,
#  'ars': 1.6875000000000002,
#  'ma': 30.000000000000004,
#  'pm': 26.379760813416457}
```

Should a solver not be sufficient for your use case, feel free to explore the code implemented inside each flow's type, maybe you'll find a function that suits your needs.

Please:

* take a look at the notebooks contained in the [examples](examples/) folder. You can also try this package online with Binder. [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Davide-sd/pygasflow/HEAD)
* visit the [documentation page](https://pygasflow.readthedocs.io/en/latest/).
* If you find any errors, open an issue or submit a pull request!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Davide-sd/pygasflow",
    "name": "pygasflow",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "gasdynamic shockwave fanno rayleigh isentropic flow perfect gas",
    "author": "Davide Sandona",
    "author_email": "sandona.davide@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/4e/9d2db4189dc10210c1c8f73f76eee34f91384a30ad55da57b7f303818e70/pygasflow-1.1.1.tar.gz",
    "platform": null,
    "description": "# pygasflow\n\n[![PyPI version](https://badge.fury.io/py/pygasflow.svg)](https://badge.fury.io/py/pygasflow)\n[![Install with conda](https://anaconda.org/davide_sd/pygasflow/badges/installer/conda.svg)](https://anaconda.org/Davide_sd/pygasflow)\n[![Documentation Status](https://readthedocs.org/projects/pygasflow/badge/?version=latest)](https://pygasflow.readthedocs.io/en/latest/?badge=latest)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Davide-sd/pygasflow/HEAD)\n\n**pygasflow** is a Python package that provides a few handful functions to quickly perform:\n\n* Quasi-1D ideal gasdynamic (perfect gas). The following solvers are implemented:\n  * ``isentropic_solver`` (or ``ise``).\n  * ``fanno_solver`` (or ``fan``).\n  * ``rayleigh_solver`` (or ``ray``).\n  * ``shockwave_solver`` (or ``ss``) for normal and oblique shock waves.\n  * ``conical_shockwave_solver`` (or ``css``).\n  * ``De_Laval_solver`` and the ``nozzles`` sub-module, containing functions and classes to understand convergent-divergent nozzles, Rao's TOP nozzles (Thrust Optmizie Parabolic), Minimum Length nozzle with Method of Characteristics. Nozzles can be used to quickly visualize their geometric differences or to solve the isentropic expansion with the `De_Laval_Solver` class. \n\n* Aerothermodynamic computations (``pygasflow.atd`` module):\n  * Correlations to estimate boundary layer thickness, heat flux and wall shear stress over a flat plate or a stagnation region.\n  * Newtonian Flow Theory to estimate the pressure distribution around objects and their aerodynamic characteristics. \n\nThe following charts has been generated with the functions included in this package:\n<div>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/isentropic.png\" width=250/>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/fanno.png\" width=250/>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/rayleigh.png\" width=250/>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/mach-beta-theta.png\" width=250/>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/conical-flow.png\" width=250/>\n<img src=\"https://raw.githubusercontent.com/Davide-sd/pygasflow/master/imgs/shock-reflection.png\" width=250/>\n</div>\n\n\n## Installation\n\nThe repository is avaliable on PyPi:\n\n```\npip install pygasflow\n```\n\nAnd also on Conda:\n\n```\nconda install -c davide_sd pygasflow \n```\n\n\n## Usage\n\nThe easiest way is to call a solver. Let's say you need to solve an isentropic flow: \n\n```python\nfrom pygasflow import isentropic_solver\nhelp(isentropic_solver)\nisentropic_solver(\"m\", 2, to_dict=True)\n# {'m': 2.0,\n#  'pr': 0.12780452546295096,\n#  'dr': 0.2300481458333117,\n#  'tr': 0.5555555555555556,\n#  'prs': 0.24192491286747442,\n#  'drs': 0.36288736930121157,\n#  'trs': 0.6666666666666667,\n#  'urs': 2.3515101530718505,\n#  'ars': 1.6875000000000002,\n#  'ma': 30.000000000000004,\n#  'pm': 26.379760813416457}\n```\n\nShould a solver not be sufficient for your use case, feel free to explore the code implemented inside each flow's type, maybe you'll find a function that suits your needs.\n\nPlease:\n\n* take a look at the notebooks contained in the [examples](examples/) folder. You can also try this package online with Binder. [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Davide-sd/pygasflow/HEAD)\n* visit the [documentation page](https://pygasflow.readthedocs.io/en/latest/).\n* If you find any errors, open an issue or submit a pull request!\n",
    "bugtrack_url": null,
    "license": "GNU GPL v3",
    "summary": "Ideal Gasdynamics utilities for Python 3.6+",
    "version": "1.1.1",
    "project_urls": {
        "Homepage": "https://github.com/Davide-sd/pygasflow"
    },
    "split_keywords": [
        "gasdynamic",
        "shockwave",
        "fanno",
        "rayleigh",
        "isentropic",
        "flow",
        "perfect",
        "gas"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c9330e53d53d37966bbea61803278eed8f68077ced2949c96f62ff02f506e79",
                "md5": "e90b99909f41c78d77d725dc9881b048",
                "sha256": "5fd261d788daf95ef2e991951d49a8f3cd1ecd57b2e68f902c3ca26b5cb55d8f"
            },
            "downloads": -1,
            "filename": "pygasflow-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e90b99909f41c78d77d725dc9881b048",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 88442,
            "upload_time": "2024-01-12T18:30:41",
            "upload_time_iso_8601": "2024-01-12T18:30:41.131404Z",
            "url": "https://files.pythonhosted.org/packages/4c/93/30e53d53d37966bbea61803278eed8f68077ced2949c96f62ff02f506e79/pygasflow-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b04e9d2db4189dc10210c1c8f73f76eee34f91384a30ad55da57b7f303818e70",
                "md5": "bae4ba63b0b373f978f747a1e131b2e1",
                "sha256": "30e586d8882cf9b48be72e7b92edd6a748a370931ef5b3639f0eee6d6bbbc8a8"
            },
            "downloads": -1,
            "filename": "pygasflow-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "bae4ba63b0b373f978f747a1e131b2e1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 82488,
            "upload_time": "2024-01-12T18:30:42",
            "upload_time_iso_8601": "2024-01-12T18:30:42.654544Z",
            "url": "https://files.pythonhosted.org/packages/b0/4e/9d2db4189dc10210c1c8f73f76eee34f91384a30ad55da57b7f303818e70/pygasflow-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-12 18:30:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Davide-sd",
    "github_project": "pygasflow",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pygasflow"
}
        
Elapsed time: 0.16299s