已编译的python模块的精简版xrotor
xrotor的Python项目详细描述
一般
这是XRotor的精简版。所有的修改、设计和图形功能 已被移除。此精简版中提供的主菜单选项只有:
- Oper,允许计算给定工作条件下的性能特性;
- 弯曲,用于计算结构荷载和变形;
- nois,用于计算声学特征;
- 加载,从磁盘加载螺旋桨定义文件;
- save,将螺旋桨定义文件保存到磁盘;和
- disp,在屏幕上显示当前螺旋桨特性数据。
构建和安装python模块
要成功构建和安装python模块,系统上必须具备一些先决条件。首先, 当然,python的工作安装是必需的。该模块以Python3为目标,不支持Python2。 此外,C和Fortran的工作编译器必须安装在路径上。在windows上,构建和 安装只测试了mingw,使用gcc和gfortran。
然后,安装Xrotor应该和运行一样简单:
pip install xrotor
或者,从下载的存储库的根目录:
pip install .
在windows上,您可能必须强制系统使用mingw。为此,请在中创建名为distutils.cfg
的文件
PYTHONPATH\Lib\distutils
包含以下内容:
[build]compiler=mingw32
如果不能为python环境创建此文件,也可以强制使用mingw
调用pip
时直接调用:
pip install --global-option build_ext --global-option --compiler=mingw32 xrotor
使用模块
所有的xrotor操作都是使用XRotor
类执行的。所以使用这个模块的第一步是创建
此类的实例:
>>> fromxrotorimportXRotor>>> xr=XRotor()
如果这不会产生任何错误,安装程序应该正常运行。 测试用例与模块一起安装。要在xrotor中运行它,请在同一python中执行以下命令 控制台:
>>> fromxrotor.modelimportCase>>> fromxrotor.testimportcase>>> xr.case=Case.from_dict(case)>>> xr.operate(1,2000) Iter dGmax @Imax gGrms Av Aw Be rlx 1 0.397E-01 1 0.167E-02 0.1553 0.1750 9.966 0.2000 2 0.225E-01 1 0.103E-02 0.1553 0.1764 9.966 0.2000 3 0.154E-01 1 0.733E-03 0.1553 0.1776 9.966 0.2000 4 0.116E-01 1 0.559E-03 0.1553 0.1824 9.966 1.0000 5 0.514E-03 29 0.224E-04 0.1553 0.1825 9.966 0.2000 6 0.412E-03 29 0.179E-04 0.1553 0.1825 9.966 1.0000 7 0.227E-05 29 0.742E-07 0.1553 0.1825 9.966 0.2000
这些命令初始化了xrotor中的样本螺旋桨定义,并以2000转/分的固定转速运行。 以前使用过XRotor控制台应用程序的任何人都应该熟悉上一个功能的输出: 这是oper命令的收敛历史。熟悉的解决方案结果也可以用 以下命令:
>>> xr.print_case() =========================================================================== Free Tip Potential Formulation Solution: Wake adv. ratio: 0.18252 no. blades : 2 radius(m) : 0.8300 adv. ratio: 0.15532 thrust(n) : 481. power(w) : 0.219E+05 torque(n-m): 105. Efficiency : 0.5929 speed(m/s) : 27.000 rpm : 2000.000 Eff induced: 0.8510 Eff ideal : 0.8993 Tcoef : 0.4981 Tnacel(n) : 0.0132 hub rad.(m): 0.0600 disp. rad. : 0.0000 Tvisc(n) : -15.5982 Pvisc(w) : 0.615E+04 rho(kg/m3) : 1.22500 Vsound(m/s): 340.000 mu(kg/m-s) : 0.1789E-04 --------------------------------------------------------------------------- Sigma: NaN Ct: 0.04658 Cp: 0.03833 j: 0.48795 Tc: 0.49815 Pc: 0.84023 adv: 0.15532 i r/r c/r beta(deg) cl Cd rEx10^6 Mach effi effp na.u/u 1 0.081 0.1458 59.81 0.433 0.0934 0.25 0.090 3.944 0.555 0.000 2 0.108 0.1475 56.04 0.501 0.0799 0.28 0.097 1.343 0.691 0.000 3 0.149 0.1500 50.09 0.602 0.0720 0.32 0.110 1.036 0.782 0.000 4 0.196 0.1527 43.42 0.642 0.0687 0.38 0.127 0.953 0.808 0.000 5 0.244 0.1558 36.98 0.624 0.0620 0.44 0.147 0.933 0.816 0.000 6 0.292 0.1594 31.45 0.581 0.0559 0.52 0.169 0.933 0.811 0.000 7 0.341 0.1634 27.32 0.544 0.0521 0.60 0.191 0.928 0.800 0.000 8 0.388 0.1672 24.38 0.521 0.0495 0.69 0.214 0.914 0.789 0.000 9 0.435 0.1697 22.20 0.506 0.0474 0.77 0.236 0.896 0.781 0.000 10 0.481 0.1699 20.38 0.494 0.0459 0.85 0.258 0.882 0.772 0.000 11 0.526 0.1679 18.76 0.484 0.0450 0.91 0.280 0.875 0.761 0.000 12 0.569 0.1639 17.37 0.476 0.0444 0.95 0.301 0.871 0.749 0.000 13 0.611 0.1583 16.20 0.471 0.0440 0.99 0.322 0.867 0.738 0.000 14 0.652 0.1515 15.24 0.470 0.0438 1.00 0.342 0.864 0.729 0.000 15 0.690 0.1438 14.45 0.471 0.0436 1.00 0.361 0.860 0.722 0.000 16 0.727 0.1356 13.78 0.475 0.0436 0.99 0.380 0.856 0.715 0.000 17 0.762 0.1271 13.22 0.479 0.0438 0.98 0.397 0.853 0.709 0.000 18 0.794 0.1188 12.73 0.483 0.0441 0.95 0.414 0.849 0.702 0.000 19 0.825 0.1106 12.29 0.486 0.0447 0.92 0.429 0.846 0.694 0.000 20 0.853 0.1029 11.91 0.487 0.0455 0.88 0.443 0.843 0.685 0.000 21 0.879 0.0958 11.57 0.485 0.0466 0.84 0.456 0.838 0.673 0.000 22 0.903 0.0892 11.26 0.479 0.0481 0.81 0.468 0.832 0.660 0.000 23 0.924 0.0834 10.99 0.468 0.0501 0.77 0.479 0.824 0.642 0.000 24 0.943 0.0782 10.74 0.450 0.0529 0.74 0.488 0.813 0.618 0.000 25 0.959 0.0738 10.53 0.423 0.0570 0.71 0.496 0.796 0.585 0.000 26 0.972 0.0701 10.35 0.385 0.0635 0.68 0.503 0.775 0.537 0.000 27 0.983 0.0672 10.20 0.335 0.0740 0.66 0.509 0.747 0.467 0.000 28 0.991 0.0651 10.08 0.270 0.0913 0.65 0.513 0.713 0.365 0.000 29 0.997 0.0636 10.01 0.193 0.1177 0.63 0.516 0.675 0.236 0.000 30 0.999 0.0629 9.97 0.125 0.1467 0.63 0.518 0.642 0.123 0.000
如果模块正常工作,则输出应与上面显示的输出匹配。
在撰写本文时,仅有的两种工作模式是固定转速和固定叶距的固定推力。
两者都可以通过对XRotor
类的实例调用operate
成员函数来调用。第一个论点
此函数指定使用哪种模式:1表示固定转速,如上所示;2表示固定推力
叶片间距。函数的第二个参数指定RPM/推力的值。
有关如何使用api的详细说明,请参阅文档。