Научная статья на тему 'Программная реализация модуля гидравлических расчетов двухфазных газожидкостных потоков'

Программная реализация модуля гидравлических расчетов двухфазных газожидкостных потоков Текст научной статьи по специальности «Физика»

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

Похожие темы научных работ по физике , автор научной работы — Гартман Т. Н., Бабенко А. В., Юдовина Е. Ф., Корельштейн Л. Б.

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

Текст научной работы на тему «Программная реализация модуля гидравлических расчетов двухфазных газожидкостных потоков»

УДК 004.057, 004.428, 004.942, 532.529.5, 532.542, 532.55, 519.688

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДУЛЯ ГИДРАВЛИЧЕСКИХ РАСЧЕТОВ ДВУХФАЗНЫХ ГАЗОЖИДКОСТНЫХ ПОТОКОВ

А.В. Бабенко, ст. инженер (Российский химико-технологический университет им.. Д.И. Менделеева, Миусская пл., 9, г. Москва, 125047, Россия; НТП Трубопровод, ул. Плеханова, 7, стр. 1, Москва, 111141, Россия, babenko@fruboprovocl.ru.);

Е.Ф. Юдовина, к.т.н., руководитель проекта разработки (НТП Трубопровод, ул. Плеханова, 7, стр. 1, Москва, 111141, Россия, yudovincu@fruboprovod.ru); Л.Б. Корельштейн, к.ф-м.н., доцент, заместитель директора (НТП Трубопровод, ул. Плеханова, 7, стр. 1, Москва, 111141, Россия; Российский химико-технологический университет им.. Д.И. Менделеева, Миусская пл., 9, г. Москва, 125047, Россия, korelstein@fruboprovocL.ru); Т.Н. Гартман, д.т.н., профессор, зав. кафедрой (Российский химико-технологический университет им.. Д.И. Менделеева, Миусская пл., 9, г. Москва, 125047, Россия, gartman@muctr.ru)

Статья посвящена программной реализации основных подходов гидравлического расчета двухфазных газожидкостных потоков в трубопроводах, предложенных авторами ранее в [1, 2]. Рассматривается внутреннее устройство созданного программного модуля (основные классы, иерархии, алгоритмы расчета). Показано, как за счет выбранной архитектуры программного модуля достигаются универсальность и открытость. Описана интеграция с известными отечественными программными комплексами «Гидросистема» и «Предклапан» (разработчик - ООО «НТП Трубопровод», г. Москва), позволившая проводить в этих программах следующие виды расчетов трубопроводов, перекачивающих двухфазные продукты: автоматическое определение режимов течения, выбор (в том числе и автоматический) методик расчета режимов течения, объемного газосодержания, потерь на трение, потерь в местных сопротивлениях, учет кипения или конденсации с применением разработанного алгоритма поиска точек фазовых переходов, учет теплообмена с окружающей средой (в том числе в трубопроводах с тепловой изоляцией), расчет потокораспре-деления (трубопроводы сложной топологии).

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

THE SOFTWARE IMPLEMENTATION OF A MODULE FOR HYDRAULIC CALCULATIONS

OF TWO-PHASE GAS-LIQUID FLOWS Babenko A. V., Senior Engineer (D. Mendeleev University of Chemical Technology of Russia, 9, Miusskaya sq., Moscow, 125047, Russia; Piping System Research & Engineering Co «NTP Truboprovod», 7/1, Plekhanova St., Moscow, 111141, Russia, babenko@truboprovod.ru);

Yudovina E.F., Ph.D., Head of the project development (Piping System Research & Engineering Co «NTP Truboprovod», 7/1, Plekhanova St., Moscow, 111141, Russia, yudovina@truboprovod.ru);

Korelshtein L.B., Ph.D., Associate Professor, Deputy Director (Piping System Research & Engineering Co «NTP Truboprovod», 7/1, Plekhanova St., Moscow, 111141, Russia;

D. Mendeleev University of Chemical Technology of Russia, 9, Miusskaya sq., Moscow, 125047, Russia,

korelstein@truboprovod.ru); Gartman T.N., Ph.D., professor, Head ofChair (D. Mendeleev University of Chemical Technology of Russia, 9, Miusskaya sq., Moscow, 125047, Russia, gartman@muctr.ru) Abstract. The article is dedicated to software implementation of the basic approaches in analyzing two-phase gas-liquid flows in pipelines [1, 2]. The paper examines the internal structure of the developed software module (main classes, their hierarchy and calculation algorithm). It is shown how the software architecture of the module provides flexibility and openness of the product. The integration with well-known Russian software systems «Hydrosystem» and «Safety Valve» (developed by «NTP Truboprovod», Moscow) is also described. This integration has enriched the list of features of these programs by the following two-phase flow calculations: automatic prediction of flow pattern, the (automatical) selection of methods for calculating flow patterns, volumetric gas content, friction losses, local losses, calculating boiling and condensation parameters using a phase transitions search algorithm, calculating heat exchange with the environment (including pipes with thermal insulation), the calculation of flow distribution (for complex network pipelines).

