Рассеивание загрязняющих веществ в атмосфере

Тип работы:
Контрольная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

1. Задание 1

Рассчитать максимальную приземную концентрацию Сmax загрязняющих веществ, создаваемую источником загрязнения атмосферы (ИЗА); расстояние xmax от ИЗА до точки максимальной приземной концентрации; опасную скорость ветра иmax, при которой создается максимальная концентрация ЗВ; показатель опасности загрязнения j и концентрации ЗВ по оси факела выбросов и перпендикулярно ей для точек, отстоящих от ИЗА на расстояниях xmax/2, хmax, 3xmax и 6xmax.

По результатам расчетов построить требуемые профили приземных концентраций, определить длину зоны загрязнения, в которой превышена среднесуточная ПДК, и ее ширину в заданных точках, найти радиус зоны влияния ИЗА.

Рассмотреть и предложить инженерные решения по снижению приземных концентраций ЗВ, рассчитать требуемую для этого высоту трубы, эффективность предварительной очистки выбросов и ПДВ.

Параметры рассчитывают в следующем порядке:

расход газовоздушной смеси

;

безразмерные параметры

;;

при f < 100;

при f < 100 и нmax< 2;

n=1 при f < 100 и нmax? 2;

опасная скорость ветра

umax = нmax при нmax? 2 и f < 100;

при нmax>2 и f < 100;

максимальная концентрация ЗВ Сmax (в миллиграммах на метр кубический)

; (1)

расстояние от ИЗА до точки с Сmax

где А — безразмерный коэффициент, зависящий от температурной стратификации атмосферы (распределение температур воздуха по высоте, влияющее на его вертикальное перемещение), для Твери и Тверской области А = 160; М — масса выбросов ЗВ, г/с; F — безразмерный коэффициент, учитывающий скорость оседания выбросов, для газов F = 1, для твердых частиц F = 2 при Э < 75%, F = 2,5 при Э = 75?90% и F = 3 при Э> 90%; з — безразмерный коэффициент, отражающий влияние рельефа местности и изменяющийся от 1 до 10, для ровной и слабопересеченной местности з =1,0;

* приземные концентрации ЗВ Сi, по оси факела выброса на расстояниях xi равных xmax/2, хmax, 3xmax и 6xmax,

где S1 — безразмерный коэффициент,

при;

при;

при;

приземные концентрации ЗВ Су на перпендикулярах к оси факела выброса,

для; для и ,

где S2 — безразмерный коэффициент,

;

при; при; - расстояние по перпендикуляру от оси факела выбросов (в расчетах следует принять равным 50, 100, 200, 300 и 400 м).

2. Задание 2

Определить концентрации загрязнения атмосферного воздуха окисью углерода, оксидами азота и углеводородами в солнечную и дождливую погоду в расчетном поперечнике на расстояниях l от кромки автомобильной дороги, указанных в таблице.

Построить графики зависимости изменения концентрации ЗВ от расстояния от кромки дороги l.

Выбрать защитные мероприятия по снижению концентрации ЗВ в зоне жилой застройки, удаленной на расстояние l от дороги, до допустимого уровня, если скорость господствующего ветра 3 м/с. Сведения о фоновых концентрациях отсутствуют.

Методика расчета. Основными токсичными компонентами отработавших газов двигателей внутреннего сгорания (ДВС) автотранспорта являются оксиды углерода, азота и углеводорода. Оценку уровня загрязнения воздушной среды отработавшими газами следует производить на основе расчета. Методика расчета включает поэтапное определение эмиссии (выбросов) отработавших газов и концентрации загрязнения воздуха этими газами на различном расстоянии от дороги, а затем сравнение полученных данных с ПДК данных веществ в атмосферном воздухе населенных пунктов. При расчете выбросов учитываются различные типы автотранспортных средств и конкретные дорожные условия [2].

Параметры загрязнения рассчитывают в следующем порядке:

1. Мощность эмиссии (в миллиграммах на метр в секунду) ЗВ отдельно для каждого компонента (окиси углерода, оксидов азота, углеводородов) на конкретном участке дороги

