Научная статья на тему 'Экологический мониторинг. Cfd-технологии. Udf-функции'

Экологический мониторинг. Cfd-технологии. Udf-функции Текст научной статьи по специальности «Математика»

CC BY
168
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОНИТОРИНГ / ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ / ПОГРАНИЧНЫЙ СЛОЙ АТМОСФЕРЫ / UDF / MONITORING / NUMERICAL MODELING / BOUNDARY LAYER OF THE ATMOSPHERE

Аннотация научной статьи по математике, автор научной работы — Купцов А.И.

Научные исследования в области экологического мониторинга направлены на снижение негативных последствий. В данной статье рассмотрено использование UDF-функций при решении физико-математических моделей, которые необходимы для осуществления экологического мониторинга. UDF-функции приведены на языке программирования С.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Экологический мониторинг. Cfd-технологии. Udf-функции»

УДК 502.7:502.55

А. И. Купцов

ЭКОЛОГИЧЕСКИЙ МОНИТОРИНГ. CFD-ТЕХНОЛОГИИ. UDF-ФУНКЦИИ

Ключевые слова: мониторинг, численное моделирование, пограничный слой атмосферы, UDF.

Научные исследования в области экологического мониторинга направлены на снижение негативных последствий. В данной статье рассмотрено использование UDF-функций при решении физико-математических моделей, которые необходимы для осуществления экологического мониторинга. UDF-функции приведены на языке программирования С.

Key words: monitoring, numerical modeling, boundary layer of the atmosphere, UDF.

Scientific research in the field of environmental monitoring aimed at reducing the negative effects. This article discusses the use of UDF-functions for solving physical and mathematical models, which are necessary for the implementation of environmental monitoring. UDF-function shown in the programming language C.

Впервые понятие мониторинга окружающей среды было введено профессором Р. Манном в Стокгольме на конференции ООН в 1972 г. Мониторингом было предложено называть систему повторяющихся наблюдений элементов среды в пространстве и во времени с определенными целями. Однако затем стало ясно, что понятие «мониторинг» выходит за рамки содержания данного определения и не позволяет раскрыть его задачи.

Основными задачами экологического мониторинга на сегодняшний день являются:

а) наблюдение за источниками и причинами антропогенного воздействия, за состоянием окружающей среды и происходящими в ней процессами;

б) оценка фактического состояния природной среды;

в) прогноз изменения состояния природной среды под влиянием факторов и ее оценка.

Научные исследования в области экологического мониторинга направлены на снижение негативных последствий хозяйственной деятельности и (или) сориентированы на разработку продуктивных методов очистки выбросов и сбросов. Одними из таких исследований являются исследования по созданию систем экологического мониторинга пограничного слоя атмосферы. К системам мониторинга можно отнести: объект наблюдения; составление информационной модели для объекта; планирование измерений; прогнозирование изменения состояния объекта наблюдений; представление информации [1].

Для осуществления экологического мониторинга разработаны различные автоматизированные системы, которыми пользуются различные экологические службы и предприятия. В настоящее время в связи с развитием информационных технологий основой автоматизированных систем все чаще становятся CFD-технологии (технологии вычислительной гидродинамики). Эти технологии представляют собой компьютерное численное моделирование, включающие совокупность физических, математических и численных методов, предназначенных для вычисления характеристик потоковых процессов. Базой любого исследования в

области вычислительной гидродинамики является формулировка основных уравнений

гидро/газодинамики потоков, а именно: уравнения неразрывности; уравнения сохранения импульса; уравнение сохранения энергии; уравнение состояния (для газов). Для моделирования пограничного слоя атмосферы предложены различные физико-математические модели [2-5].

Однако при решении физико-математических моделей на практике с помощью прикладных программных продуктов неизбежно возникает проблема использования UDF-функций (функции определенные пользователем). UDF-функции представляют из себя функции, которые программируются пользователем. Они могут быть динамически сопряжены с решателем программного продукта для улучшения стандартных характеристик программ. Чаще всего для их записей используют язык программирования С.

В таблицах 1-4 предлагаются готовые разработанные UDF-функции для моделирования пограничного слоя атмосферы. При этом предлагается использовать физико-математическую модель, подробно освященную в статье [2]. Граничные условия этой модели предлагается находить путем использования методики объединения методов градиента и профиля [6].

Таблица 1 - UDF-функция для моделирования неустойчивой стратификации атмосферы

#include "udf.h" #include "mem.h" #include "flow.h"

DEFINE_PROFILE(inlet_velocity, thread, index) {

real x[ND_ND]; real y;

real ud=0.0497; real kk=0.41; real zz=0.002; real lmo=-108.1; face_t f; real fm; real f1;

real fe; real AA; real BB; real CC; real DD;

begin_f_loop(f, thread) {

F_CENTROID (x,f,thread); y = x[1];

f1 = 1-(16*y/lmo); fm = pow(f1, -0.25);

AA = 8*pow(fm, 4); BB = pow((fm+1), 2); CC = pow(fm, 2)+1; DD = -(3.14/2)+2*atan(1/fm);

F_PROFILE(f, thread, index) = (ud/kk) * ( log(y/zz)

+ log(AA / (BB *CC))+DD ); }

end_f_loop(f, thread)

}

DEFINE_PROFILE(temperature, thread, index) {

real x[ND_ND]; real y;

real tz=303.15; real mt=-0.1779; real kk=0.41; real zz=0.002; real lmo=-108.1; face_t f; real fm; real f1;

begin_f_loop(f, thread) {

F_CENTROID (x,f,thread); y = x[1];

f1 = 1-(16*y/lmo); fm = pow(f1, -1/4);

F_PROFILE(f, thread, index) = tz+((mt/kk)*(log(y/zz)-(log(1+(1/(fm*fm))))))-

(0.01*(y-zz))+(-0.009775*y); }

end_f_loop(f, thread)

}

DEFINE_PROFILE(k_profile,t,i) {

real y, del, h, ufree, x[ND_ND];

real ff, utau, knw, kinf;

real ud=0.0497;

real lmo=-108.1;

face_t f;

real fm;

real f1;

real fe;_

begin_f_loop(f,t) {

F_CENTROID (x,f,t); y=x[1];

f1 = 1-(16*y/lmo); fm = pow(f1, -1/4); fe = 1-(y/lmo);

F_PROFILE(f,t,i)=5.48*ud*ud*sqrt((fe)/(fm)); }

end_f_loop(f,t)

}

DEFINE_PROFILE(dissip_profile,t,i)

{

real y, x[ND_ND], del, h, ufree;

real ff, utau, knw, kinf;

real mix, kay;

real ud=0.0497;

real lmo=-108.1;

real kk=0.41;

face_t f;

real fm;

real f1;

real fe;

begin_f_loop(f,t) {

F_CENTROID(x,f,t); y=x[1];

f1 = 1-(16*y/lmo); fm = pow(f1, -1/4); fe = 1-(y/lmo);

F_PROFILE(f,t,i)= ud*ud*ud*(fe)/(kk*y) ;

}

end_f_loop(f,t) i_

Таблица 2 - UDF-функция для моделирования нейтральной стратификации атмосферы

#include "udf.h" #include "mem.h" #include "flow.h"

DEFINE_PROFILE(inlet_velocity, thread, index) {

real x[ND_ND]; real y;

real ud=0.0481; real kk=0.41; real zz=0.002; face_t f;

begin_f_loop(f, thread) {

F_CENTROID(x,f,thread); y = x[1];

F_PROFILE(f, thread, index) = ud*(log(y/zz))/kk;

}

end f loop(f, thread)_

}

DEFINE_PROFILE(temperature, thread, index) {

real x[ND_ND]; real y;

real tz=303.15; face_t f;

begin_f_loop(f, thread) {

F_CENTROID(x,f,thread); y = x[1];

F_PROFILE(f, thread, index) = tz+(-0.009775*y); }

end_f_loop(f, thread)

}

DEFINE_PROFILE(k_profile,t,i) {

real y, del, h, ufree, x[ND_ND];

real ff, utau, knw, kinf;

real ud=0.0481; face_t f;

begin_f_loop(f,t) {

F_CENTROID(x,f,t); y=x[1];

F_PROFILE(f,t,i)=5.48*ud*ud; }

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

end_f_loop(f,t)

}

DEFINE_PROFILE(dissip_profile,t,i) {

real y, x[ND_ND], del, h, ufree;

real ff, utau, knw, kinf;

real mix, kay; real ud=0.0481; real kk=0.41; face_t f;

begin_f_loop(f,t) {

F_CENTROID(x,f,t); y=x[1];

F_PROFILE(f,t,i)= ud*ud*ud/(kk*y) ;

}

end_f_loop(f,t) }_

Таблица 3 - UDF-функция для моделирования устойчивой стратификации атмосферы

begin_f_loop(f, thread) {

F_CENTROID(x,f,thread); y = x[1];

F_PROFILE(f, thread, index) =

ud*(log(y/zz)+(5*y/lmo))/kk; }

end_f_loop(f, thread)

}