Keywords: two-phase flow, gas-liquid flow, vapor-liquid flow, flow patterns, pressure drop, heat losses, boiling, condensation, transfer pipelines, oil and gas fields pipelines, heating and cooling systems pipelines, emergency relief systems, software module.

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

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

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

В работе [1] авторами была предложена схема иерархии задач при расчете трубопроводов, перекачивающих двухфазные газожидкостные продукты (рис. 1).

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

Далее описываются программная реализация основных методик и алгоритмов, предложенных в [1, 2], программная реализация, структура модуля, его интеграция и применение.

Программная реализация

Модуль гидравлических расчетов написан на языке программирования С++ в соответствии с основными принципами объектно -ориентирован-ного и структурного программирования и пред-

ставляет собой динамически подключаемую библиотеку (dynamic link library, сокр. dll), состоящую из множества классов.

В разработанных в НТП Трубопровод программах «Гидросистема», «Предклапан» и «Изоляция» существует система базовых классов, полностью покрывающая множество объектов всех трех программ - проектов, трубопроводов, компонентов продуктов и т.д. [3]. Классы содержат не только характеристики этих объектов, но и функции, с помощью которых можно определить связи между ними. Все эти классы являются производными от класса CBaseObj (рис. 2). Опишем некоторые из них подробнее:

- CProjectObj содержит данные о проекте в целом (наименование, климатические данные и т.д.);

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

- CProductObj отвечает за задание перекачиваемого трубопроводом продукта, хранит данные о типе используемых библиотек расчета свойств продукта, фазовом состоянии, способе задания состава и т.д.;

- CComponentObj содержит данные каждого из компонентов продукта (тип компонента, код вещества, %-ное содержание в продукте и т.д.);

- CNodeObj содержит данные об узлах (номер узла, давление в узле, величина притока/оттока и т.д.);

- CBranchObj содержит данные ветвей трубопровода - неразветвленных частей с постоянным расходом (номера начальных и конечных узлов - CNodeObj, начальные диаметры, расход, температуру и т.д.);

- CResistanseObj - базовый класс для классов, хранящих информацию о различных участках (сопротивлениях), из которых состоит ветвь: CApparutusObj - класс аппарата (насос, аппарат с известным коэффициентом гидравлического сопротивления и др.); CArmatureObj - класс арматуры (задвижка, кран и др.); CBendObj - класс отвода (крутоизогнутый, секционный и др.); CKneeObj - класс колена (с острой кромкой, Z-образное и др.); CCompensatorObj - класс компенсатора (П-образный, волнистый/линзовый); CDiaphragm-Obj - класс диафрагмы; CEntranceObj - класс входа/выхода из трубы; CHeigthObj - класс перепада высот; CPipeObj - класс прямого участка трубы; CTransObj - класс перехода (конфузор, диффузор, внезапное сужение/расширение).

Стоит обратить внимание и на класс CBaseln-sulatedObj, производные от которого получают возможность хранить данные о свойствах окружающей среды и тепловой изоляции, что особенно важно при проведении тепловых расчетов.

Проектный расчет ► Расчет (выбор) оптимальных параметров: диаметров, расходов и др.

Оценочный расчет

Расчет трубопровода Расчет потокораспределения с учетом слияния и сепарации

Расчет ветвей Прямой и обратный расчет ветви с учетом возможного критического истечения

Расчет участков

Совместный тепловой и гидравлический расчет с учетом кипения или конденсации и поиском фазовых переходов

Расчет критического расхода и числа Маха

Расчет теплообмена с окружающей средой

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

Расчет объемного газосодержания (скоростей фаз)

Определение режима течения

Рис. 1. Схема иерархии задач при оценочном и проектном расчетах трубопроводных систем

CBaseObj

CBaseInsulatedObj |—| CNodeObj H CProjectObj CResistanceObj —

3 ___

CComponentObj |s—H CProductObj

Рис. 2. Классы, производные от CBaseObj

Иерархия наследования этих классов представлена на рисунке 3.

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

В качестве исходных данных для модуля гидравлического расчета выступает указатель на объект класса CPipelineObj. Используя функции связи между базовыми классами, модуль получает доступ ко всем остальным объектам трубопровода.

