Сравнение различных методов расчета ПДВ для реального предприятия
end;
end;
if (Sim.Solve=SIMPLEX_DONE) then begin
s_temp:='решение найдено';
x:=Sim.GetSolution;
end
else s_temp:='Решения не существует';
end;
//==============================================================================
//==============================================================================
//==================================================== общий модуль для подсчета
procedure TForm1.Button3Click(Sender: TObject);
var
s,s_temp,ss : string;
countPoint : integer;
countfunnel : integer;
point_pdk : tExtArray;
point_cf : tExtArray;
funnel_m : tExtArray;
funnel_min : tExtArray;
funnel_name : tsArray;
pointfunnelx2 : tExtArrayx2;
i,j : integer;
x : tExtArray;
empty : boolean;
h : textfile;
funnelSumM,sumX:real;
begin
funnelSumM:=0;
sumX:=0;
memo1.Clear;
for i:=0 to checkListBox1.Items.Count-1 do begin
if CheckListBox1.Checked[i] then begin
application.ProcessMessages;
s:=checklistbox1.Items.Strings[i];
s:=returnSubString(s);
application.ProcessMessages;
get_point (s,countPoint,point_pdk);
get_funnel(s,countFunnel,funnel_name,funnel_m,funnel_min);
get_pointfunnel(s,countPoint,countfunnel,funnel_name,funnel_m,pointfunnelx2,point_cf);
get_simplexsolve(countPoint,CountFunnel,point_pdk,point_cf,funnel_m,funnel_min,pointfunnelx2,x,s_temp);
AssignFile(h,dir_path+'\RESULT\'+'h_pd'+s+'.gpv');
rewrite(h);
if s_temp='решение найдено' then begin
memo1.lines.Add('');
memo1.lines.Add(' Результаты расчета ПДВ (симплекс метод):');
memo1.lines.Add(' ПРИМЕСЬ='+s);
memo1.lines.Add('');
memo1.lines.Add('---------------------------------------------------------');
memo1.lines.Add('| Код |Существую-|Минимально| Расчетное | коэфф. |');
memo1.lines.Add('| источника |щий выброс|возможный | значение | норми- |');
memo1.lines.Add('| выброса | г/с | выброс | П Д В | рования |');
memo1.lines.Add('|-----------|----------|---г/с----|----г/с----|---------|');
writeln(h,'');
writeln(h,' Результаты расчета ПДВ (симплекс метод):');
writeln(h,' ПРИМЕСЬ='+s);
writeln(h,'');
writeln(h,'---------------------------------------------------------');
writeln(h,'| Код |Существую-|Минимально| Расчетное | коэфф. |');
writeln(h,'| источника |щий выброс|возможный | значение | норми- |');
writeln(h,'| выброса | г/с | выброс | П Д В | рования |');
writeln(h,'|-----------|----------|---г/с----|----г/с----|---------|');
empty:=true;
for j:=0 to countFunnel-1 do begin
funnelSumM:=FunnelSumM+funnel_m[j];
sumX:=SumX+x[j];
if abs(x[j]-funnel_m[j])>0.0000001 then
begin
ss:='|'+funnel_name[j]+'| '+FloatToStrF(funnel_m[j],ffFixed,1000,6)+' | '+FloatToStrF(funnel_min[j],ffFixed,1000,6);
ss:=ss+' | '+FloatToStrF(x[j],ffFixed,1000,7)+' | '+FloatToStrF(x[j]/funnel_m[j],ffFixed,1000,5)+' |';
memo1.lines.Add(ss);
writeln(h,ss);
empty:=false;
end;
end;
ss:='| в сумме: '+FloatToStrF(funnelSumM,ffFixed,1000,6)+' ';
ss:=ss+FloatToStrF(sumX,ffFixed,1000,6)+' | '+ FloatToStrF(sumX/funnelSumM,ffFixed,1000,5)+' |';
if empty then begin
memo1.lines.Add('| Нет выбросов для снижения |');
writeln(h,'| Нет выбросов для снижения |');
Экологические заметки
Хромато-масс-спектрометрия и ее использование в идентификации загрязнителей природных сред
В наши дни проблема охраны окружающей среды у всех на устах. Ключевое
слово в этой проблеме – «экология». Повышенное внимание к экологии является
следствием резко возросшей человеч ...
Флуометрия в анализе объектов окружающей среды
Люминесцентный анализ обладает рядом
особенностей, которые отличают его от всех других видов анализа. Люминесцентный
анализ необычайно чувствителен. С его помощью можно обнаружить ...
Циркуляция загрязняющих веществ в природе
Человечество в
последнюю четверть двадцатого века вступило в эпоху всемирного
эколого-экономического кризиса. Он еще в 70-е годы заявил о себе как
энергетический кризис. И лишь сп ...