Giter VIP home page Giter VIP logo

caeroc's Introduction

caeroc

Compressible Aerodynamics Calculator for Python

Latest version LICENSE travis

A python package for compressible flows. A dynamic toolkit which enables you to make use of the formulae governing compressible flows.

Screenshot
Demo. Click to see the full video

Requirements

  • Python 2.7, >=3.4
  • pylab (numpy, scipy and matplotlib)
  • ashwinvis/scikit-aero >= 0.2
  • PyQt5 / PySide (optional, but recommended for GUI)
  • pandas (optional: for making tables)
  • colorlog (optional: for coloured log)

Installation

To install from PyPI:

pip install -e git+https://github.com/AeroPython/scikit-aero.git#egg=scikit-aero

# Any of the following
pip install caeroc
pip install caeroc[pyqt]
pip install caeroc[pyside]

To install development versions of caeroc and scikit-aero

pip install pipenv
pipenv install -e git+https://github.com/ashwinvis/caeroc.git#egg=caeroc

If the current configuration of the GUI does not work for you, regenerate it by running:

cd caeroc/gui
./configure

Launch

Simply run in your terminal

caeroc-app

Features

  • [x] Command-line tool which opens a Qt based GUI calculator

    In development

  • [ ] Save data as a database

  • [ ] Plotting graphs

  • [ ] Generate gas tables

  • [ ] Calculate flow characteristics: Coefficient of pressure, lift and drag for basic profiles.

Courtesy

  • The idea for a compressible aerodynamics calculator in the form an online JS tool had been implemented by William Devenport here. This project is pushing more functionalities as an offline tool and allowing users to dynamically use the formulae for specific cases.
  • Thanks to the scikit-aero team for being the backend

caeroc's People

Contributors

ashwinvis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

caeroc's Issues

Normal shock mode : better error handling required when illegal values are entered

Should not get core dumped. Will have to be dealt in scikit-aero/skaero/gasdynamics/isentropic.py or in caeroc.

DEBUG:caeroc-app:MODE: Normal shock relations
INFO:caeroc-app:{'M_1': 0.9}
CRITICAL:caeroc-app:Mach number must be supersonic
Traceback (most recent call last):
  File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/isentropic.py", line 54, in mach_angle
    mu = np.arcsin(1 / M)
FloatingPointError: invalid value encountered in arcsin

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/avmo/src/caeroc/caeroc/gui/runtime.py", line 214, in on_qpb_calculate_released
    self.mode.calculate(**kwargs)
  File "/home/avmo/src/caeroc/caeroc/formulae/shock.py", line 89, in calculate
    self.store(key, getattr(self, key))
  File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/shocks.py", line 219, in M_2
    M_2 = self.M_2n / np.sin(self.beta - self.theta)
  File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/shocks.py", line 194, in theta
    if self.beta == mach_angle(self.M_1) or self.beta == np.pi / 2:
  File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/isentropic.py", line 56, in mach_angle
    raise ValueError("Mach number must be supersonic")
ValueError: Mach number must be supersonic
[1]    11343 abort (core dumped)  caeroc-app

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.