Для последующей интеграции модуля с другими программами через CAPE Open (стандарт прямого взаимодействия независимых программ, основанный на COM-интерфейсе [4]) была создана еще одна иерархия базовых классов, унаследованная от класса CBaseElement (рис. 4).

| CProjectObj |

Ч CPipelineObj |

CPipelineObj |

CProductObj |

CBranchObj

CBranchObj

Рис. 3. Основная структура исходных данных

CComponentObj | -I CComponentObj |

-I CResistanceObj |

CResistanceObj

CResistanceObj |

I CBaseElement

diEí^E

:

CAppResUnit

CArmatureUnit

CDiaphragmUnit

CKneeUnit

CMainUnit

COpenEndUnit CPipeUnit

CPumpUnit

Рис. 4. Классы, производные от CBaseElement

Данные классы используются при проведении тепловых и гидравлических расчетов трубопровода и содержат ссылки на объекты классов-потомков CBaseObj. Они включают данные и методы, необходимые именно для этого типа расчетов:

- CNode - класс, предназначенный для пересчета параметров в узле;

- CUnit - базовый класс, содержащий общие данные: CAppResUnit (класс расчета аппарата), CArmatureUnit (класс расчета арматуры), CBend-Unit (класс расчета отвода), CDiaphragmUnit (класс расчета диафрагмы), CKneeUnit (класс расчета колена), CMainUnit (класс расчета ветви), CManifoldUnit (класс расчета трубопровода), COpenEndUnit (класс расчета выхода/входа), CPipeUnit (класс расчета прямого участка трубы), CPumpUnit (класс расчета насоса), CTransUnit (класс расчета перехода).

Связующее звено между вышеперечисленными иерархиями - класс CSolverManager. Расчет трубопровода начинается с обращения к его функции: int Solve(CPipelineObj* pPipelineObj, int nCalcTy-pe), где pPipelineObj - указатель на объект трубопровода; nCalcType - тип расчета (тепловой, гидравлический, проектный).

Собственно расчет осуществляется классом CSolver и в настоящее время реализован в двух вариантах:

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

- расчет с использованием метода глобального градиента (Global Gradient Algorithm) [5-7], применяющийся в случае разветвленного трубопровода, состоящего из двух и более ветвей.

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

Остановимся подробнее на реализации двухфазного расчета. Авторами был разработан специальный класс для проведения двухфазного расчета участков трубопровода - CTPCalculator (Two Phase Calculator). В этот класс были заложены все алгоритмы и методики двухфазного расчета, описанные авторами в [1]. Рассмотрим схему расчета ветви, состоящую из последовательно соединенных участков: входа в трубу, прямого участка, отвода, прямого участка, арматуры, прямого участка, выхода из трубы (рис. 5).

Основная задача расчета ветви заключается в нахождении p, T, x (давления, температуры и газосодержания) в конце ветви по задан-

Рис. 5. Пример ветви трубопровода

ным исходным данным в начале ветви (прямой расчет) или наоборот (обратный расчет). На рисунке 6 показано, как происходит прямой расчет ветви, изображенной на рисунке 5.

Первым участком ветви является вход в трубу. На первом шаге p, T, x объекта COpenEndUnit (вход в трубу) задаются равными соответствующим параметрам в начале ветви. Далее создается объект класса CTPCalculator, в который передаются объект COpenEndUnit и тип расчета. В данном случае это DIRECT (прямой), так как необходимо посчитать конечные параметры p, T, x по начальным. Далее запускается функция CTPCalcula-tor::Calc(), которая выполняет расчет, используя заложенные методики. В процессе расчета CTP-Calculator обращается к выбранным пользователем правилам выбора методик расчета, описанных в XML-файле, а также к библиотекам расчета свойств веществ и фазовых равновесий. Подробнее механизм правил выбора методик расчета описан в [1, 8]. По завершении расчета конечные p, T, x передаются следующему объекту - CPipe-Unit (прямому участку трубы). Опять создается объект класса CTPCalculator, в который передаются CPipeUnit и параметр DIRECT, и так продолжается, пока все сопротивления не будут посчитаны. Затем рассчитанные конечные p, T, x последнего элемента присваиваются конечным параметрам ветви.

При обратном расчете все происходит с точностью до наоборот - начиная с последнего и заканчивая первым в CTPCalculator передаются объекты вместе с параметром REVERSE (обратный).

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

CMainUnit

COpenEndUnit 1 1 « ► „

CPipeUnit I3 -=-

4

CBendUnit 5 —►

6

CPipeUnit 7 „ —►

8

CArmatureUnit 9 —

10

COpenEndUnit 1 11 •*- 12