DEFINE_PROFILE(temperature, thread, index) {

real x[ND_ND]; real y;

real tz=303.15; real mt=0.0507; real kk=0.41; real zz=0.002; real lmo=109.5; face_t f;

begin_f_loop(f, thread) {

F_CENTROID(x,f,thread); y = x[1];

F_PROFILE(f, thread, index) =

tz+((mt/kk)*(log(y/zz)+(5*y/lmo))); }

end_f_loop(f, thread)

}

DEFINE_PROFILE(k_profile,t,i) {

real y, del, h, ufree, x[ND_ND]; real ud=0.0472; real lmo=309.5; face_t f;

begin_f_loop(f,t) {

F_CENTROID(x,f,t); y=x[1];

F_PROFILE(f,t,i)=5.48*ud*ud*sqrt((lmo+(4*y))/(lmo+(5*y)))

' }

end_f_loop(f,t)

}

DEFINE_PROFILE(dissip_profile,t,i) {

real y, x[ND_ND], del, h, ufree; real ud=0.0472; real lmo=309.5; real kk=0.41; face_t f;

#include "udf.h" #include "mem.h" #include "flow.h"

DEFINE_PROFILE(inlet_velocity, thread, index) {

real x[ND_ND]; real y;

real ud=0.0472; real kk=0.41; real zz=0.002; real lmo=309.5;

face_t f;_

begin_f_loop(f,t) {

F_CENTROID(x,f,t); y=x[1];

F_PROFILE(f,t,i)= ud*ud*ud*(1+((4*y)/lmo))/(kk*y) ; }

end_f_loop(f,t) }_

Таблица 4 - UDF-функция для источникового члена в уравнении для переноса кинетической энергии турбулентности

#include "udf.h" #include "mem.h" #include "flow.h"

DEFINE_SOURCE(xmom_source_K, c, t, dS, eqn) {

real y, x[ND_ND]; real source;

real mut = C_MU_T(c,t);

C_CENTROID(x, c, t); y = x[1];

source = -0.00367*(-9.81)*(-9.81)*mut/(0.85*1005);

dS[eqn]=0;

return source;

i_

Использование представленных выше адаптированных UDF-функций для моделирования пограничного слоя атмосферы позволяет осуществлять экологический мониторинг с помощью CFD-технологий.

Литература

1. Горюнкова А. А. Современное состояние и подходы к разработке систем мониторинга загрязнения атмосферы / А.А. Горюнкова // Известия Тульского государственного университета. Технические науки. -2013. - №11. - С. 251-260.

2. Купцов А.И., Акберов Р.Р., Исламхузин Д.Я., Гимранов Ф.М. Проблемы расчета рассеивания легких газов в атмосфере при их выбросах со свечи с учетом рельефа и застройки местности и атмосферной устойчивости // Вестник Казанского технологического университета - 2014, Т.17, № 6.

- С. 284-286.

3. Купцов А.И., Акберов Р.Р., Исламхузин Д.Я., Гимранов Ф.М. Численное моделирование пограничного слоя атмосферы с учетом ее стратификации // Фундаментальные исследования. - 2014. - № 9 (Ч.7). -с. 1452-1460.

4. Галеев А.Д., Поникаров С.И., Салин А.А. Моделирование последствий аварийного пролива бинарного раствора с использованием программы Fluent // Математическое моделирование - 2011. № 7. - С. 129-144.

5. Руководство по безопасности «Методика оценки последствий аварий на взрывопожароопасных химических производствах». Утверждено приказом Ростехнадзора от 20.04.2015 N 160.

6. Купцов А.И., Зубков А.Г., Гимранов Ф.М. — «Использование методики объединения методов градиента и профиля для моделирования распространения облаков опасных газов в атмосфере».

— Научная сессия. КНИТУ. 2-6 февраля 2015. — с. 81.

© А. И. Купцов - аспирант каф. промышленной безопасности КНИТУ, artpb@yandex.ru. © A. I. Kuptsov- postgraduate department of industrial safety KNRTU, artpb@yandex.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.