真空系统抽气特性计算软件设计论文Word下载.docx
《真空系统抽气特性计算软件设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《真空系统抽气特性计算软件设计论文Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
目前,在国内尚无完善的可用于真空系统设计计算的软件,以致在真空系统设计中,通常采用手工计算。
但计算过程有这影响因素多,计算过程繁杂,有时甚至需要多次重复尝试来选取最佳取值,并依此选择系统部件的材料或尺寸。
而抽气特性计算作为真空系统设计中必不可少的一项重要内容,同样有着十分繁杂的过程。
为了简化繁琐且存在大量重复的手工计算,提高工作效率,本课题拟采用计算机技术,将抽气特性计算过程通过编程自动化,并在完成基本计算功能的基础上,尽量做到人性化,使软件易于使用。
2真空系统抽气特性计算及分析
2.1真空系统抽气特性计算
2.1.1低真空阶段计算——大气到1Pa
在粗低真空下,真空设备本身内表面的出气量与设备总的气体负荷相比,可以忽略不计。
因此计算此段过程的抽气时间时不考虑出气的影响。
真空室用机械泵从大气开始抽气时,在低真空区域内,机械泵的抽速随真空度升高而下降,其抽气时间计算公式为:
因为P0(真空设备极限压力)相比pi和p很小,可忽略,则
式中,t−抽气时间(s);
Sp−泵的名义抽速(L/s);
V−真空设备容积(L);
p−经t时间抽气后的压力(Pa);
pi−开始抽气时的压力(Pa);
Kq−修正系数,与设备抽气终止时的压强P有关。
[1]
P
105-104
104-103
103-102
102-10
10-1
Kq
1
1.25
1.5
2
4
表2.1机械泵抽气修正系数
由此,计算低真空阶段(大气到1Pa),只需将抽气时间分段(如105-104,104-103……),并取相应修正系数带入计算,并累加各段抽气时间t=t1+t2+...。
2.1.2高真空阶段计算——1Pa以下
高真空的抽气时间主要取决于材料出气,因此真空室由高真空阶段(1Pa到目的压强)所需时间主要取决于材料出气。
根据参考资料,该阶段的计算主要有解析法、图解法两种方法:
(1)解析法[2]
不考虑容器中空间气体负荷对抽气的影响,即
Se为泵对容器的有效抽速;
p为容器中的压强;
t为抽气时间(h)
Qc是微漏、渗透和蒸发的气流量总和,对于一个设计良好的高真空系统,Qc是个微小的常量,与表面放气流量比较往往可以忽略。
Ai为第i种材料暴露在真空中的面积;
q1i为第i种材料在抽气一小时后的放气率(对于本系统,放气材料只有真空室材料碳钢)。
β为第i种材料的放气时间指数。
与材料、预处理等条件有关,开始抽气时β值较大,但几分钟后就渐近一个常数。
一般来说,β值视材料不同在0.5−2之间变化。
因此,空真空系统室温下高真空抽气时间的计算公式为:
获取所需要的值带入计算即可得该阶段的抽气时间t。
(2)图解法:
①计算真空室平衡压力为p时的出气量Q,其值等于泵(或机组)在压力为p时的排气量.即
Q=p·
S[Pa·
L/s]
②计算真空室中材料表面积为A的平均出气速率P均,即
P均=Q/A[Pa·
L/s·
cm²
]
③根据材料出气率曲线,查出P均的点,与此点相对应的时间,即为达到平衡压时所需要的时间。
2.2高真空阶段两种算法的比较
2.2.1计算对比
计算数据:
内表面A=20m²
材料为碳钢(喷铝):
1h出气率q1=8×
10-6Pa·
放气指数β=1.7
系统有效抽数Se=2000L/s
由1Pa抽至p=7×
10-4Pa
1.解析法
将以上数据带入公式,可得:
解得:
t=1.07h
2.图解法
Q=p×
S=7×
10-4×
2×
103=1.4Pa·
L/s
平均出气率q=Q/A=1.4/(20×
104)=7×
10-6Pa·
L/s·
cm²
对照图像可知,抽气时间约为1.10h
2.2.2对比结果分析
绝对差值△=1.10-1.07=0.03;
相对差值△/1.07≈2.80%;
结论:
两种方法结果相差仅为2.8%,比较其他因素影响(如,放气率曲线本身不准确,比对估计量误差等)两种算法相差不大,即无论采用哪一种计算方法从计算结果来说,都没有准确度上的优劣。
2.3抽气特性计算程序化可行性分析
真空系统抽气特性计算通过舍弃次要影响条件,抓住主要影响条件的方法,将原先较为复杂的计算过程极大的简化,但是依旧需要对抽气过程进行多次分段计算,导致设计人员需要花费大量的时间在重复而繁重的计算上面。
特别是由于工程设计的特点,有时还需要多次重复尝试,以选取恰当的材料、尺寸等。
综合以上分析,真空系统抽气特性计算主要有以上特点:
1.计算流程清晰2.重复计算过程多3.计算参数多。
以上特点中,1、2两点恰好说明真空系统抽气特性计算过程是计算机程序所擅长的类型,而特点3也可以通过计算机程序进行逻辑分解来很好的解决。
故而,可以得到以下结论,真空系统抽气特性计算可以很好的通过计算机编程达到自动化。
2.4高真空阶段计算方法选择
由2.2.2节结论可知,从计算结果本身来看两者没有明显的优劣。
这里从其他的方面进行对比:
1.数据来源:
解析法需要材料1小时的放气率,而图解法需要材料的时间——放气率图。
根据真空设计手册、真空系统设计与计算,很多材料的放气率由表格方式展现,而材料1小时放气率可以很容易从时间——放气率图取得。
故而,从数据获取来说,解析法更加方便。
2.编程算法:
解析法通过获取相应的参数,带入公式,反解可以得到抽气时间t,而图解法需要1.先根据带入已知数据得到P均2.根据P均对应时间——放气率图取得抽气时间。
其中第二步非常困难:
首先需要向计算机输入材料的时间——放气率图,即取适当多离散的点存入;
其次根据P均对应查找取得时间t,由于第一步存入的是离散的点,此处需要插值算法,需要注意的是,时间——放气率图的并非普通的线性对应图,而是对数关系,故而进一步给插值算法增加的困难,因而从算法上来说,解析法优于图解法。
综合以上两点,高真空阶段,应当选择解析法更为恰当。
3软件功能需求及平台分析
3.1总体构架分析
程序逻辑运算较为简单,故不宜使用框架,仅运用MVC分层结构,做到结构清晰,易于维护、扩展和重构。
MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
3.2需求分析
1.简易模式和高级模式
程序计算涉及较多专业内容,对用户有较高的专业素质要求。
对此,对于较为专业的参数设置以高级模式,或参数表的方式设置。
鉴于易用性考虑,选取简易/高级模式方式。
2.单位转换
计算过程中部分参数(如气压105~10-2)跨度较大,不便于输入和人工识记,采取可选单位方式,并在参与计算前进行转化。
3.帮助信息
由于计算内容的专业性并避免输入产生二义性(学术上同一变量可能有不同的名称),用户输入时应当提供相应的提示信息,以此提升用户友好性。
确保输入的正确性。
为了便于修正帮助提示,不宜采用硬编码方式,这里选用配置文件方式。
4.输入、输出数据校验
对于工程计算而言,一般输入参数和计算的结果都会有一个合理范围,这里可以利用这个规则来检验和限制输入输出,并进一步校正错误。
5.计算过程导出
由于整个计算过程是计算机自动化,计算过程不可见。
但考虑到有可能需要计算过程来进行勘误或者其它需要,添加此功能增加程序健壮性,同时便于查找开发过程中的错误。
6.输入输出内容暂存
计算可能存在多次输入输出结果对比,提高易用性,减少用户重复输入。
此外,若有需要,可以集成计算结果对比功能。
7.集成和自定义参数
计算过程有部分查找手册内容,程序里可以考虑以某种方式集成部分常见参数,在不过大提升程序复杂度的情况下大幅度提升易用性。
增加自定义参数功能,用户自己保存自己常用参数。
参数数据以配置文件方式存储。
3.3开发语言及环境分析
拟采用高级语言编程(C#、java),使用窗体应用或者web应用形式。
其中窗体应用为传统的软件方式,有响应速度快、便于进行个人设置等特点;
WEB应用则有免安装、即开即用、跨平台等特点,可以通过搭建服务器向网络用户提供服务,但是单用户使用时,仍旧需要有相应的WEB服务器等特点。
本课题暂无集中式对外提供服务的计划,仅限于本地计算提供辅助计算,故web应用形式相比较之下不如窗体应用恰当,故而本课题采用窗体应用。
运行java编写的程序需要部署jvm(即Java虚拟机),而C#程序可以直接在windows环境下运行(windows7自带.NETFRAMEWORK4.0),且C#可以很好的与C和C++关联,所以这里选择C#作为开发语言。
综合以上分析,本课题选用C#作为开发语言,MicrosoftVisualStudio2010作为开发环境,开发windows窗体应用,采用.NETFRAMEWORK4.0。
3.3.1相关术语介绍
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
MicrosoftVisualStudio,简称“VisualStudio”或“VS”,是微软公司推出的软件开发环境,支持多种编程语言,可以用来编写创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
MicrosoftVisualStudio2010,搭载.NETFRAMEWORK4.0,
开发的windows窗体应用可以在windows7操作系统下直接运行。
而WindowsXP操作系统则需要添加.NETFRAMEWORK4.0运行库方可运行。
.NETFramework是用于Windows的新托管代码编程模型。
它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
.NETFRAMEWORK4.0是windows7操作系统附带安装的,基于.NETFRAMEWORK4.0的windows窗体应用可以在当前大多数电脑都安装了windows7操作系统的前提下可以快速的部署、应用。
4软件设计
本课题采用自顶向下的方法,逐步实现。
自顶向下是一种逐步求精的设计程序的过程和方法。
对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。
这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。
按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解。
然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止。
4.1总体设计
软件分为M-V-C三层,其逻辑如下图:
图4.1软件总体结构
4.2界面设计(输入模块)
图4.2
输入模块分析图
4.2.1预设模型选择
系统预设多种模型图,当前程序中只做参考。
4.2.2真空容器设定
图4.3容器模型设定界面
真空容器形状选择可分为三类,1.圆柱体2.矩方体3.其他
其中,圆柱体、矩方体需要填写容积参数以及内表面积参数,用于补足部分小结构对相应容器计算造成的影响。
另外,由于高真空阶段的计算涉及到容器材料的出气率,故而在此需要设置材料。
设置材料方法有两种,
1.手工填写材料名称、放气率q放气时间指数β
2.从外部文件加载:
点击设置框右下角的加载按钮,从文件系统中加载相应的材料数据文件
图4.4外部加载数据界面
此外,可以在通过手动填写数据之后,通过点击save按钮,将输入的数据保存到文件系统,以便再次使用时可以外部加载,从而避免重复查表、再次手工填写,从而提高使用效率。
4.2.3抽气特性模型
图4.5抽气模型设定界面
抽气特性模型根据系统的不同,操作时间节点的不同有着较大的不同,这里采用节点添加的方式来创建抽气特性模型。
创建抽气特性模型最重要是添加上关键的节点,如前级泵过度到主泵的节点,抽速有很大变化。
若为了计算更加精确也可以提交非关键的节点,让抽气特性模型更加贴近实际情况。
操作:
添加:
首先,在表格头部填写对应的节点信息(压强——抽速——简述),点击添加,添加到抽气模型列表(不需要按顺序添加,程序会在程序执行时排序)。
添加位置由两种情况:
1.当列表中没有选中项时,点击添加,相应项添加到模型列表尾部
2.当列表中有选中项时,点击添加,相应项添加到选中项之后
替换:
在表格头部填写对应的节点信息(压强——抽速——简述),选择要替换的项,点击替换,选中项被替换为新设项;
删除:
选择某项,点击删除,选中项即被删除。
清除:
点击清空列表中所有项
保存:
将模型列表中所有项格式化存入文件系统,以便之后调用
加载:
加载之前格式化保存的抽气特性模型,并解析后再入特性模型列表
4.4.4输入计算参数
图4.6参数输入及计算界面
在页面上方输入初始压强(Pa),结束压强(Pa),点击计算,主要的计算参数以及计算结果会显示在页面下部。
计算后点击导出,容器下方的tab控件焦点会跳至计算流程tab页,通过内置的browser控件显示生成的html页,该页完整显示了计算的过程,包括输入的已知条件分析处理,使用的公式,分析过程以及计算的结果。
图4.7计算流程展示界面
4.3数据模块
4.3.1模块说明
由4.2节可知,由于计算需要输入较多参数,根据逻辑可以分为容器模型,抽气特性模型,抽气参数。
故而,输入部分分为多部进行。
所以需要在不同窗体之间进行数据的传输,这里采用一个数据类data来作为全局传输数据的桥梁。
而课题并未涉及到多线程并发运算的情况,也就是说每次计算只有一组数据参与,故而data类采用单例模式。
4.3.2单例模式
单例模式是一种常用的软件设计模式。
在它的核心结构中只包含一个被称为单例类的特殊类。
通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。
如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
图4.8单例模式结构图
4.3.3模块结构
根据逻辑,将输入数据分为三块:
容器模型,抽气特性模型,抽气参数。
其中容器模型含有较多数据,故而另设一个容器模型类。
抽气特性模型由多个抽气模型节点组成,故而为每个节点设定一个抽气节点模型类,在数据类中以list类型集合所有节点。
抽气参数数据量较少,故而直接记录在data类中。
代码结构如图:
图4.9数据模块结构图
4.4计算模块
毫无疑问,计算处理模块为整个系统最为核心的部分。
4.4.1模块设计分析
计算模块可以明晰的分为低真空阶段和高真空阶段,且两个阶段算法大相径庭,故而分成高真空阶段和低真空阶段,并使用建造者模式来统一调度算法。
建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。
它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便,无须修改已有代码,系统具有较好的扩展性。
图4.10建造者模式结构图
4.4.3计算模块流程图
图4.11计算模块流程图
4.4.2计算类代码说明
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespacepump
{
classcalculation
{
staticprivatecalculation_instance=null;
//单例模式实例存储位
publicconstdoublepm=1;
//高低真空分界为1Pa
publicdoublese;
//有效抽速
publicdoublep;
//目标压强
publicdoublepi;
//起始压强
publicdoubleq;
//材料放气率,
publicdoublebeta;
//放气时间指数
publicdoublevolume;
//容器体积
publicdoublearea;
//容器内表面积
//构造函数设为私有,不能外部实例化
privatecalculation(){
}
//单例模式,获取实例的静态方法,类只能实例化一次
publicstaticcalculationgetInstance()
if(_instance==null)
_instance=newcalculation();
return_instance;
/**************************************/
/*对外开放的计算方法*/
/*pi起始压强,p目标压强*/
publicdoublecalculate(doublepi,doublep)
datadata=data.getInstance();
//从数据类中获取实例,取相应数据
q=data.containerModel.q;
volume=data.containerModel.volume;
area=data.containerModel.area;
beta=data.containerModel.beta;
List<
pumpModel>
pumps=data.pumpModels;
//获取数据类中的抽气模型
intindex;
doublespeed=0,pb,pe,time=0;
pb=pi;
inti;
for(i=0;
i<
pumps.Count;
i++)
if(pumps[i].press<
=pi&
&
pumps[i].press>
p)