Рис. 6. Схема расчета ветви с двухфазным продуктом

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

ков, компрессоров), а также новых алгоритмов и методик расчетов (в том числе двухфазных).

Интеграция

Гидравлические расчеты (особенно двухфазные) не имеют смысла без мощного инструмента расчетов теплофизических свойств и фазовых равновесий разнообразных веществ и смесей, перекачиваемых трубопроводами. Для обеспечения таких расчетов разработанный модуль интегрирован с тремя библиотеками теплофизических свойств (рис. 7):

- Simulis Thermodynamics [9] - мощная универсальная библиотека термодинамических расчетов компании ProSim [10];

- WaterSteamPro [11] - библиотека расчета свойств воды и водяного пара, основанная на уравнениях Международной ассоциации по свойствам воды и водяного пара и рекомендованная РАО «ЕЭС России» для использования в энергетике;

- СТАРС [12] - разработанная в НТП Трубопровод термодинамическая библиотека, ориентированная в основном на нефтепереработку и нефтехимию.

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

Также модулем используются целый ряд БД (климатических данных, материалов труб, изоляционных материалов, грунтов) и генератор отчетов List & Label [13].

Разработанный расчетный модуль был успешно интегрирован с известными российскими программами, предназначенными для гидравлических расчетов и для расчетов систем аварийного сброса - «Гидросистема» и «Предклапан», что позволило дополнить их функционал современными методами расчета трубопроводов, перекачивающих двухфазные продукты.

Интеграция обеих программ осуществляется по схожему принципу. В интерфейсе программ задается дерево элементов, для каждого элемента дерева создается соответствующий элемент, производный от CBaseObj. При задании данных в интерфейсе все данные передаются в соответствующие объекты CBaseObj.

После запуска расчета указатель на объект класса трубопровода (CPipelineObj) передается объекту класса CSolverManager, который производит расчет и сохраняет результаты в объектах CBaseObj, а через них интерфейс получает доступ к результатам.

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

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

Созданный модуль интегрирован в программы «Гидросистема» и «Предклапан», что позволило проводить следующие виды расчетов трубопроводов, перекачивающих двухфазные продукты [1, 2]:

- автоматическое определение режимов течения;

- выбор (в том числе и автоматический) методик расчета режимов течения, объемного газосодержания, потерь на трение, потерь в местных сопротивлениях;

- учет кипения или конденсации с применением разработанного алгоритма поиска местоположения фазовых переходов;

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

- расчет потокораспределения (трубопроводы сложной топологии).

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

Кроме того, планируется дальнейшее увеличение возможностей интеграции путем реализации следующих интерфейсов обмена данными CAPE Open [4]: Thermo - интерфейс обмена термодинамическими данными (обеспечит возможность подключения любых термодинамических библиотек, поддерживающих данный стандарт); Unit -интерфейс обмена математическими моделями аппаратов (позволит добавлять модели элементов и аппаратов, разработанные сторонними компа-

ниями); HPM - новейший протокол обмена данными по двухфазным расчетам (позволит подключать реализованные сторонними компаниями современные модули расчета режимов и локальных характеристик многофазного течения).

Литература

1. Бабенко А.В., Корельштейн Л.Б., Гартман Т.Н. Математическое моделирование установившегося течения двухфазных газожидкостных потоков в промышленных трубопроводах. Расчет ветвей // Химическая технология. № 7. 2012. С. 429-440.

2. Бабенко А.В., Гартман Т.Н., Корельштейн Л.Б. Расчет потокораспределения для двухфазного газожидкостного течения в промышленных разветвленных трубопроводах // Технологии нефти и газа. 2012. № 3. С. 29-33.

3. Юдовина Е.Ф., Пашенкова Е.С., Корельштейн Л.Б. Программный комплекс «Гидросистема» и его использование для гидравлических расчетов трубопроводных систем // Математические модели и методы анализа и оптимального синтеза развивающихся трубопроводных и гидравлических систем: тр. XII Всеросс. науч. семинара с междунар. участием. Иркутск, ИСЭМ СО РАН, 2010. С. 475-485.

4. URL: http://www.co-lan.org/ (дата обращения: 01.11.2012).

5. Todini E., Pilati S., Computer Applications in Water Supply, London, John Wiley & Sons, 1988. Vol. 1, pp. 1-20.

6. Salgado R., Todini E., O'Connell P.E., Computer Applications in Water Supply, London, John Wiley & Sons, 1988, Vol. 1, pp. 38-62.

7. Todini E., Computing and Control for the Water Industry, Research Studies Press Ltd., Baldock, UK, 1999, pp. 63-80.