,

где т — коэффициент, учитывающий дорожные и транспортные условия, принимаемый по графику (см. рисунок); Giк и Giд — средний эксплуатационный расход топлива для данного типа карбюраторных и дизельных автомобилей соответственно, л/км; Niк и Niд — интенсивность движения каждого выделенного типа карбюраторных и дизельных автомобилей в час; Кк и Кд — коэффициенты, принимаемые для данного компонента загрязнения в зависимости от типа автомобиля.

Значения коэффициентов Кк и Кд в зависимости от вида выброса следующие:

Выброс Окись углерода Углеводороды Оксиды азота Ккд 0,6/0,14 0,12/0,037 0,06/0,015

2. Концентрации загрязнения атмосферного воздуха токсичными компонентами отработавших газов на различном расстоянии от дороги / (используется модель Гауссового распределения примесей в атмосфере на небольших высотах)

загрязнение автомобиль модель гауссовский

,

где у — стандартное отклонение Гауссового рассеивания в вертикальном направлении, м; хв — скорость ветра, преобладающего в расчетный период, м/с; ц — угол, составляемый направлением ветра к трассе дороги, при ц < 30° принять sin ц = 0,5; Fj — фоновая концентрация загрязнения воздуха, мг/м3.

Стандартное Гауссовое отклонение в зависимости от расстояния до кромки проезжей части и состояния погоды устанавливается следующим образом:

l, м

10

20

40

60

80

100

150

200

250

у

В числителе — для солнечной погоды; в знаменателе — для дождливой.

Для токсичных составляющих отработавших газов тепловых двигателей в воздухе населенных мест регламентированы среднесуточные значения ПДК:

Вещество Окись углерода Углеводороды Оксиды азота

Класс опасности 4 3 2

Среднесуточные ПДК, мг/м3 3,0 1,5 0,04

Эти значения должны быть сопоставлены с полученными в расчете концентрациями каждого компонента ЗВ на различных расстояниях l в поперечном направлении и в зоне жилой застройки. Такое сопоставление лучше всего проводить по графикам загрязнения придорожной зоны токсичными компонентами отработавших газов. С помощью этих графиков следует определить концентрации ЗВ над кромкой дороги и в начале зоны жилой застройки. В случае превышения ПДК необходимо предложить мероприятия по нормализации концентраций ЗВ в жилой зоне.

Исходные данные

Вариант

Na, автомобилей в час

Число автомобилей по группам, %

х, км/ч

ц

l, м

1

2

3

4

5

6

1

1000

40

5

25

20

5

5

20

20°

50

2

2000

35

5

30

20

5

5

25

30

60

3

3000

45

10

15

15

5

10

30

35

80

4

4000

30

15

15

20

10

10

35

40

100

5

500

40

10

15

20

5

10

40

45

50

6

600

20

20

20

20

10

10

45

25

60

7

700

50

5

25

15

0

5

50

50

70

8

800

40

10

10

25

5

10

55

55

80

9

900

45

10

15

20

5

5

60

60

60

10

1000

25

25

25

20

0

5

60

65

50

11

1100

40

20

25

5

5

5

55

70

60

12

1200

40

5

25

20

5

5

50

75

70

13

1300

35

5

30

20

5

5

45

80

80

14

1400

45

10

15

15

5

10

40

85

60

15

1500

30

15

15

20

10

10

35

20

100

16

1000

40

10

15

20

5

10

30

25

80

17

200

20

20

20

20

10

10

60

80

40

18

300

50

5

25

10

5

5

60

75

50

19

400

40

10

10

25

5

10

60

70

50

20

500

45

10

15

20

5

10

55

65

40

21

600

25

25

20

20

5

5

45

60

50

22

700

40

5

25

20

5

5

30

55

60

23

800

35

5

30

20

5

5

40

50

70

24

900

45

15

10

15

5

10

30

45

80

25

100

20

20

20

20

10

10

30

90

40

Описание программы

Предметная область

Предметная область — Экологический расчет. Данный программный продукт разработан для решения 2 типов задач:

Рассчет рассеивания загрязняющих веществ в атмосфере и предельно допустимых выбросов от одиночных стационарных источников загрязнения; Токсические выбросы при эксплуатации автомобилей

Системные требования

Минимальные системные требования:

ЦП: 500 мГц

ОЗУ: 512 Мб для Windows XP, 1 Гб для Windows Vista, 7

HDD: 10 Мб свободного места

ОС: Windows XP, Vista, 7

Видео: Разрешение экрана 1366*768

Руководство пользователя

Запуск программы

После запуска программы на экране появляется заставка (рис. 1).

Рис. 1. Заставка

Затем на экране появляется главное меню с возможностью выбора задачи (рис. 2).

Рис. 2. Главное меню

Расчета рассеивания загрязняющих веществ в атмосфере и предельно допустимых выбросов от одиночных стационарных источников загрязнения; Расчета токсических выбросов при эксплуатации автомобилей.

Чтобы перейти к решению конкретной задачи необходимо выбрать её поставив точку в соответствующее поле и нажать кнопку «Пуск».

Для выхода следует нажать кнопку «Выход».

Расчет рассеивания загрязняющих веществ в атмосфере и предельно допустимых выбросов от одиночных стационарных источников загрязнения.

Рис. 3. Меню первой задачи

Для расчета необходимо:

Нажать на кнопку «ввод данных».

Рис. 4 Ввод данных

В появившемся окне ввести необходимые данные или нажать кнопку «Тестовые данные» (при нажатии на кнопку поля заполняются случайно одним из 25 вариантов) и нажать кнопку «окей» после следует нажать на кнопку «Расчет» теперь можно посмотреть результаты нажав на кнопку «результат».

Рис. 5. Результаты

График виден в левой части окна, с помощью меню «профиль» можно выбрать тип графика, также можно перейти к увеличенным формам графика и вывести их на печать нажав на кнопку «графики»

Чтобы вызвать методические указания к работе следует нажать на кнопку «методическое пособие».

Рис. 6. Окно графики

Чтобы перейти в главное меню необходимо нажать кнопку «Сменить задачу».

Для выхода нажмите «выход».

Токсические выбросы при эксплуатации автомобилей.

Рис. 7. Меню второй задачи

Для расчета необходимо: Нажать на кнопку «ввод данных».

Рис. 8. Ввод данных

В появившемся окне ввести необходимые данные или нажать кнопку «Тестовые данные» (при нажатии на кнопку поля заполняются случайно одним из 25 вариантов) и нажать кнопку «окей».

После следует нажать на кнопку «Расчет».

График виден в левой части окна, для печати графика следует нажать кнопку «печать».

Чтобы перейти в главное меню необходимо нажать кнопку «Сменить задачу».

Для выхода нажмите «выход».

3. Листинг программы

Unit 4 (основной вычислительный модуль).

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;

type

TForm4 = class (TForm)

private

{Private declarations}

public

{Public declarations}

end;

procedure rasch ();

procedure rach2 ();

function qubkor (x: real):real;

function koefm (x: real):real;

var

Form4: TForm4;

dan2, func1, func2, mf, dan: boolean;

mm, ff, cmax, m, nu, xmax, dh, umax, n, f, vmax, V, mz, mn, ms, mc, h, d, w0, dt, a, e: real;

c: array [1. 4] of real;

x: array [1. 3] of real;

c1, c2, c3, t, y: array [-5. 5] of real;

///// задача1 >

//// задача2 <

n2, ax, bx: real;

na, pa, g: array [1. 6] of real;

cc1, ch1, cn1: array [1. 9] of real;

qc, qh, qn, cc, ch, cn, Kkc, kkh, kkn, kdc, kdh, kdn, vvv, fi, lll, lll1, sig, fff, vvet: real;

day: boolean;

implementation

{$R *. dfm}

procedure rasch ();

var j, i: integer;

begin

mm: =mz+mn+ms+mc;

ff: =2;

v: =pi*sqr (d)/4*w0;

f: =1000*sqr (w0)*d/(sqr (h)*dt);

