已编译的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的详细说明,请参阅文档。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用CSPRNG中的序列种子PRNG安全吗?   java如何使JTable列大小与内容精确(或紧密)匹配?   java Android textview具有两种不同大小的文本   java在任意事物的列表(数组)中创建关联的最佳方法是什么?   java保存可扩展字符串?   java成员类(内部类)如何访问外部类的实例变量?   java使用Android 6.0(API级别23)使用rest的最佳方式是什么   java为什么我会收到“学习记录”。Student@25a43blb'尝试显示链接列表中的所有对象时?   java如何将SVG文本转换为SVG路径?   java Paypal返回URL参数支付状态   java Libgdx:导出到可运行Jar   java JPA获取连接实体的最小/最大属性   附加到类型变量的java编号?   java Object[]到底是什么?   java如何在安卓中的片段和活动之间共享数据   java使用MinGW为windows构建linux库   java将变量值传递给eval函数   java仅在转换完成时使方法返回   Java二维数组对角线