8. Юдовина Е.Ф., Бабенко А.В. Автоматизация выбора методик двухфазного расчета // CADmaster. 2011. № 3. С. 82.

9. Корельштейн Л.Б., Лисин С.Ю. Simulis Thermodynamics. Инструмент технолога, который всегда под рукой // CADmaster. 2011. № 3. С. 94-101.

10. URL: http://www.prosim.net/ (дата обращения: 01.11.2012).

11. URL: http://www.wsp.ru/ (дата обращения: 01.11.2012).

12. Лисман В.Ф., Степанов А.Ф. Система теплофизиче-ских автоматизированных расчетов свойств веществ и фазовых равновесий (СТАРС) // CADmaster. 2003. № 3. С. 40-42.

13. URL: http://www.combit.net/ (дата обращения: 01.11.2012).

References

1. Babenko A.V., Korelshtein L.B., Gartman T.N., Khimi-cheskaya tehnologiya, 2012, no. 7, pp. 429-440.

2. Babenko A.V., Gartman T.N., Korelshtein L.B., Tekhnolo-gii nefti i gaza, 2012, no. 3, pp. 29-33.

3. Yudovina E.F., Pashenkova E.S., Korelshteyn L.B., XII Vseros. Nauch. seminar [Proc. Of 12 all-Russian Scitnt. seminar], Irkutsk, Melentiev Energy Systems Institute SB of RAS, 2010, pp. 475-485.

4. The CAPE-OPEN Laboratories Network, Available at: http://www.co-lan.org/ (accessed 01 Nov. 2012).

5. Todini E., Pilati S., Computer Applications in Water Supply, John Wiley & Sons, London, 1988, Vol. 1, pp. 1-20.

6. Salgado R., Todini E., O'Connell P.E., Computer Applications in Water Supply, London, John Wiley & Sons, 1988, Vol. 1, pp. 38-62.

7. Todini E., Computing and Control for the Water Industry, Research Studies Press Ltd., Baldock, UK, 1999, pp. 63-80.

8. Yudovina E.F., Babenko A.V., CADmaster, 2011, no. 3, p. 82.

9. Korelshteyn L.B., Lisin S.Yu., CADmaster, 2011, no. 3, pp. 94-101.

10. ProSim: Software & Services in Process Simulation, Available at: http://www.prosim.net/ (accessed 01 Nov. 2012).

11. WaterSteamPro, Available at: http://www.wsp.ru/ (accessed 01 Nov. 2012).

12. Lisman V.F., Stepanov A.F., CADmaster, 2003, no. 3, pp. 40-42.

13. Combit Software GmbH, Available at: http://www.com-bit.net/ (accessed 01 Nov. 2012).

УДК 004.3.07

ПРИМЕНЕНИЕ ТЕХНОЛОГИИ CUDA ДЛЯ СИМУЛЯЦИИ ЧАСТИЦ ПРИ ПАРАЛЛЕЛЬНОМ ПРОГРАММИРОВАНИИ

И.Ф. Астахова, д.т.н., профессор; Е.А. Коробкин, аспирант (Воронежский государственный университет, Университетская пл., 1, г. Воронеж,, 394006, Россия, astachoval@ist.ru, Evgeniy-voronez@maH.ru)

Изложен метод симуляции частиц, находящихся во взаимодействии, с помощью технологии параллельного программирования CUDA. Рассматриваются математическая постановка задачи при взаимодействии частиц, а также метод дискретных элементов и особенности технологии CUDA. В методе дискретных элементов каждая частица материала представляется как тело из механики Ньютона, имеющее массу и координаты центра, на которое действуют силы. Частицы взаимодействуют друг с другом по определенным законам, и можно наблюдать движение системы в целом. Для удобства введена переменная threadldx - трехкомпонентный вектор, так что потоки могут быть идентифицированы по одно-, двух- и трехмерному индексам, образуя при этом соответственно одно-, двух- или трехмерную сетку потоков. Таким образом обеспечивается прозрачность в работе с такими объектами, как массив, матрица или объемная сетка. Рассматриваются программная реализация предложенных методов и алгоритмов, а также интерфейс, объединяющий все методы и алгоритмы.

Ключевые слова: параллельное программирование, графический процессор, технология CUDA, метод дискретных элементов.

CUDA TECHNOLOGY APPLICATION FOR SIMULATION OF PARTICLES AT PARALLEL PROGRAMMING Astakhova I.F., Ph.D., Professor; Korobkin E.A., Postgraduate (Voronezh State University, 1, Universitetskaya Sq., Voronezh, 394006, Russia, astachova@list.ru, Evgeniy-voronez@mail.ru)

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