📄 htacballdoc.cpp
字号:
// HtacBallDoc.cpp : implementation of the CHtacBallDoc class
//
#include "stdafx.h"
#include "HtacBall.h"
#include "gas.h"
#include "burner.h"
#include "nowel.h"
#include "HtacBallDoc.h"
#include "CntrItem.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHtacBallDoc
IMPLEMENT_DYNCREATE(CHtacBallDoc, COleDocument)
BEGIN_MESSAGE_MAP(CHtacBallDoc, COleDocument)
//{{AFX_MSG_MAP(CHtacBallDoc)
ON_COMMAND(ID_DESIGN_GAS, OnDesignGas)
ON_COMMAND(ID_ADJUST_BURNER, OnAdjustBurner)
ON_COMMAND(ID_ADJUST_NOWEL, OnAdjustNowel)
ON_COMMAND(ID_ADJUST_HEATBAL, OnAdjustHeatbal)
ON_COMMAND(ID_ADJUST_REGE, OnAdjustRege)
ON_COMMAND(ID_DESIGN_REGE, OnDesignRege)
//}}AFX_MSG_MAP
// Enable default OLE container implementation
ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, COleDocument::OnUpdatePasteMenu)
ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE_LINK, COleDocument::OnUpdatePasteLinkMenu)
ON_UPDATE_COMMAND_UI(ID_OLE_EDIT_CONVERT, COleDocument::OnUpdateObjectVerbMenu)
ON_COMMAND(ID_OLE_EDIT_CONVERT, COleDocument::OnEditConvert)
ON_UPDATE_COMMAND_UI(ID_OLE_EDIT_LINKS, COleDocument::OnUpdateEditLinksMenu)
ON_COMMAND(ID_OLE_EDIT_LINKS, COleDocument::OnEditLinks)
ON_UPDATE_COMMAND_UI_RANGE(ID_OLE_VERB_FIRST, ID_OLE_VERB_LAST, COleDocument::OnUpdateObjectVerbMenu)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CHtacBallDoc construction/destruction
CHtacBallDoc::CHtacBallDoc()
{
// Use OLE compound files
EnableCompoundFile();
// TODO: add one-time construction code here
}
CHtacBallDoc::~CHtacBallDoc()
{
}
BOOL CHtacBallDoc::OnNewDocument()
{
if (!COleDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
m_welcome_str[0]=" 蓄热式陶瓷球燃烧器设计系统 HtacBall";
m_welcome_str[1]="版本:1.01a Final";
m_welcome_str[2]=" 进行蓄热式陶瓷球燃烧器的燃料燃烧计算、蓄热室设计以及";
m_welcome_str[3]="蓄热室蓄热能力、阻力、功率、热平衡的校核计算,实现燃烧器设计的全过程!";
m_welcome_str[4]=" 欢迎你使用!!";
m_welcome_str[5]=" endlessfree(endlessfree@163.com) 2006-01-10";
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CHtacBallDoc serialization
void CHtacBallDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
// Calling the base class COleDocument enables serialization
// of the container document's COleClientItem objects.
COleDocument::Serialize(ar);
}
/////////////////////////////////////////////////////////////////////////////
// CHtacBallDoc diagnostics
#ifdef _DEBUG
void CHtacBallDoc::AssertValid() const
{
COleDocument::AssertValid();
}
void CHtacBallDoc::Dump(CDumpContext& dc) const
{
COleDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CHtacBallDoc commands
void CHtacBallDoc::OnDesignGas()
{
// TODO: Add your command handler code here
CString line;
CGas m_gas;
if(m_gas.DoModal()==IDOK){
line.Format("煤气成分 CO2:%0.2f,CO:%0.2f,N2:%0.2f,O2:%0.2f,H2:%0.2f,CH4:%0.2f,C2H4:%0.2f",m_gas.m_CO2,m_gas.m_CO,m_gas.m_N2,m_gas.m_O2,m_gas.m_H2,m_gas.m_CH4,m_gas.m_C2H4);
m_gas_str[0]=line;
line.Format("煤气温度tm:%0.2f,煤气消耗量m^3/s:%0.2f,空气消耗系数:%0.2f",m_gas.m_tem,m_gas.m_consumption,m_gas.m_airfactor);
m_gas_str[1]=line;
line.Format("煤气发热量kJ/m3:%0.2f,烟气生成量m^3/s:%0.2f,实际空气需要量m3/m3:%0.2f",m_gas.m_heatvalue,m_gas.m_fume,m_gas.m_airdemand);
m_gas_str[2]=line;
line.Format("燃烧器功率kW:%0.2f,抽烟比:%0.2f",m_gas.m_BurnerP,m_gas.m_ratio);
m_gas_str[3]=line;
line.Format("烟气成分 CO2:%0.2f,O2:%0.2f,SO2:%0.2f,H2O:%0.2f,N2:%0.2f",m_gas.m_fume_co2,m_gas.m_fume_o2,m_gas.m_fume_so2,m_gas.m_fume_h2o,m_gas.m_fume_n2 );
m_gas_str[4]=line;
int i;
for(i=0;i<10;i++){m_burner_str[i]="";m_nowel_str[i]="";m_heatbalance_str[i]="";m_regeadjust_str[i]="";m_regenator_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
void CHtacBallDoc::OnAdjustBurner()
{
// TODO: Add your command handler code here
CString line;
CBurner m_burner;
if(m_burner.DoModal()==IDOK){
line.Format("要求功率kw:%0.2f,设计功率kw:%0.2f",m_burner.m_yp,m_burner.m_sp);
m_burner_str[0]=line;
m_burner_str[1]="燃烧器功率校核结论:"+m_burner.m_con;
int i;
for(i=0;i<10;i++){m_gas_str[i]="";m_nowel_str[i]="";m_heatbalance_str[i]="";m_regeadjust_str[i]="";m_regenator_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
void CHtacBallDoc::OnAdjustNowel()
{
// TODO: Add your command handler code here
CString line;
CNowel m_nowel;
if(m_nowel.DoModal()==IDOK){
line.Format("风机全压kPa:%0.2f,设计压差kPa:%0.2f",m_nowel.m_Y,m_nowel.m_d);
m_nowel_str[0]=line;
m_nowel_str[1]="蓄热室阻力校核结论:"+m_nowel.m_Con;
int i;
for(i=0;i<10;i++){m_gas_str[i]="";m_burner_str[i]="";m_heatbalance_str[i]="";m_regeadjust_str[i]="";m_regenator_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
#include "Heatbalance.h"
void CHtacBallDoc::OnAdjustHeatbal()
{
// TODO: Add your command handler code here
CString line;
CHeatbalance m_heatbalance;
if(m_heatbalance.DoModal()==IDOK){
line.Format("烟气放出的热量kJ:%0.2f,空气吸收的热量kJ:%0.2f",m_heatbalance.m_Q1,m_heatbalance.m_Q2);
m_heatbalance_str[0]=line;
m_heatbalance_str[1]="热平衡校核结论:"+m_heatbalance.m_Con;
int i;
for(i=0;i<10;i++){m_gas_str[i]="";m_burner_str[i]="";m_nowel_str[i]="";m_regeadjust_str[i]="";m_regenator_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
#include "Regeadjust.h"
void CHtacBallDoc::OnAdjustRege()
{
// TODO: Add your command handler code here
CString line;
CRegeadjust m_regeadjust;
if(m_regeadjust.DoModal()==IDOK){
line.Format("要求综合传热系数w/m2.k:%0.2f",m_regeadjust.m_k1);
m_regeadjust_str[0]=line;
line.Format("蓄热球与空气换热系数:%0.2f,蓄热球与烟气空气换热系数:%0.2f,设计综合传热系数:%0.2f",m_regeadjust.m_alfc,m_regeadjust.m_alfh,m_regeadjust.m_k2 );
m_regeadjust_str[1]=line;
m_regeadjust_str[2]="蓄热室蓄热能力校核结论:"+m_regeadjust.m_Con;
int i;
for(i=0;i<10;i++){m_gas_str[i]="";m_burner_str[i]="";m_nowel_str[i]="";m_heatbalance_str[i]="";m_regenator_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
#include "Regenator.h"
void CHtacBallDoc::OnDesignRege()
{
// TODO: Add your command handler code here
CString line;
CRegenator m_regenator;
if(m_regenator.DoModal()==IDOK){
m_regenator_str[0]=" 入口温度K 出口温度K 流量kg/s 密度kg/m3 导热系数w/m.k 平均定压比热J/kg.k 空塔速度m/s";
line.Format("空气: %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f",m_regenator.m_Ta1,m_regenator.m_Ta2,m_regenator.m_La,m_regenator.m_Roua,m_regenator.m_Lmda,m_regenator.m_Ca,m_regenator.m_Ua);
m_regenator_str[1]=line;
line.Format("烟气: %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f",m_regenator.m_Tf1,m_regenator.m_Tf2,m_regenator.m_Lf,m_regenator.m_Rouf,m_regenator.m_Lmdf,m_regenator.m_Cf,m_regenator.m_Uf);
m_regenator_str[2]=line;
m_regenator_str[3]=" 直径m 比热J/kg.k 导热系数w/m.k 导温系数m2/s 密度kg/m3 换向时间s 空隙率";
line.Format("蓄热球: %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f %0.2f",m_regenator.m_d,m_regenator.m_Cp,m_regenator.m_Lmdp,m_regenator.m_a,m_regenator.m_Roup,m_regenator.m_tao,m_regenator.m_eps);
m_regenator_str[4]=line;
line.Format("空气定性温度K:%0.2f,烟气定性温度K:%0.2f",m_regenator.m_adw,m_regenator.m_fdw);
m_regenator_str[5]=line;
line.Format("蓄热球与空气w/m2.k:%0.2f,蓄热球与烟气w/m2.k:%0.2f,综合传热系数w/m2.k:%0.2f,传热面积m2:%0.2f",
m_regenator.m_alfc,m_regenator.m_alfh,m_regenator.m_k,m_regenator.m_F);
m_regenator_str[6]=line;
line.Format("蓄热球数目(个):%0.2f,球的填充容积m3:%0.2f,蓄热室内部尺寸m3:%0.2fX%0.2fX%0.2f",
m_regenator.m_N,m_regenator.m_V,m_regenator.m_Xa,m_regenator.m_Xb,m_regenator.m_Xh);
m_regenator_str[7]=line;
line.Format("蓄热室阻力Pa:%0.2f,蓄热室功率kW:%0.2f",m_regenator.m_Nowel,m_regenator.m_RegeP);
m_regenator_str[8]=line;
int i;
for(i=0;i<10;i++){m_gas_str[i]="";m_burner_str[i]="";m_nowel_str[i]="";m_heatbalance_str[i]="";m_regeadjust_str[i]="";m_welcome_str[i]="";}
UpdateAllViews(NULL);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -