Metadata-Version: 2.1
Name: c81utils
Version: 1.0.7
Summary: Library for working with C81 airfoil data
Home-page: http://pypi.python.org/pypi/c81utils
Author: Cibin Joseph
Author-email: cibinjoseph92@gmail.com
License: GPL3
Keywords: c81
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3
Description-Content-Type: text/x-rst
License-File: LICENSE

.. image:: https://img.shields.io/pypi/v/c81utils.svg
   :target: https://pypi.org/project/c81utils/
   :alt: c81utils on PyPI

.. image:: https://travis-ci.com/cibinjoseph/c81utils.svg?token=FMmn3XQeRECGNsy6mT6B&branch=master
   :target: https://travis-ci.com/cibinjoseph/c81utils

c81utils
=========
A Python module for working with C81 airfoil tables.  

Usage
-------
*c81utils* implements a ``C81`` class that handles the C81 data for each airfoil.  
A few example usages are shown below:

.. code-block:: python

    import c81utils
    import numpy as np    # Works with numpy arrays too

    # Use 'load' to obtain data from a C81 formatted text file
    with open("NACA0012.C81", "r") as f:
      naca0012 = c81utils.load(f)

    # Use the 'get' commands to obtain bilinearly interpolated data
    desiredAlpha = 5.0    # in degrees
    desiredMach = 0.3
    desiredCL = naca0012.getCL(desiredAlpha, desiredMach)
    desiredCD = naca0012.getCD(desiredAlpha, desiredMach)
    desiredCM = naca0012.getCM(desiredAlpha, desiredMach)

    # Combine 'get' commands with the 'map' command to operate on lists
    desiredAlpha = np.linspace(0, 10, 6)
    desiredMach = [0.0, 0.1, 0.0, 0.3, 0.5, 0.8]
    desiredCL = list(map(naca0012.getCL, desiredAlpha, desiredMach))

    # Data may also be input using arrays
    alpha = [0, 2, 4, 6]
    mach = [0.0, 0.5, 1.0]
    Cx = [[0.0, 0.0, 0.0],
          [0.2, 0.2, 0.2],
          [0.4, 0.4, 0.4],
          [0.6, 0.6, 0.6]]
    CL, CD, CM = Cx, Cx, Cx
    myAirfoil = c81utils.C81('myAirfoil', \
                             alpha, mach, CL, \
                             alpha, mach, CD, \
                             alpha, mach, CM)


Installation
-------------
*c81utils* is written in Python 3. Use pip to install.

.. code-block:: bash

    pip3 install c81utils


Author
-------
`Cibin Joseph <https://github.com/cibinjoseph>`_

1.0.7 (2022-09-07)
--------------------
* Fix multiline data recognition.

1.0.5 (2021-07-21)
--------------------
* Ensure mach and alpha arrays have atleast two values.

1.0.4 (2021-07-21)
--------------------
* Ensure mach and alpha arrays are strictly increasing.

1.0.0 (2020-04-25)
--------------------
* Initial release.