// showmessage (floattostr (f));

vmax: =0. 65*qubkor (v*dt/h);

if f< 100 then

begin

m: =1/(0. 67+0. 1*sqrt (f)*0. 34*qubkor (f));

if vmax< =2 then

begin

n: =0. 532*sqr (vmax) — 2. 13*vmax+3. 13;

umax: =vmax;

end

else begin

n: =1;

umax: =vmax*(1+0. 12*sqrt (f));

end;

cmax: =a*M*FF*mm*n/(sqr (h)*qubkor (v*dt));

xmax: =(5-F)/4*h;

for i: =1 to 4 do

begin

if i=1 then begin

c[i]: =1. 13/(0. 13*4+1); end;

if i=2 then

c[i]: =cmax*(3−8+6);

if i=3 then

c[i]: =cmax*(3*(1/81) — 8*(1/27)+6*(1/9));

if i=4 then

c[i]: =cmax*(3*(1/(6*6*6*6)) — 8*(1/(6*6*6))+6*(1/(6*6)));

// begin

end;

for j: =1 to 3 do begin

if j=1 then x[j]: =xmax;

if j=2 then x[j]: =3*xmax;

if j=3 then x[j]: =6*xmax;

for i: =-5 to 5 do begin

if i=-5 then y[i]: =-400;

if i=-4 then y[i]: =-300;

if i=-3 then y[i]: =-200;

if i=-2 then y[i]: =-100;

if i=-1 then y[i]: =-50;

if i=0 then y[i]: =0;

if i=1 then y[i]: =50;

if i=2 then y[i]: =100;

if i=3 then y[i]: =200;

if i=4 then y[i]: =300;

if i=5 then y[i]: =400;

if umax< =5 then t[i]: =umax*sqr (abs (y[i]))/sqr (x[j])

else t[i]: =5*sqr (abs (y[i]))/sqr (x[j]);

if j=1 then c1 [i]: =(1/sqr ((1+5*t[i])+12. 8*sqr (t[i])+17*sqr (t[i])*t[i]+

45. 1*sqr (t[i])*sqr (t[i])))*cmax;

if j=2 then c2 [i]: =(1/sqr ((1+5*t[i])+12. 8*sqr (t[i])+17*sqr (t[i])*t[i]+

45. 1*sqr (t[i])*sqr (t[i])))*c[3];

if j=3 then c3 [i]: =(1/sqr ((1+5*t[i])+12. 8*sqr (t[i])+17*sqr (t[i])*t[i]+

45. 1*sqr (t[i])*sqr (t[i])))*c[4];

end;

end;

end;

end;

function qubkor (x: real):real;

begin

qubkor: =exp (1/3*ln (x));

end;

function koefm (x: real):real;

var koefms: string;

begin

if ((x> =20) and (x< 24)) then koefm: =3. 0

else if ((x> =24) and (x< 28)) then koefm: =3. 2

else if ((x> =28) and (x< 32)) then koefm: =3. 4

else if ((x> =32) and (x< 36)) then koefm: =3. 6

else if ((x> =36) and (x< 40)) then koefm: =3. 8

else if ((x> =40) and (x< 44)) then koefm: =4

else if ((x> =44) and (x< 48)) then koefm: =3. 7

else if ((x> =48) and (x< 52)) then koefm: =3. 4

else if ((x> =52) and (x< 56)) then koefm: =3. 1

else if ((x> =56) and (x< 60)) then koefm: =2. 8

else if ((x> =60) and (x< 64)) then koefm: =2. 5

else if ((x> =64) and (x< 68)) then koefm: =2. 2

else if ((x> =78) and (x< 72)) then koefm: =1. 9

else if ((x> =72) and (x< 76)) then koefm: =1. 6

else if ((x> =76) and (x< 80)) then koefm: =1. 3

else if ((x> =80) and (x< 84)) then koefm: =1

else if ((x> =84) and (x< 88)) then koefm: =1. 1

else if ((x> =88) and (x< 92)) then koefm: =1. 2

else if ((x> =92) and (x< 96)) then koefm: =1. 3

else if ((x> =96) and (x< 100)) then koefm: =1. 4

else if ((x> =100) and (x< 104)) then koefm: =1. 5

else if ((x> =104) and (x< 108)) then koefm: =1. 6

else if ((x> =108) and (x< 112)) then koefm: =1. 7

else if ((x> =112) and (x< 116)) then koefm: =1. 8

else if ((x> =116) and (x< 120)) then koefm: =1. 9

else begin //showdialog ('коэф m не задан', 'ввеедите коэф м', koefms);

// koefm: =strtofloat (koefms);

koefm: =0;

end;

end;

// procedure koef ();

// begin

// bx: =koefm (ax);

// end;

procedure rach2 ();

var i: integer;

begin

for i: =1 to 6 do

na[i]: =pa[i]*n2/100;

g[1]:= 0. 11;

g[2]:= 0. 16;

g[3]:= 0. 33;

g[4]:= 0. 34;

g[5]:= 0. 37;

g[6]:= 0. 28;

Kkc: =0. 6;

kkh: =0. 12;

kkn: =0. 06;

kdc: =0. 14;

kdh: =0. 037;

kdn: =0. 015;

qc: =0. 206*koefm (vvv)*((g[1]*na[1]+g[2]*na[2]+g[3]*na[3]+g[5]*na[5])*Kkc+(g[4]*na[4]+g[6]*na[6])*kdc);

qh: =0. 206*koefm (vvv)*((g[1]*na[1]+g[2]*na[2]+g[3]*na[3]+g[5]*na[5])*kkh+(g[4]*na[4]+g[6]*na[6])*kdh);

qn: =0. 206*koefm (vvv)*((g[1]*na[1]+g[2]*na[2]+g[3]*na[3]+g[5]*na[5])*kkn+(g[4]*na[4]+g[6]*na[6])*kdn);

if day then begin

if lll< =10 then begin sig: =2 end

else if lll< =20 then begin sig: =4 end

else if lll< =40 then begin sig: =6 end

else if lll< =60 then begin sig: =8 end

else if lll< =80 then begin sig: =10 end

else if lll< =100 then begin sig: =13 end

else if lll< =150 then begin sig: =19 end

else if lll< =200 then begin sig: =24 end

else if lll< =250 then begin sig: =30 end

end else begin

if lll< =10 then begin sig: =1 end

else if lll< =20 then begin sig: =2 end

else if lll< =40 then begin sig: =4 end

else if lll< =60 then begin sig: =6 end

else if lll< =80 then begin sig: =8 end

else if lll< =100 then begin sig: =10 end

else if lll< =150 then begin sig: =14 end

else if lll< =200 then begin sig: =18 end

else if lll< =250 then begin sig: =22 end

end;

if fi< 30 then fi: =30;

cc: =2*qc/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff;

ch: =2*qc/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff;

cn: =2*qc/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff;

for i: =1 to 9 do begin

if day then begin

if i=1 then begin sig: =2; end

else if i=2 then begin sig: =4; end

else if i=3 then begin sig: =6; end

else if i=4 then begin sig: =8; end

else if i=5 then begin sig: =10; end

else if i=6 then begin sig: =13; end

else if i=7 then begin sig: =19; end

else if i=8 then begin sig: =24; end

else if i=9 then begin sig: =30; end

end else begin

if i=1 then begin sig: =1; end

else if i=2 then begin sig: =2; end

else if i=3 then begin sig: =4; end

else if i=4 then begin sig: =6; end

else if i=5 then begin sig: =8; end

else if i=6 then begin sig: =10; end

else if i=7 then begin sig: =14; end

else if i=8 then begin sig: =18; end

else if i=9 then begin sig: =22; end

end;

/// fff: =20;

cc1 [i]: =2*qc/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff;

ch1 [i]: =2*qh/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff;

cn1 [i]: =2*qn/(sin (fi/57. 296)*sqrt (2*pi*sig*vvet))+fff; end;

end;

end.

ПоказатьСвернуть
Заполнить форму текущей работой