📄 analog.pas
字号:
AnalogForm.AnalogMemo.Lines.Add('送风期');
for j:=1 to MaxTime do
begin
c:='蓄热体:'+IntToStr(j)+',';
d:='热风:'+IntToStr(j)+',';
for i:=1 to MaxPosition do
begin
c:=c+IntToStr(i)+',';
d:=d+IntToStr(i)+',';
AnalogElement.TempRegenerator[2,i,j]:=int(100*tsolid[i,j])/100;
AnalogElement.TempAir[i,j]:=int(100*Tgas[i,j])/100;
c:=c+FloatToStr(AnalogElement.TempRegenerator[2,i,j])+',';
d:=d+FloatToStr(AnalogElement.TempAir[i,j])+',';
end;
c:=c+';';
d:=d+';';
AnalogForm.AnalogMemo.Lines.Add(c);
AnalogForm.AnalogMemo.Lines.Add(d);
end;
Te1:=0;
for i:=1 to MaxPosition do
begin
Te1:=tsolid[MaxPosition-i+1,MaxTime]+Te1;
end;
Te1:=Te1/MaxPosition;
k:=k+1;
end;
AnalogForm.AnalogMemo.Lines.Add('完成!');
end;
procedure TAnalogForm.RegeneratorClick(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:蓄热体参数REGENERATOR'+chr(13));
RegeneratorForm:=TRegeneratorForm.Create(Self);
RegeneratorForm.ShowModal;
end;
procedure TAnalogForm.AnalogOpenHsdFileClick(Sender: TObject);
begin
AnalogOpenDialog.Title:='数据文件';
AnalogOpenDialog.Filter:='数据文件(*.hsd,*.hsa)|*.hsd;*.hsa';
AnalogOpenDialog.FileName:='';
if AnalogOpenDialog.Execute then
with AnalogOpenDialog do
begin
FileName:=LeftStr(FileName,Length(FileName)-4);
ReadSESystemFile(FileName+'.hsd');
//ReadAnalogFile(FileName+'.hsa');
AnalogMemo.Lines.Add('日期:'+DateToStr(Date)+',时间:'+TimeToStr(Time));
AnalogMemo.Lines.Add('打开文件'+FileName+'.hsd'+'...');
//AnalogMemo.Lines.Add('打开文件'+FileName+'.hsa'+'...');
AnalogForm.AnalogMemo.Lines.Add('蓄热体结构');
AnalogForm.AnalogMemo.Lines.Add('直径(m):'+FloatToStr(SESystemElement.structure[1])+','+
'高度(m):'+FloatToStr(SESystemElement.structure[2])+','+
'总蓄热面积(m^2):'+FloatToStr(SESystemElement.structure[3])+','+
'蓄热体重量(kg):'+FloatToStr(SESystemElement.structure[4]));
AnalogForm.AnalogMemo.Lines.Add('格子砖参数');
AnalogForm.AnalogMemo.Lines.Add('上段,格孔直径(m):'+FloatToStr(SESystemElement.grille[1][1])+','+
'活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[1][2])+','+
'当量厚度(m):'+FloatToStr(SESystemElement.grille[1][3])+','+
'格砖厚度(m):'+FloatToStr(SESystemElement.grille[1][4]));
AnalogForm.AnalogMemo.Lines.Add('中段,格孔直径(m):'+FloatToStr(SESystemElement.grille[2][1])+','+
'活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[2][2])+','+
'当量厚度(m):'+FloatToStr(SESystemElement.grille[2][3])+','+
'格砖厚度(m):'+FloatToStr(SESystemElement.grille[2][4]));
AnalogForm.AnalogMemo.Lines.Add('下段,格孔直径(m):'+FloatToStr(SESystemElement.grille[3][1])+','+
'活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[3][2])+','+
'当量厚度(m):'+FloatToStr(SESystemElement.grille[3][3])+','+
'格砖厚度(m):'+FloatToStr(SESystemElement.grille[3][4]));
AnalogForm.AnalogMemo.Lines.Add('风量参数');
AnalogForm.AnalogMemo.Lines.Add('初始无因次风量系数:'+FloatToStr(SESystemElement.wind));
end;
end;
procedure TAnalogForm.AnalogSaveClick(Sender: TObject);
begin
AnalogSaveDialog.Title:='数据文件';
AnalogOpenDialog.Filter:='数据文件(*.hsd,*.hsa)|*.hsd,hsa';
AnalogSaveDialog.FileName:='';
if AnalogSaveDialog.Execute then
with AnalogSaveDialog do
begin
FileName:=LeftStr(FileName,Length(FileName)-4);
WriteSESystemFile(FileName+'.hsd');
WriteAnalogFile(FileName+'.hsa');
end;
end;
procedure TAnalogForm.PrecisionClick(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:模拟精度设置PRECISION'+chr(13));
AnalogSetForm:=TAnalogSetForm.Create(Self);
AnalogSetForm.ShowModal;
end;
procedure TAnalogForm.FumeByTimeClick(Sender: TObject);
var i,j:Integer;
Tr:Real;
begin
DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
DisplayAnalogForm.DisplayLineSeries_1.Clear;
DisplayAnalogForm.DisplayLineSeries_2.Clear;
DisplayAnalogForm.DisplayLineSeries_3.Clear;
DisplayAnalogForm.DisplayLineSeries_4.Clear;
DisplayAnalogForm.DisplayLineSeries_5.Clear;
DisplayAnalogForm.DisplayLineSeries_6.Clear;
DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6H';
DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3H';
DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2H';
DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3H';
DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6H';
DisplayAnalogForm.DisplayLineSeries_5.Title:='1H';
DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='时间';
;
DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同高度烟气温度随时间分布曲线');
Tr:=SESystemElement.q1_inheat[3];
for j:=1 to MaxTime do
begin
DisplayAnalogForm.DisplayLineSeries_1.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[1,j]);
DisplayAnalogForm.DisplayLineSeries_2.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[10,j]);
DisplayAnalogForm.DisplayLineSeries_3.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[25,j]);
DisplayAnalogForm.DisplayLineSeries_4.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[30,j]);
DisplayAnalogForm.DisplayLineSeries_5.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[35,j]);
DisplayAnalogForm.DisplayLineSeries_6.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[MaxPosition,j]);
DisplayAnalogForm.DisplayAnalogChart.Update;
end;
DisplayAnalogForm.ShowModal;
end;
procedure TAnalogForm.FumeByHeightClick(Sender: TObject);
var i,j:Integer;
Hx:Real;
begin
DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
DisplayAnalogForm.DisplayLineSeries_1.Clear;
DisplayAnalogForm.DisplayLineSeries_2.Clear;
DisplayAnalogForm.DisplayLineSeries_3.Clear;
DisplayAnalogForm.DisplayLineSeries_4.Clear;
DisplayAnalogForm.DisplayLineSeries_5.Clear;
DisplayAnalogForm.DisplayLineSeries_6.Clear;
DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6τ';
DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3τ';
DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2τ';
DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3τ';
DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6τ';
DisplayAnalogForm.DisplayLineSeries_6.Title:='1τ';
DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='高度';
;
DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同时间烟气温度随高度分布曲线');
Hx:=SESystemElement.structure[2];
for i:=1 to MaxPosition do
begin
DisplayAnalogForm.DisplayLineSeries_1.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,1]);
DisplayAnalogForm.DisplayLineSeries_2.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,10]);
DisplayAnalogForm.DisplayLineSeries_3.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,15]);
DisplayAnalogForm.DisplayLineSeries_4.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,20]);
DisplayAnalogForm.DisplayLineSeries_5.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,30]);
DisplayAnalogForm.DisplayLineSeries_6.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,MaxPosition]);
DisplayAnalogForm.DisplayAnalogChart.Update;
end;
DisplayAnalogForm.ShowModal;
end;
procedure TAnalogForm.BurnRegeneratorByTimeClick(Sender: TObject);
var i,j:Integer;
Tr:Real;
begin
DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
DisplayAnalogForm.DisplayLineSeries_1.Clear;
DisplayAnalogForm.DisplayLineSeries_2.Clear;
DisplayAnalogForm.DisplayLineSeries_3.Clear;
DisplayAnalogForm.DisplayLineSeries_4.Clear;
DisplayAnalogForm.DisplayLineSeries_5.Clear;
DisplayAnalogForm.DisplayLineSeries_6.Clear;
DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6H';
DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3H';
DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2H';
DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3H';
DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6H';
DisplayAnalogForm.DisplayLineSeries_5.Title:='1H';
DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='时间';
;
DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同高度蓄热体温度随时间分布曲线');
Tr:=SESystemElement.q1_inheat[3];
for j:=1 to MaxTime do
begin
DisplayAnalogForm.DisplayLineSeries_1.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,1,j]);
DisplayAnalogForm.DisplayLineSeries_2.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,10,j]);
DisplayAnalogForm.DisplayLineSeries_3.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,25,j]);
DisplayAnalogForm.DisplayLineSeries_4.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,30,j]);
DisplayAnalogForm.DisplayLineSeries_5.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,35,j]);
DisplayAnalogForm.DisplayLineSeries_6.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,MaxPosition,j]);
DisplayAnalogForm.DisplayAnalogChart.Update;
end;
DisplayAnalogForm.ShowModal;
end;
procedure TAnalogForm.BurnRegeneratorByHeightClick(Sender: TObject);
var i,j:Integer;
Hx:Real;
begin
DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
DisplayAnalogForm.DisplayLineSeries_1.Clear;
DisplayAnalogForm.DisplayLineSeries_2.Clear;
DisplayAnalogForm.DisplayLineSeries_3.Clear;
DisplayAnalogForm.DisplayLineSeries_4.Clear;
DisplayAnalogForm.DisplayLineSeries_5.Clear;
DisplayAnalogForm.DisplayLineSeries_6.Clear;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -