MCycle

MCycle: A Python package for 1D sizing and analysis of thermodynamic power cycles - Published in JOSS (2018)

https://github.com/momargoh/mcycle

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

heat-exchanger heat-transfer power-cycle thermodynamics thermodynamics-models

Scientific Fields

Mathematics Computer Science - 37% confidence
Last synced: 6 months ago · JSON representation

Repository

A Python package for 1D sizing and analysis of thermodynamic power cycles

Basic Info
  • Host: GitHub
  • Owner: momargoh
  • License: apache-2.0
  • Language: Cython
  • Default Branch: master
  • Size: 66.5 MB
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 6
  • Open Issues: 0
  • Releases: 3
Topics
heat-exchanger heat-transfer power-cycle thermodynamics thermodynamics-models
Created almost 8 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog License

README.rst

=================
MCycle README
=================
   
.. warning::
  MCycle is currently undergoing an overhaul and a new version will be published shortly. I'd consider waiting for the new version to avoid having to rework your scripts later!

.. contents::

Meta
=========

:Version:
   1.0.1
:Author:
   Momar Hughes
:Contact:
   momarhughes@hotmail.com
:Topic:
   Thermodynamic power-cycle sizing and analysis
:Licence:
   Apache License 2.0
:Requires:
   numpy, scipy, matplotlib, Cython, CoolProp
.. image:: http://joss.theoj.org/papers/10.21105/joss.00710/status.svg
   :target: https://doi.org/10.21105/joss.00710
   :alt: JOSS Publication
.. image:: https://readthedocs.org/projects/mcycle/badge/?version=latest
   :target: https://mcycle.readthedocs.io/?badge=latest
   :alt: Docs Build Status
	
About
=========

MCycle is a Python3 module for 1-dimensional analysis and sizing of thermodynamic heat cycles. Sizing methods are based on empirical and theoretical correlations. Users may analyse cycles consisting of components including heaters, coolers, compressors, expanders and heat exchangers. The two main modes for analysing cycles or components are:
  
* ``size`` : calculates a component characteristic/dimension required to satisfy a desired component outlet flow state/cycle flow states. This mode is used for sizing components.

* ``run`` : calculates working fluid cycle flow states/ component outlet flow state based on user-defined characteristics/dimensions of the components.

Thermodynamic Properties
=========================

All thermodynamic fluid properties are computed using CoolProp. The latest list of available pure and pseudo-pure fluids can be found here: `link `_. Mixtures are also supported, though due to their complexity, may only be defined by pressure/quality, temperature/quality or pressure/temperature. See here for more info about mixtures: `link `_. CoolProp can also use `REFPROP `_ as its backend, so you may use any REFPROP fluids if you have a licence (see https://github.com/usnistgov/REFPROP-cmake for instructions on installing REFPROP shared library). Your REFPROP `FORTRAN` and `FLUID` folders will need to be added to PATH (and renamed to lowercase `fortran` and `fluid` on Linux & OSX), or you may use the following function to point CoolProp towards your REFPROP build directory (see here for more info about PATH issues http://www.coolprop.org/coolprop/REFPROP.html#path-issues) ::

  mcycle.setupREFPROP(ALTERNATIVE_REFPROP_PATH='/path/to/REFPROP/directory', ALTERNATIVE_REFPROP_LIBRARY_PATH='', ALTERNATIVE_REFPROP_HMX_BNC_PATH='')

Code Source
=========================

The Github project page can be found at `https://github.com/momargoh/MCycle `_. The documentation is hosted at https://mcycle.readthedocs.io.

Contributions towards the project source code will be gratefully received. Feel free to contact the author via email with any queries. If using this package for your own research, please cite the following `publication `_.

.. code-block:: none

  Hughes, M. (2018). MCycle: A Python package for 1D sizing and analysis of thermodynamic power cycles. Journal of Open Source Software, 3(28), 710, https://doi.org/10.21105/joss.00710

  @article{hughes2018mcycle,
    title={{MCycle}: A Python package for 1D sizing and analysis of thermodynamic power cycles},
    author={Momar Graham-Orr Hughes},
    journal={Journal of Open Source Software (JOSS)},
    volume={3},
    number={28},
    pages={710},
    year={2018},
    month=aug,
    publisher={The Open Journal},
    url={https://doi.org/10.21105/joss.00710},
    doi={10.21105/joss.00710},
  }
            
.. _section-README-installation:

Installation
============

Requirements::
  
  sudo apt install build-essential python3 python3-dev python3-pip python3-tk cython3 git
  pip3 install Cython
  pip3 install numpy
  pip3 install scipy
  pip3 install matplotlib

MCycle also requires `CoolProp `_, a free and open-source thermodynamic properties library. The latest version can be installed from pip::

  pip3 install CoolProp

MCycle should now be ready to be installed. For the latest updates, clone/download the source code from the `Github page `_ and run from the package directory::

  python3 setup.py install
  
.. note:: A deprecated version of MCycle is available from pip. This will soon be replaced by the most recent version (requiring Cython).
..   For the latest stable release, MCycle is also available from pip by running:: 

..  pip3 install mcycle
     
.. readme-link-marker
   
.. _section-README-quickstart:


Quick start
===========

Have a look through the `quick start example `_ that demonstrates some of the basic functionality of MCycle. The `examples folder `_ also contains more advanced examples, any of which can easily be copied to your local directory and modified as required.

Owner

  • Name: Momar Hughes
  • Login: momargoh
  • Kind: user
  • Location: Australia
  • Company: @Photonik-Solar

Creative problem solver (Fullstack developer, Ph.D. Candidate, Python freelancer)

JOSS Publication

MCycle: A Python package for 1D sizing and analysis of thermodynamic power cycles
Published
August 02, 2018
Volume 3, Issue 28, Page 710
Authors
Momar G-o Hughes ORCID
University of New South Wales, Sydney, Australia
Editor
Kathryn Huff ORCID
Tags
thermodynamics power cycle component sizing

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 93
  • Total Committers: 2
  • Avg Commits per committer: 46.5
  • Development Distribution Score (DDS): 0.011
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
momargoh m****s@o****m 92
ChenlingJ 8****J 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 1
  • Average time to close issues: 21 days
  • Average time to close pull requests: 3 months
  • Total issue authors: 4
  • Total pull request authors: 1
  • Average comments per issue: 2.86
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • puncan (4)
  • Dinglebarry9 (1)
  • guipradow (1)
  • shigubuhua (1)
Pull Request Authors
  • ChenlingJ (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 16 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 3
  • Total maintainers: 1
pypi.org: mcycle

Power cycle sizing and analysis package

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 16 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 15.4%
Stargazers count: 18.5%
Average: 20.8%
Dependent repos count: 21.6%
Downloads: 38.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • CoolProp *
  • Cython *
  • Jinja2 *
  • Pygments *
  • alabaster *
  • babel *
  • docutils *
  • imagesize *
  • matplotlib *
  • numpy *
  • numpydoc *
  • requests *
  • scipy *
  • setuptools *
  • six *
  • snowballstemmer *
  • sphinxcontrib-websupport *
setup.py pypi
  • CoolProp *
  • Cython *
  • matplotlib *
  • numpy *
  • scipy *