python中的航空工程计算。
scikit-aero的Python项目详细描述
Scikit Aero
Name: | scikit-aero |
---|---|
Website: | https://github.com/Pybonacci/scikit-aero |
Author: | Juan Luis Cano <juanlu001@gmail.com> |
Version: | 0.1 |
scikit aero是一个用于各种航空工程的python包 计算。它是基于几个现有的Python软件包, 但打算提供pythonic语法,使用si单位和完整的numpy数组 支持等等。Scikit Aero根据BSD许可证获得许可。
它由Juan Luis Cano于2012年启动,目前正在开发和 由他维护。源代码和问题跟踪程序都托管在 Github
https://github.com/Pybonacci/scikit-aero
注意:此包正在进行大量开发,api可能会更改 在达到1.0版本之前的任何时间。它是稳定的但不是feaure 已经完成了,它可能包含错误。
功能
- pythonic接口。
- 使用国际单位制。
- 完全支持numpy数组。
- 同时支持Python2和3。
- 全面测试和记录。
- 标准大气特性可达11公里(对流层)。
- 气体动力学计算。
未来
- 全coesa模型。
- 空速转换。
- 坐标系。
- 大部分PDA。
用法
大气特性:
>>> from skaero.atmosphere import coesa >>> h, T, p, rho = coesa.table(1000) # Altitude by default, 1 km
密度和压力的反计算是单调的:
>>> h, T, p, rho = coesa.table(p=101325) # Pressure of 1 atm
气体动力学计算:
>>> from skaero.gasdynamics import isentropic, shocks >>> fl = isentropic.IsentropicFlow(gamma=1.4) >>> p = 101325 * fl.p_p0(M=0.8) # Static pressure given total pressure of 1 atm >>> ns = shocks.NormalShock(M_1=2.5, gamma=1.4) >>> M_2 = ns.M_2 # Mach number behind a normal shock wave
依赖关系
这个包依赖于python、numpy和scipy,通常在 Linux的以下版本:
- python 2.7,numpy 1.6,scipy 0.11
- python 3.3,numpy 1.7.0b2,scipy 0.11.0
但是没有理由它不能在Windows或MacOSX上运行。 愿意在这个平台上进行测试,请 contact me如果发现任何错误,请将其归档 在issue tracker上。
安装
这个包使用distutils。要安装,请照常执行:
$ python setup.py install
建议永远不要将sudo与distutils、pip, 因为你可能会严重破坏你的 系统[1[2[3[4]。我建议使用virtualenv,per user directories 或者local installations。
测试
scikit aero推荐py.test来运行测试套件。从 顶级目录:
$ py.test
错误报告
我很确定我的代码中从不引入bug,但是如果你想证明 我错了,请参考github上的issue tracker。
引用
如果您在项目中使用Scikit Aero,请 drop me a line。
许可证
Scikit Aero是根据2条款的BSD许可证发布的,因此允许商业使用 图书馆的。请参阅复印文件。
另请参见
- AeroCalc,由凯文·霍顿编写的软件包,它启发了scikit aero。
- MATLAB Aerospace Toolbox,
- PDAS,公共领域的航空软件。