CN112668122A - 基于python语言的汽轮机叶片造型设计系统 - Google Patents
基于python语言的汽轮机叶片造型设计系统 Download PDFInfo
- Publication number
- CN112668122A CN112668122A CN202011630548.6A CN202011630548A CN112668122A CN 112668122 A CN112668122 A CN 112668122A CN 202011630548 A CN202011630548 A CN 202011630548A CN 112668122 A CN112668122 A CN 112668122A
- Authority
- CN
- China
- Prior art keywords
- blade
- points
- line
- constraint
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
基于python语言的汽轮机叶片造型设计系统,属于汽轮机叶片设计领域。本发明是为了解决现有的叶片造型设计需要设计者的工程经验,导致设计方法不够程序化、消耗大量时间成本的问题。本发明所述的系统包括:叶片设计参数输入模块、叶片约束点坐标计算模块、叶片型线控制系数计算模块、叶片型线点计算模块、叶片通道边界线计算模块以及计算点输出模块;输入叶片设计参数;通过叶片设计参数获取叶片约束点的坐标;所述叶片型线控制系数计算模块用于建立叶片型线各段曲线线段的约束方程,通过求解约束方程得到叶片上型线点的坐标;获取叶片计算通道边界;输出点文件,包括叶片型线点坐标和通道边界点坐标。本发明用于汽轮机叶片设计。
Description
技术领域
本发明涉及基于python语言的汽轮机叶片造型设计系统。属于汽轮机叶片设计领域。
背景技术
目前,轴流式蒸汽轮机叶片设计方面已经拥有成熟的体系和方法,但对于设计者初步得到的叶片母型的优化问题,仍需要人为的使用计算流体力学和有限元结构分析等相关仿真计算软件进行气动分析、强度考核、安全评估以及加工装配分析,并根据仿真计算的结果对母型进行修改,优化过程的合理性和成功率很大程度上取决于设计者的工程经验,往往优化结果背道而驰,并且耗费了大量的精力和时间。为此,针对于当前国内外主流的叶片结构设计方法,亟需着力开发一套叶片自动造型程序,以实现叶片型线设计和优化工作的程序化,节约叶片优化的时间成本,为设计者提供更加便捷的程序工具支持。
发明内容
本发明是为了解决现有的叶片造型设计需要设计者的工程经验,导致设计方法不够程序化、消耗大量时间成本的问题。现提供基于python语言的汽轮机叶片造型设计系统。
基于python语言的汽轮机叶片造型设计系统,包括:
叶片设计参数输入模块、叶片约束点坐标计算模块、叶片型线控制系数计算模块、叶片型线点计算模块、叶片通道边界线计算模块以及计算点输出模块;
所述叶片设计参数输入模块用于输入叶片设计参数,所述参数包括:叶片入口几何气流角alpha1、出口几何气流角beta2、轴向宽度B、安装角stagger、入汽圆半径r1、出汽圆半径r2、出汽圆圆心定位坐标(x2,y2)、进汽半楔角WE_LE、出汽半楔角WE_TE、喉部宽度o、节距t、通道出口收束角theta、背弧膨胀段调控参数m、背弧斜切段调控参数 w、内弧膨胀段调控参数n、内弧插值点数量N1、背弧插值点数量N2;其中,长度单位均为mm,坐标单位均为mm,角度单位均为度;
所述叶片约束点坐标计算模块用于通过叶片设计参数获取叶片约束点的坐标;
所述叶片型线控制系数计算模块用于建立叶片型线各段曲线线段的约束方程,所述叶片型线即叶片的外轮廓线;
所述叶片型线点计算模块用于通过求解约束方程得到叶片上型线点的坐标;
所述叶片通道边界线计算模块用于获取叶片计算通道完整边界;
所述计算点输出模块用于输出叶片型线和叶片计算通道边界的点文件,所述点文件包括叶片型线点坐标和通道边界点坐标。
有益效果
本发明基于python语言程序将当前的造型方法程序化,考虑了叶型气动计算的进出口边界和对称边界的设计,且节省了时间成本。
附图说明
图1为本发明程序运行原理图;
图2为叶片涉及的参数示意图。
具体实施方式
具体实施方式一:结合图1、图2以及《叶片造型程序》具体说明本实施方式,基于python语言的汽轮机叶片造型设计系统,包括:叶片设计参数输入模块、叶片约束点坐标计算模块、叶片型线控制系数计算模块、叶片型线点计算模块、叶片通道边界线计算模块和计算点输出模块;
所述叶片设计参数输入模块,对应《叶片造型程序》的第9—45行,用于输入文本,所述文本包括叶片设计中必要的设计参数,其中设计参数包括:叶片入口几何气流角(alpha1)、出口几何气流角(beta2)、轴向宽度(B)、安装角(stagger)、入汽圆半径(r1)、出汽圆半径(r2)、出汽圆圆心定位坐标(x2,y2)、进汽半楔角(WE_LE)、出汽半楔角 (WE_TE)、喉部宽度(o)、节距(t)、通道出口收束角(theta)、背弧膨胀段调控参数(m)、背弧斜切段调控参数(w)、内弧膨胀段调控参数(n)、内弧插值点数量N1、背弧插值点数量N2,所述的这些参数中,长度单位均为mm,定位坐标单位均为mm,角度单位均为度;
所述叶片约束点坐标计算模块,对应《叶片造型程序》的第48—81行,用于通过叶片设计参数获取叶片约束点坐标;
所述叶片型线控制系数计算模块,对应《叶片造型程序》的第84—204行,用于建立叶片型线各段曲线线段的约束方程;
所述叶片型线点计算模块,对应《叶片造型程序》的第27—223行,用于求解叶片型线各段曲线线段的约束方程,获取叶片所有型线点的坐标;
所述叶片通道边界线计算模块,对应《叶片造型程序》的第226—236行,用于获取叶片计算通道完整边界;
所述计算点输出模块,对应《叶片造型程序》的第239—331行,用于输出叶片型线和叶片计算通道边界的点文件。
具体实施方式二:本实施方式与具体实施方式以不同的是,所述叶片约束点坐标计算模块,对应《叶片造型程序》的第48—81行,用于通过叶片设计参数获取叶片约束点坐标,具体过程为:
将叶片型线分割为进汽圆弧膨胀段、内弧膨胀段、出汽圆弧膨胀段、背弧膨胀段和背弧斜切段五条曲线线段,所述叶片型线即为叶片的外轮廓线,并将每条曲线线段的两个端点作为叶片型线的约束点进行计算,分别得到5条曲线线段相对应的A,B,C,D,E5个叶片约束点坐标。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述叶片型线控制系数计算模块,对应《叶片造型程序》的第84—204行,用于建立叶片型线各段曲线线段的约束方程,具体过程为:
针对背弧膨胀段、背弧斜切段和内弧膨胀段的曲线用四次曲线方程表示,即 f(x)=a1x4+a2x3+a3x2+a4x1+a5,通过具体实施方式一中的m、w、n三个调控参数分别对背弧膨胀段、背弧斜切段以及内弧膨胀段曲线上各个点的二阶导数进行控制,通过对曲线上各个点二阶导数的控制,即通过改变m、w、n的数值控制曲线的形状,能够进一步调整曲线方程,适应气动载荷分布,每条曲线分别涉及5个方程系数,背弧膨胀段对应系数 a1,a2,a3,a4,a5,背弧斜切段对应系数b1,b2,b3,b4,b5;内弧对应系数c1,c2,c3,c4,c5;通过带入叶片约束点坐标和调控参数m、w、n对约束方程进行求解方程系数;
进汽圆弧膨胀段和出汽圆弧膨胀段曲线通过圆弧方程表示,即x2+y2=r2,其中,r为进出汽圆弧的半径;进而得到叶片型线各段曲线线段的约束方程。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述叶片型线点计算模块,对应《叶片造型程序》的第27—223行,用于求解叶片型线各段曲线线段的约束方程,获取叶片所有型线点的坐标;具体过程为:
基于内弧差值点数量N1和背弧差值点数量N2计算每条曲线线段的步长,求解曲线线段的约束方程,具体包括叶片内弧点坐标、背弧膨胀段点坐标、背弧斜切段点坐标以及进出汽圆弧点坐标。坐标形式为(x,y),单位为mm。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述叶片通道边界线计算模块,对应《叶片造型程序》的第226—236行,用于获取叶片计算通道完整边界;具体过程为:
按照输入文本中节距t的大小,将叶片中弧线沿以出汽圆弧圆心为原点的y方向平移 (偏置)±(t/2),获得叶片计算通道的对称边界,将对称边界沿x轴正向延长,延长距离等于一个轴向宽度,获得进口边界,将对称边界沿x轴负向延长,延长距离等于一个轴向宽度,获得出口边界(x,y轴方向由图2所示);所述对称边界和进出口边界构成封闭的叶片计算通道完整边界。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是,所述计算点输出模块,对应《叶片造型程序》的第239—331行,用于输出叶片型线和叶片计算通道边界的点文件;具体过程为:
将上述计算得到的叶片型线点和通道边界点坐标依次命名输出,获得叶片型线和叶片计算通道边界((叶片周围的计算域))的点文件,输出格式为xlsx格式,进一步,可根据点文件后续应用需求,将叶片型线点坐标的输出格式由xlsx转换为其他文本格式,如txt、csv或dat。
其它步骤及参数与具体实施方式一至五之一相同。
叶片造型程序
1import math
2import os.path
3import os
4import xlsxwriter
5import pandas as pd
6import numpy as np
7
8#设计参数输入模块
9data1=open('C://Users//DELL//Desktop//blade_design_program//input_parameters.txt')
10sheet1=data1.readlines()
11data2=xlsxwriter.Workbook('C://Users//DELL//Desktop//blade_design_program//blade.xlsx')
12sheet2=data2.add_worksheet('total_line')
13data3=xlsxwriter.Workbook('C://Users//DELL//Desktop//blade_design_program//per_1.xlsx')
14sheet3=data3.add_worksheet('flow_path_1')
15data4=xlsxwriter.Workbook('C://Users//DELL//Desktop//blade_design_program//per_2.xlsx')
16sheet4=data4.add_worksheet('flow_path_2')
17data5=xlsxwriter.Workbook('C://Users//DELL//Desktop//blade_design_program//inlet.xlsx')
18sheet5=data5.add_worksheet('inlet')
19data6=xlsxwriter.Workbook('C://Users//DELL//Desktop//blade_design_program//outlet.xlsx')
20sheet6=data6.add_worksheet('outlet')
21
22alpha1=float(sheet1[0])
23aph1=alpha1/180*math.pi
24beta2=float(sheet1[1])
25bt2=beta2/180*math.pi
26B=float(sheet1[2])
27stagger=float(sheet1[3])
28sta=stagger/180*math.pi
29r1=float(sheet1[4])
30r2=float(sheet1[5])
31x2=float(sheet1[6])
32y2=float(sheet1[7])
33WE_LE=float(sheet1[8])
34WE1=WE_LE/180*math.pi
35WE_TE=float(sheet1[9])
36WE2=WE_TE/180*math.pi
37o=float(sheet1[10])
38t=float(sheet1[11])
39theta=float(sheet1[12])
40ta=theta/180*math.pi
41m=float(sheet1[13])
42n=float(sheet1[14])
43w=float(sheet1[15])
44N1=int(sheet1[16])
45N2=int(sheet1[17])
46
47#约束点坐标计算模块
48k1=-1/math.tan(ta+bt2+WE2)
49x1=x2-B+r1+r2
50y1=y2+(B-r1-r2)*math.tan(sta)
51xA=-r1*math.cos(aph1-WE1)+x1
52yA=r1*math.sin(aph1-WE1)+y1
53xB=r1*math.cos(WE1+aph1)+x1
54yB=-r1*math.sin(WE1+aph1)+y1
55xC=-r2*math.cos(WE2+bt2)+x2
56yC=-r2*math.sin(WE2+bt2)+y2
57xD=r2*math.cos(WE2-bt2)+x2
58yD=r2*math.sin(bt2-WE2)+y2
59xE=x2-(o+r2)*math.cos(ta+bt2+WE2)
60yE=y2+t-(o+r2)*math.sin(ta+bt2+WE2)
61x_s1=np.zeros(N1+1)
62y_s1=np.zeros(N1+1)
63x_s2=np.zeros(31)
64y_s2=np.zeros(31)
65x_p=np.zeros(N2+1)
66y_p=np.zeros(N2+1)
67theta1=np.zeros(51)
68x_r1=np.zeros(51)
69y_r1=np.zeros(51)
70theta1=np.zeros(51)
71x_r2=np.zeros(51)
72y_r2=np.zeros(51)
73theta2=np.zeros(51)
74x_ML1=np.zeros(N2+1)
75y_ML1=np.zeros(N2+1)
76x_ML2=np.zeros(N2+1)
77y_ML2=np.zeros(N2+1)
78theta1[0]=WE1-aph1+math.pi
79theta1[50]=2*math.pi-WE1-aph1
80theta2[0]=WE2+bt2+math.pi
81theta2[50]=bt2-WE2+2*math.pi
82
83#叶片型线控制系数计算模块
84a1=(k1*m*y1-k1*m*yA-k1*y1+k1*yA+m*x1-m*xA-x1+xA)/(xA**3*y1-xA**3*yA– 85 3.0*xA**2*xE*y1+3.0*xA**2*xE*yA+3.0*xA*xE**2*y1-3.0*xA*xE**2*yA-xE**3*y1+ 86xE**3*yA)
87a2=(-2.0*k1*m*xA*y1+2.0*k1*m*xA*yA-2.0*k1*m*xE*y1+2.0*k1*m*xE*yA+88 3.0*k1*xA*y1-3.0*k1*xA*yA+k1*xE*y1-k1*xE*yA-2.0*m*x1*xA-2.0*m*x1*xE+ 892.0*m*xA**2+2.0*m*xA*xE+x1*xA+3.0*x1*xE-xA**2-3.0*xA*xE-2.0*y1*yA+ 90 2.0*y1*yE+2.0*yA**2-2.0*yA*yE)/(xA**3*y1-xA**3*yA-3.0*xA**2*xE*y1+ 91 3.0*xA**2*xE*yA+3.0*xA*xE**2*y1-3.0*xA*xE**2*yA-xE**3*y1+xE**3*yA) 92a3=(k1*m*xA**2*y1-k1*m*xA**2*yA+4.0*k1*m*xA*xE*y1-4.0*k1*m*xA*xE*yA+ 93k1*m*xE**2*y1-k1*m*xE**2*yA-3.0*k1*xA**2*y1+3.0*k1*xA**2*yA– 94 3.0*k1*xA*xE*y1+3.0*k1*xA*xE*yA+m*x1*xA**2+4.0*m*x1*xA*xE+m*x1*xE**2– 95m*xA**3-4.0*m*xA**2*xE-m*xA*xE**2-3.0*x1*xA*xE-3.0*x1*xE**2+3.0*xA**2*xE 96+3.0*xA*xE**2+3.0*xA*y1*yA-3.0*xA*y1*yE-3.0*xA*yA**2+3.0*xA*yA*yE+ 97 3.0*xE*y1*yA-3.0*xE*y1*yE-3.0*xE*yA**2+3.0*xE*yA*yE)/(xA**3*y1-xA**3*yA– 98 3.0*xA**2*xE*y1+3.0*xA**2*xE*yA+3.0*xA*xE**2*y1-3.0*xA*xE**2*yA-xE**3*y1+ 99xE**3*yA)
100a4=(-2.0*k1*m*xA**2*xE*y1+2.0*k1*m*xA**2*xE*yA-2.0*k1*m*xA*xE**2*y1+ 101 2.0*k1*m*xA*xE**2*yA+k1*xA**3*y1-k1*xA**3*yA+3.0*k1*xA**2*xE*y1– 1023.0*k1*xA**2*xE*yA-2.0*m*x1*xA**2*xE-2.0*m*x1*xA*xE**2+2.0*m*xA**3*xE+ 1032.0*m*xA**2*xE**2+3.0*x1*xA*xE**2+x1*xE**3-3.0*xA**2*xE**2-xA*xE**3– 104 6.0*xA*xE*y1*yA+6.0*xA*xE*y1*yE+6.0*xA*xE*yA**2-6.0*xA*xE*yA*yE)/(xA**3*y1 105-xA**3*yA-3.0*xA**2*xE*y1+3.0*xA**2*xE*yA+3.0*xA*xE**2*y1-3.0*xA*xE**2*yA 106-xE**3*y1+xE**3*yA)
107a5=(k1*m*xA**2*xE**2*y1-k1*m*xA**2*xE**2*yA-k1*xA**3*xE*y1+k1*xA**3*xE*yA 108+m*x1*xA**2*xE**2-m*xA**3*xE**2-x1*xA*xE**3+xA**3*y1*yE-xA**3*yA*yE+ 109xA**2*xE**3-3.0*xA**2*xE*y1*yE+3.0*xA**2*xE*yA*yE+3.0*xA*xE**2*y1*yA– 110 3.0*xA*xE**2*yA**2-xE**3*y1*yA+xE**3*yA**2)/(xA**3*y1-xA**3*yA– 1113.0*xA**2*xE*y1+3.0*xA**2*xE*yA+3.0*xA*xE**2*y1-3.0*xA*xE**2*yA-xE**3*y1+112xE**3*yA)
113c1=(k1*w*y2-k1*w*yD-k1*y2+k1*yD+w*x2-w*xD-x2+xD)/(xD**3*y2-xD**3*yD– 114 3.0*xD**2*xE*y2+3.0*xD**2*xE*yD+3.0*xD*xE**2*y2-3.0*xD*xE**2*yD-xE**3*y2 115+xE**3*yD)
116c2=(-2.0*k1*w*xD*y2+2.0*k1*w*xD*yD-2.0*k1*w*xE*y2+2.0*k1*w*xE*yD+117 3.0*k1*xD*y2-3.0*k1*xD*yD+k1*xE*y2-k1*xE*yD-2.0*w*x2*xD-2.0*w*x2*xE+ 1182.0*w*xD**2+2.0*w*xD*xE+x2*xD+3.0*x2*xE-xD**2-3.0*xD*xE-2.0*y2*yD+ 119 2.0*y2*yE+2.0*yD**2-2.0*yD*yE)/(xD**3*y2-xD**3*yD-3.0*xD**2*xE*y2+ 120 3.0*xD**2*xE*yD+3.0*xD*xE**2*y2-3.0*xD*xE**2*yD-xE**3*y2+xE**3*yD)
121c3=(k1*w*xD**2*y2-k1*w*xD**2*yD+4.0*k1*w*xD*xE*y2-4.0*k1*w*xD*xE*yD+ 122k1*w*xE**2*y2-k1*w*xE**2*yD-3.0*k1*xD**2*y2+3.0*k1*xD**2*yD– 123 3.0*k1*xD*xE*y2+3.0*k1*xD*xE*yD+w*x2*xD**2+4.0*w*x2*xD*xE+w*x2*xE**2– 124w*xD**3-4.0*w*xD**2*xE-w*xD*xE**2-3.0*x2*xD*xE-3.0*x2*xE**2+3.0*xD**2*xE 125+3.0*xD*xE**2+3.0*xD*y2*yD-3.0*xD*y2*yE-3.0*xD*yD**2+3.0*xD*yD*yE+ 126 3.0*xE*y2*yD-3.0*xE*y2*yE-3.0*xE*yD**2+3.0*xE*yD*yE)/(xD**3*y2-xD**3*yD– 127 3.0*xD**2*xE*y2+3.0*xD**2*xE*yD+3.0*xD*xE**2*y2-3.0*xD*xE**2*yD-xE**3*y2+ 128 xE**3*yD)128
129 c4=(-2.0*k1*w*xD**2*xE*y2+2.0*k1*w*xD**2*xE*yD-2.0*k1*w*xD*xE**2*y2+ 130 2.0*k1*w*xD*xE**2*yD+k1*xD**3*y2-k1*xD**3*yD+3.0*k1*xD**2*xE*y2–131 3.0*k1*xD**2*xE*yD-2.0*w*x2*xD**2*xE-2.0*w*x2*xD*xE**2+2.0*w*xD**3*xE+132 2.0*w*xD**2*xE**2+3.0*x2*xD*xE**2+x2*xE**3-3.0*xD**2*xE**2-xD*xE**3– 1336.0*xD*xE*y2*yD+6.0*xD*xE*y2*yE+6.0*xD*xE*yD**2-6.0*xD*xE*yD*yE)/(xD**3*y2134-xD**3*yD-3.0*xD**2*xE*y2+3.0*xD**2*xE*yD+3.0*xD*xE**2*y2-3.0*xD*xE**2*yD135-xE**3*y2+xE**3*yD)
136c5=(k1*w*xD**2*xE**2*y2-k1*w*xD**2*xE**2*yD-k1*xD**3*xE*y2+k1*xD**3*xE*yD 137+w*x2*xD**2*xE**2-w*xD**3*xE**2-x2*xD*xE**3+xD**3*y2*yE-xD**3*yD*yE+ 138xD**2*xE**3-3.0*xD**2*xE*y2*yE+3.0*xD**2*xE*yD*yE+3.0*xD*xE**2*y2*yD- 139 3.0*xD*xE**2*yD**2-xE**3*y2*yD+xE**3*yD**2)/(xD**3*y2-xD**3*yD– 1403.0*xD**2*xE*y2+3.0*xD**2*xE*yD+3.0*xD*xE**2*y2-3.0*xD*xE**2*yD-xE**3*y2+141xE**3*yD)
142d1=(n*x1*y2-n*x1*yC-n*x2*y1+n*x2*yB-n*xB*y2+n*xB*yC+n*xC*y1-n*xC*yB– 143x1*y2+x1*yC+x2*y1-x2*yB+xB*y2-xB*yC-xC*y1+xC*yB)/(xB**3*y1*y2-143144xB**3*y1*yC-xB**3*y2*yB+xB**3*yB*yC-3.0*xB**2*xC*y1*y2+3.0*xB**2*xC*y1*yC145+3.0*xB**2*xC*y2*yB-3.0*xB**2*xC*yB*yC+3.0*xB*xC**2*y1*y2– 146 3.0*xB*xC**2*y1*yC-3.0*xB*xC**2*y2*yB+3.0*xB*xC**2*yB*yC-xC**3*y1*y2+ 147 xC**3*y1*yC+xC**3*y2*yB-xC**3*yB*yC)
148 d2=(-2.0*n*x1*xB*y2+2.0*n*x1*xB*yC-2.0*n*x1*xC*y2+2.0*n*x1*xC*yC+ 149 2.0*n*x2*xB*y1-2.0*n*x2*xB*yB+2.0*n*x2*xC*y1-2.0*n*x2*xC*yB+2.0*n*xB**2*y2– 150 2.0*n*xB**2*yC-2.0*n*xB*xC*y1+2.0*n*xB*xC*y2+2.0*n*xB*xC*yB-2.0*n*xB*xC*yC 151-2.0*n*xC**2*y1+2.0*n*xC**2*yB+x1*xB*y2-x1*xB*yC+3.0*x1*xC*y2-3.0*x1*xC*yC 152-3.0*x2*xB*y1+3.0*x2*xB*yB-x2*xC*y1+x2*xC*yB-xB**2*y2+xB**2*yC+ 153 3.0*xB*xC*y1-3.0*xB*xC*y2-3.0*xB*xC*yB+3.0*xB*xC*yC+xC**2*y1-xC**2*yB– 154 2.0*y1*y2*yB+2.0*y1*y2*yC+2.0*y1*yB*yC-2.0*y1*yC**2+2.0*y2*yB**2– 1552.0*y2*yB*yC-2.0*yB**2*yC+2.0*yB*yC**2)/(xB**3*y1*y2-xB**3*y1*yC– 156 xB**3*y2*yB+xB**3*yB*yC-3.0*xB**2*xC*y1*y2+3.0*xB**2*xC*y1*yC+ 157 3.0*xB**2*xC*y2*yB-3.0*xB**2*xC*yB*yC+3.0*xB*xC**2*y1*y2-3.0*xB*xC**2*y1*yC 158-3.0*xB*xC**2*y2*yB+3.0*xB*xC**2*yB*yC-xC**3*y1*y2+xC**3*y1*yC+ 159 xC**3*y2*yB-xC**3*yB*yC)
160d3=(n*x1*xB**2*y2-n*x1*xB**2*yC+4.0*n*x1*xB*xC*y2-4.0*n*x1*xB*xC*yC+ 161n*x1*xC**2*y2-n*x1*xC**2*yC-n*x2*xB**2*y1+n*x2*xB**2*yB-4.0*n*x2*xB*xC*y1 162+4.0*n*x2*xB*xC*yB-n*x2*xC**2*y1+n*x2*xC**2*yB-n*xB**3*y2+n*xB**3*yC+ 163n*xB**2*xC*y1-4.0*n*xB**2*xC*y2-n*xB**2*xC*yB+4.0*n*xB**2*xC*yC+ 1644.0*n*xB*xC**2*y1-n*xB*xC**2*y2-4.0*n*xB*xC**2*yB+n*xB*xC**2*yC+ 165n*xC**3*y1-n*xC**3*yB-3.0*x1*xB*xC*y2+3.0*x1*xB*xC*yC-3.0*x1*xC**2*y2+ 166 3.0*x1*xC**2*yC+3.0*x2*xB**2*y1-3.0*x2*xB**2*yB+3.0*x2*xB*xC*y1– 167 3.0*x2*xB*xC*yB-3.0*xB**2*xC*y1+3.0*xB**2*xC*y2+3.0*xB**2*xC*yB– 168 3.0*xB**2*xC*yC-3.0*xB*xC**2*y1+3.0*xB*xC**2*y2+3.0*xB*xC**2*yB– 169 3.0*xB*xC**2*yC+3.0*xB*y1*y2*yB-3.0*xB*y1*y2*yC-3.0*xB*y1*yB*yC+ 170 3.0*xB*y1*yC**2-3.0*xB*y2*yB**2+3.0*xB*y2*yB*yC+3.0*xB*yB**2*yC-170 171 3.0*xB*yB*yC**2+3.0*xC*y1*y2*yB-3.0*xC*y1*y2*yC-3.0*xC*y1*yB*yC+ 172 3.0*xC*y1*yC**2-3.0*xC*y2*yB**2+3.0*xC*y2*yB*yC+3.0*xC*yB**2*yC– 173 3.0*xC*yB*yC**2)/(xB**3*y1*y2-xB**3*y1*yC-xB**3*y2*yB+xB**3*yB*yC- 174 3.0*xB**2*xC*y1*y2+3.0*xB**2*xC*y1*yC+3.0*xB**2*xC*y2*yB– 175 3.0*xB**2*xC*yB*yC+3.0*xB*xC**2*y1*y2-3.0*xB*xC**2*y1*yC-3.0*xB*xC**2*y2*yB 176+3.0*xB*xC**2*yB*yC-xC**3*y1*y2+xC**3*y1*yC+xC**3*y2*yB-xC**3*yB*yC)
177d4=(-2.0*n*x1*xB**2*xC*y2+2.0*n*x1*xB**2*xC*yC-2.0*n*x1*xB*xC**2*y2+ 178 2.0*n*x1*xB*xC**2*yC+2.0*n*x2*xB**2*xC*y1-2.0*n*x2*xB**2*xC*yB+ 1792.0*n*x2*xB*xC**2*y1-2.0*n*x2*xB*xC**2*yB+2.0*n*xB**3*xC*y2– 180 2.0*n*xB**3*xC*yC-2.0*n*xB**2*xC**2*y1+2.0*n*xB**2*xC**2*y2+ 181 2.0*n*xB**2*xC**2*yB-2.0*n*xB**2*xC**2*yC-2.0*n*xB*xC**3*y1+ 182 2.0*n*xB*xC**3*yB+3.0*x1*xB*xC**2*y2-3.0*x1*xB*xC**2*yC+x1*xC**3*y2– 183x1*xC**3*yC-x2*xB**3*y1+x2*xB**3*yB-3.0*x2*xB**2*xC*y1+3.0*x2*xB**2*xC*yB 184+xB**3*xC*y1-xB**3*xC*yB+3.0*xB**2*xC**2*y1-3.0*xB**2*xC**2*y2– 185 3.0*xB**2*xC**2*yB+3.0*xB**2*xC**2*yC-xB*xC**3*y2+xB*xC**3*yC– 186 6.0*xB*xC*y1*y2*yB+6.0*xB*xC*y1*y2*yC+6.0*xB*xC*y1*yB*yC– 187 6.0*xB*xC*y1*yC**2+6.0*xB*xC*y2*yB**2-6.0*xB*xC*y2*yB*yC– 188 6.0*xB*xC*yB**2*yC+6.0*xB*xC*yB*yC**2)/(xB**3*y1*y2-xB**3*y1*yC-xB**3*y2*yB 189+xB**3*yB*yC-3.0*xB**2*xC*y1*y2+3.0*xB**2*xC*y1*yC+3.0*xB**2*xC*y2*yB– 1903.0*xB**2*xC*yB*yC+3.0*xB*xC**2*y1*y2-3.0*xB*xC**2*y1*yC-3.0*xB*xC**2*y2*yB191+3.0*xB*xC**2*yB*yC-xC**3*y1*y2+xC**3*y1*yC+xC**3*y2*yB-xC**3*yB*yC) 192d5=(n*x1*xB**2*xC**2*y2-n*x1*xB**2*xC**2*yC-n*x2*xB**2*xC**2*y1+ 193n*x2*xB**2*xC**2*yB-n*xB**3*xC**2*y2+n*xB**3*xC**2*yC+n*xB**2*xC**3*y1–194n*xB**2*xC**3*yB-x1*xB*xC**3*y2+x1*xB*xC**3*yC+x2*xB**3*xC*y1– 195x2*xB**3*xC*yB-xB**3*xC**2*y1+xB**3*xC**2*yB+xB**3*y1*y2*yC– 196xB**3*y1*yC**2-xB**3*y2*yB*yC+xB**3*yB*yC**2+xB**2*xC**3*y2– 197xB**2*xC**3*yC-3.0*xB**2*xC*y1*y2*yC+3.0*xB**2*xC*y1*yC**2+ 198 3.0*xB**2*xC*y2*yB*yC-3.0*xB**2*xC*yB*yC**2+3.0*xB*xC**2*y1*y2*yB– 199 3.0*xB*xC**2*y1*yB*yC-3.0*xB*xC**2*y2*yB**2+3.0*xB*xC**2*yB**2*yC– 200xC**3*y1*y2*yB+xC**3*y1*yB*yC+xC**3*y2*yB**2-xC**3*yB**2*yC)/(xB**3*y1*y2 201-xB**3*y1*yC-xB**3*y2*yB+xB**3*yB*yC-3.0*xB**2*xC*y1*y2+ 2023.0*xB**2*xC*y1*yC+3.0*xB**2*xC*y2*yB-3.0*xB**2*xC*yB*yC+ 203 3.0*xB*xC**2*y1*y2-3.0*xB*xC**2*y1*yC-3.0*xB*xC**2*y2*yB+3.0*xB*xC**2*yB*yC 204-xC**3*y1*y2+xC**3*y1*yC+xC**3*y2*yB-xC**3*yB*yC)
205
206#叶片型线点计算模块
207for i in range(0,N1+1):
208x_s1[i]=i*(xE-xA)/N1+xA
209y_s1[i]=a1*x_s1[i]**4+a2*x_s1[i]**3+a3*x_s1[i]**2+a4*x_s1[i]+a5
210for i in range(0,31):
211x_s2[i]=i*(xD-xE)/30+xE
212y_s2[i]=c1*x_s2[i]**4+c2*x_s2[i]**3+c3*x_s2[i]**2+c4*x_s2[i]+c5
213for i in range(0,51):
214theta2[i]=theta2[0]+i*(theta2[50]-theta2[0])/50
215x_r2[i]=x2+r2*np.cos(theta2[i])
216y_r2[i]=y2+r2*np.sin(theta2[i])
217for i in range(0,N2+1):
218x_p[i]=i*(xC-xB)/N2+xB
219y_p[i]=d1*x_p[i]**4+d2*x_p[i]**3+d3*x_p[i]**2+d4*x_p[i]+d5
220for i in range(0,51):
221theta1[i]=theta1[0]+i*(theta1[50]-theta1[0])/50
222x_r1[i]=x1+r1*np.cos(theta1[i])
223y_r1[i]=y1+r1*np.sin(theta1[i])
224
225#叶片通道边界线计算模块
226for i in range(0,N2+1):
227if i<50:
228x_ML1[i]=0.5*(x_p[i]+x_s1[i])
229y_ML1[i]=0.5*(y_p[i]+y_s1[i]+t)
230x_ML2[i]=0.5*(x_p[i]+x_s1[i])
231y_ML2[i]=0.5*(y_p[i]+y_s1[i]+t)-t
232else:
233x_ML1[i]=0.5*(x_p[i]+x_s2[i-50])
234y_ML1[i]=0.5*(y_p[i]+y_s2[i-50]+t)
235x_ML2[i]=0.5*(x_p[i]+x_s2[i-50])
236y_ML2[i]=0.5*(y_p[i]+y_s2[i-50]+t)-t
237
238#计算点输出模块(型线点、边界线点)
239for i in range(0,50):
240sheet2.write(i,0,x_r1[i]/1000)
241sheet2.write(i,1,y_r1[i]/1000)
242sheet2.write(i,2,0)
243for i in range(50,N2+50):
244sheet2.write(i,0,x_p[i-50]/1000)
245sheet2.write(i,1,y_p[i-50]/1000)
246sheet2.write(i,2,0)
247for i in range(N2+50,N2+50+50):
248sheet2.write(i,0,x_r2[i-N2-50]/1000)
249sheet2.write(i,1,y_r2[i-N2-50]/1000)
250sheet2.write(i,2,0)
251for i in range(N2+50+50,N2+50+50+30):
252sheet2.write(i,0,x_s2[N2+130-i]/1000)
253sheet2.write(i,1,y_s2[N2+130-i]/1000)
254sheet2.write(i,2,0)
255for i in range(N2+130,N2+130+N1):
256sheet2.write(i,0,x_s1[N2+130+N1-i]/1000)
257sheet2.write(i,1,y_s1[N2+130+N1-i]/1000)
258sheet2.write(i,2,0)
259for i in range(0,N2+1):
260sheet3.write(i,0,x_ML1[i]/1000)
261sheet3.write(i,1,y_ML1[i]/1000)
262sheet3.write(i,2,0)
263for i in range(0,N2+1):
264sheet4.write(i,0,x_ML2[i]/1000)
265sheet4.write(i,1,y_ML2[i]/1000)
266sheet4.write(i,2,0)
267for i in range(0,4):
268sheet5.write(i,2,0)
269sheet5.write(0,0,x_ML1[0]/1000)
270sheet5.write(0,1,y_ML1[0]/1000)
271sheet5.write(1,0,(x_ML1[0]-B)/1000)
272sheet5.write(1,1,y_ML1[0]/1000)
273sheet5.write(2,0,(x_ML2[0]-B)/1000)
274sheet5.write(2,1,y_ML2[0]/1000)
275sheet5.write(3,0,x_ML2[0]/1000)
276sheet5.write(3,1,y_ML2[0]/1000)
277for i in range(0,4):
278sheet6.write(i,2,0)
279sheet6.write(0,0,x_ML1[N2]/1000)
280sheet6.write(0,1,y_ML1[N2]/1000)
281sheet6.write(1,0,(x_ML1[N2]+B)/1000)
282sheet6.write(1,1,y_ML1[N2]/1000)
283sheet6.write(2,0,(x_ML2[N2]+B)/1000)
284sheet6.write(2,1,y_ML2[N2]/1000)
285sheet6.write(3,0,x_ML2[N2]/1000)
286sheet6.write(3,1,y_ML2[N2]/1000)
287
288data1.close()
289data2.close()
290data3.close()
291data4.close()
292data5.close()
293data6.close()
294
295#输出文件格式转换
296rootdir='C://Users//DELL//Desktop//blade_design_program//'
297files=os.path.split('C://Users//DELL//Desktop//blade_design_program//blade.xlsx')
298path=rootdir+'//'+files[1]
299a=files[1].split('.')
300b=rootdir+'//'+a[0]+'.csv'
301x=pd.read_excel(path,header=None)
302x.to_csv(b,index=False,sep=',',header=None)
303print('\n.csv文件生成成功!')
304files=os.path.split('C://Users//DELL//Desktop//blade_design_program//per_1.xlsx')
305path=rootdir+'//'+files[1]
306a=files[1].split('.')
307b=rootdir+'//'+a[0]+'.csv'
308x=pd.read_excel(path,header=None)
309x.to_csv(b,index=False,sep=',',header=None)
310print('\n.csv文件生成成功!')
311files=os.path.split('C://Users//DELL//Desktop//blade_design_program//per_2.xlsx')
312path=rootdir+'//'+files[1]
313a=files[1].split('.')
314b=rootdir+'//'+a[0]+'.csv'
315x=pd.read_excel(path,header=None)
316x.to_csv(b,index=False,sep=',',header=None)
317print('\n.csv文件生成成功!')
318files=os.path.split('C://Users//DELL//Desktop//blade_design_program//inlet.xlsx')
319path=rootdir+'//'+files[1]
320a=files[1].split('.')
321b=rootdir+'//'+a[0]+'.csv'
322x=pd.read_excel(path,header=None)
323x.to_csv(b,index=False,sep=',',header=None)
324print('\n.csv文件生成成功!')
325files=os.path.split('C://Users//DELL//Desktop//blade_design_program//outlet.xlsx')
326path=rootdir+'//'+files[1]
327a=files[1].split('.')
328b=rootdir+'//'+a[0]+'.csv'
329x=pd.read_excel(path,header=None)
330x.to_csv(b,index=False,sep=',',header=None)
331print('\n.csv文件生成成功!')。
Claims (6)
1.基于python语言的汽轮机叶片造型设计系统,其特征在于,所述系统包括:
叶片设计参数输入模块、叶片约束点坐标计算模块、叶片型线控制系数计算模块、叶片型线点计算模块、叶片通道边界线计算模块以及计算点输出模块;
所述叶片设计参数输入模块用于输入叶片设计参数,所述参数包括:叶片入口几何气流角alpha1、出口几何气流角beta2、轴向宽度B、安装角stagger、入汽圆半径r1、出汽圆半径r2、出汽圆圆心定位坐标(x2,y2)、进汽半楔角WE_LE、出汽半楔角WE_TE、喉部宽度o、节距t、通道出口收束角theta、背弧膨胀段调控参数m、背弧斜切段调控参数w、内弧膨胀段调控参数n、内弧插值点数量N1、背弧插值点数量N2;其中,长度单位均为mm,坐标单位均为mm,角度单位均为度;
所述叶片约束点坐标计算模块用于通过叶片设计参数获取叶片约束点的坐标;
所述叶片型线控制系数计算模块用于建立叶片型线各段曲线线段的约束方程,所述叶片型线即叶片的外轮廓线;
所述叶片型线点计算模块用于通过求解约束方程得到叶片上型线点的坐标;
所述叶片通道边界线计算模块用于获取叶片计算通道完整边界;
所述计算点输出模块用于输出叶片型线和叶片计算通道边界的点文件,所述点文件包括叶片型线点坐标和通道边界点坐标。
2.根据权利要求1所述基于python语言的汽轮机叶片造型设计系统,其特征在于,所述叶片约束点坐标计算模块用于通过叶片设计参数获取叶片约束点的坐标;具体过程为:
将叶片型线分割为进汽圆弧膨胀段、内弧膨胀段、出汽圆弧膨胀段、背弧膨胀段和背弧斜切段五条曲线线段,将每条曲线线段的两个端点作为叶片型线的约束点,通过叶片设计参数计算得到5条曲线线段对应的A、B、C、D、E5个叶片约束点坐标。
3.根据权利要求1或2所述基于python语言的汽轮机叶片造型设计系统,其特征在于,所述叶片型线控制系数计算模块用于建立叶片型线各段曲线线段的约束方程;具体过程包括以下步骤:
针对背弧膨胀段、背弧斜切段和内弧膨胀段的曲线用四次曲线方程表示,即f(x)=a1x4+a2x3+a3x2+a4x1+a5,通过m、w、n三个调控参数分别对背弧膨胀段、背弧斜切段和内弧膨胀段上每个点的二阶导数进行控制,即通过m、w、n三个调控参数控制背弧膨胀段、背弧斜切段和内弧膨胀段3条曲线线段的形状;
针对对背弧膨胀段、背弧斜切段和内弧膨胀段3条曲线涉及3个与四次曲线方程一一对应的系数a1、a2、a3、a4、a5,通过带入叶片约束点坐标和调控参数m、w、n对约束方程进行求解方程中的系数;
进汽圆弧膨胀段和出汽圆弧膨胀段曲线通过圆弧方程表示,即x2+y2=r2,其中,r为进出汽圆弧的半径;进而得到叶片型线各段曲线线段的约束方程。
4.根据权利要求3所述基于python语言的汽轮机叶片造型设计系统,其特征在于,所述叶片型线点计算模块用于通过求解约束方程得到叶片上型线点的坐标;具体过程为:
基于内弧差值点数量N1和背弧差值点数量N2计算每条曲线线段的步长,并通过求解曲线线段的约束方程得到叶片内弧点坐标、背弧膨胀段点坐标、背弧斜切段点坐标和进出汽圆弧点坐标;坐标单位为mm。
5.根据权利要求4所述基于python语言的汽轮机叶片造型设计系统,其特征在于,所述叶片通道边界线计算模块用于获取叶片计算通道完整边界;具体过程为:
根据输入的节距t,将叶片中弧线沿以出汽圆弧圆心为原点的竖直向上移动±(t/2),获得叶片计算通道的对称边界;将对称边界以出汽圆弧圆心为原点的水平方向两侧延长,延长距离等于一个轴向宽度,获得进出口边界;对称边界和进出口边界构成封闭的叶片计算通道边界;其中,所述叶片中弧线即叶片内弧和背弧坐标中点连成的线段,中弧线的两个端点分别为进汽圆圆心和出汽圆圆心。
6.根据权利要求1所述基于python语言的汽轮机叶片造型设计系统,其特征在于,所述点文件的输出格式为xlsx格式,并能够转换为txt、csv或dat。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011630548.6A CN112668122A (zh) | 2020-12-30 | 2020-12-30 | 基于python语言的汽轮机叶片造型设计系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011630548.6A CN112668122A (zh) | 2020-12-30 | 2020-12-30 | 基于python语言的汽轮机叶片造型设计系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112668122A true CN112668122A (zh) | 2021-04-16 |
Family
ID=75412922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011630548.6A Withdrawn CN112668122A (zh) | 2020-12-30 | 2020-12-30 | 基于python语言的汽轮机叶片造型设计系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668122A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104420888A (zh) * | 2013-08-19 | 2015-03-18 | 中国科学院工程热物理研究所 | 渐缩流道跨音速涡轮叶片及应用其的涡轮 |
CN107357960A (zh) * | 2017-06-15 | 2017-11-17 | 哈尔滨汽轮机厂有限责任公司 | 一种汽轮机叶片汽道型线量具中型线内背弧设计方法及装置 |
CN108170943A (zh) * | 2017-12-26 | 2018-06-15 | 哈尔滨汽轮机厂有限责任公司 | 基于Python语言的汽轮机三维叶片设计中有限元前处理方法 |
CN110593960A (zh) * | 2019-09-19 | 2019-12-20 | 西安交通大学 | 一种可用于弯扭掠的轴流透平机械叶片参数化方法 |
EP3613995A1 (en) * | 2017-04-17 | 2020-02-26 | Ihi Corporation | Method for designing blade of axial-flow fluid machine and blade |
CN111894681A (zh) * | 2020-08-06 | 2020-11-06 | 长江大学 | 一种高速涡轮钻具的涡轮叶片参数化造型设计方法 |
CN112115558A (zh) * | 2020-07-28 | 2020-12-22 | 中国人民解放军海军工程大学 | 一种基于人群搜索算法的汽轮机叶栅型线参数化重构方法 |
-
2020
- 2020-12-30 CN CN202011630548.6A patent/CN112668122A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104420888A (zh) * | 2013-08-19 | 2015-03-18 | 中国科学院工程热物理研究所 | 渐缩流道跨音速涡轮叶片及应用其的涡轮 |
EP3613995A1 (en) * | 2017-04-17 | 2020-02-26 | Ihi Corporation | Method for designing blade of axial-flow fluid machine and blade |
CN107357960A (zh) * | 2017-06-15 | 2017-11-17 | 哈尔滨汽轮机厂有限责任公司 | 一种汽轮机叶片汽道型线量具中型线内背弧设计方法及装置 |
CN108170943A (zh) * | 2017-12-26 | 2018-06-15 | 哈尔滨汽轮机厂有限责任公司 | 基于Python语言的汽轮机三维叶片设计中有限元前处理方法 |
CN110593960A (zh) * | 2019-09-19 | 2019-12-20 | 西安交通大学 | 一种可用于弯扭掠的轴流透平机械叶片参数化方法 |
CN112115558A (zh) * | 2020-07-28 | 2020-12-22 | 中国人民解放军海军工程大学 | 一种基于人群搜索算法的汽轮机叶栅型线参数化重构方法 |
CN111894681A (zh) * | 2020-08-06 | 2020-11-06 | 长江大学 | 一种高速涡轮钻具的涡轮叶片参数化造型设计方法 |
Non-Patent Citations (3)
Title |
---|
JUAN CARLOS GARCIA等: "Radial inflow Turbine Geometry Generation Method Using Third Order Bezier Curves for Blade Design", 《TURBOMACHINERY TECHNICAL CONFERENCE AND EXPOSITION》 * |
宋洪勇: "基于UG涡轮CFD网格预处理的研究", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》 * |
曹博等: "汽轮机低压缸末级长叶片参数化方法研究", 《汽轮机技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101417396B (zh) | 涡轮空心叶片榫头加工定位夹紧方法和夹具 | |
CN110173309B (zh) | 四高调门汽轮机顺序阀的优化设计方法 | |
CN112084589B (zh) | 基于轴面流速控制的轴贯流式水轮机转轮叶片优化方法 | |
CN108073138B (zh) | 适用于高速高精加工的椭圆弧平滑压缩插补算法 | |
CN113985817B (zh) | 一种可在线插补的机器人小线段轨迹局部光顺方法及系统 | |
CN110990994B (zh) | 一种基于Matlab和UG的涡轮叶片参数化造型方法 | |
CN107529643B (zh) | 一种兼顾水力、强度性能的混流式转轮多工况优化方法 | |
CN104408241B (zh) | 一种修形圆柱齿轮的有限元网格自动生成方法 | |
CN102087130A (zh) | 基于cfd技术的多声路超声流量计弯管安装声路的优化方法 | |
CN110555214A (zh) | 压气机叶片叶型构建方法及压气机叶片 | |
CN111894681A (zh) | 一种高速涡轮钻具的涡轮叶片参数化造型设计方法 | |
CN112347579A (zh) | 一种压气机叶型设计方法及压气机叶型 | |
CN112668122A (zh) | 基于python语言的汽轮机叶片造型设计系统 | |
CN112507471A (zh) | 一种大攻角范围条件下垂直轴风力机翼型设计方法 | |
CN110222362B (zh) | 一种通过隧洞和调压井的多机形式建立一管多机微分方程模型的方法 | |
Dontchev et al. | Inexact Newton–Kantorovich methods for constrained nonlinear model predictive control | |
CN101763087A (zh) | 一种基于非线性共轭梯度法的工业过程动态优化系统及方法 | |
CN105401982A (zh) | 半转速核电汽轮机用末级动叶片叶身结构 | |
Yan et al. | Overlap classification-based and kinematically coordinated corner rounding using double asymmetrical transitions for five-axis short-segmented tool path | |
CN113779671A (zh) | 一种基于时空步长自适应技术的明渠调水工程水动力实时计算方法 | |
CN103809528A (zh) | 天然气生产井自动调产调压智能控制系统 | |
CN110245408A (zh) | 一种汽轮机单圆弧压力面叶型设计方法 | |
CN203099340U (zh) | 一种天然气管道分输电动调节阀的控制设备 | |
CN110704935B (zh) | 一种sps软件的自动调试与输出方法 | |
CN115329462A (zh) | 液力变矩器设计分析优化一体化系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210416 |
|
WW01 | Invention patent application withdrawn after publication |