Диссертация: Программа моделирования воздействия среды на движущееся твердое тело

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Правительство Российской Федерации

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«Национальный исследовательский университет

«Высшая школа экономики»

Отделение программной инженерии

Кафедра Управления разработкой программного обеспечения

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

по направлению 231000.62 Программная инженерия

Подготовки бакалавра

На тему: Программа моделирования воздействия среды на движущееся твердое тело

Студента группы №472ПИ

Д.Ю. Зельдина

Научный руководитель

Р.З. Ахметсафина

Доцент кафедры УРПО

Москва, 2014

Реферат

Выпускная квалификационная работа. 81 с., 10 рис., 5 приложений, 26 источников литературы. газ жидкость время

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

Ключевые слова: Вычислительная гидродинамика, уравненияНавье-Стокса, метод конечных разностей, метод релаксации, jMonkeyEngine 3.

Определения, обозначения и сокращения

Вычислительная гидродинамика (ComputationalFluidDynamics, CFD) -ветвь гидромеханики, использующая численные методы и алгоритмы для решения задач движения потоков жидкостей или газов [1]

SDK (SoftwareDevelopmentKit) - комплект средств разработки, который позволяет создавать определенную категорию программ.

Пространство эксперимента - область пространства, в которой происходит моделирование.

Также в данной работе будут использоваться следующие обозначения. Все физические величины заданы в системе СИ если не указано иное:

- плотность вещества

- скорость движения потока

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

- время

- коэффициент вязкости

- динамическая вязкость (также называется «второй вязкостью»)

- внешние силы, действующие на поток

- компоненты вектора внешних сил по осям координат

- оператор Гамильтона, частная производная по координатам

- число Рейнольдса

- средняя скорость движения жидкости или газа

- время начала эксперимента

- время окончания эксперимента

-длина, ширина и высота ячейки разностной сетки

- временной шаг

- максимальное количество ячеек разностной сетки по осям координат

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

- компоненты вектора скорости движенияпотока и давлениев ячейке трехмерной разностной сетки

- компоненты векторамаксимальной скорости движения среды по осям

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

- фактор релаксации, используемый в методе релаксации - способа решения системы линейных уравнений

- давление в ячейке разностной сетки при итерации метода релаксации.

- неявка (ошибка вычислений) для ячейки разностной сетки при итерации метода релаксации

- общая неявка (ошибка вычислений) при итерации метода релаксации

- максимальное количество итераций метода релаксации.

- допустимая погрешность вычислений

- операция деления с остатком

Введение

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

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

Методы компьютерной гидродинамики позволяют моделировать поведение разрабатываемого продукта до создания реального прототипа, что позволяет сэкономить на стоимости разработки.

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

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

На данный момент существует много коммерческих продуктов, разработанных для гидродинамического моделирования в 3D(AutodeskSimulation[2], ANSYSCFX[3]). Такие продукты позволяют достичь точных результатов в широком диапазоне исходных данных. В то же время, они не лишены недостатков:

Точные результаты требуют большого количества компьютерных ресурсов. Некоторые системы возможно запускать только на суперкомпьютерах.

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

Так как область применения данных приложений очень широка, то оператору программы требуется иметь определенный уровень знаний в области гидродинамики.

Также на рынке существует несколько решений с открытым исходным кодом. Такие решения бесплатны, но и они не лишены определенных недостатков:

Приложения предоставляются «как есть». Чаще всего без развернутой документации и файлов справки.

В подобныхрешениях могут быть ошибки, приводящие к неверным результатам.

Большинство решений с открытым исходным кодом предоставляются в виде SDK, а не полноценных программ. Таким образом, они не готовы для использования конечным пользователем.

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

Для достижения этой цели необходимо решить следующие задачи:

Изучить гидромеханику на уровне, достаточном для создания приложения

Изучить методы вычислительной гидродинамики;

Выбрать численный метод моделирования потока жидкости или газа

Выбрать средства разработки, в частности - кроссплатформенный метод визуализации результатов эксперимента

Разработать дизайнер стартовых условий эксперимента

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

Разработать документацию и создать справку по программе

Постановка задачи

Модель жидкости и газа

В гидродинамике существует два способа описания движения жидкостей и газов: подход Лагранжа и подход Эйлера.

Подход Лагранжа заключается в рассмотрении движения каждой частицы жидкости или газа. В каждый момент времени частица жидкости или газа характеризуется ее координатами в пространстве. Таким образом, движение всего потока жидкости можно определить как зависимость положения частицы отее начального положения и времени: [4]

,

(1.1)

где:

- координатыi-ой частицыпо осям;

- начальныекоординатыi-ой частицыпо осям ;

В то же время подход Эйлера рассматривает само пространство, в котором движется поток жидкости.В определенный момент времени в точке с координатами находится крайне малый объемжидкости или газа, имеющий некоторую скорость , которая называется мгновенной местной скоростью. Совокупность мгновенных местных скоростей представляет собой трехмерный массив векторов скоростей, называемый полем скоростей. Таким образом, движениевсего потока жидкости определяется изменением поля скоростей во времени:

,

(1.2)

где:

- компоненты вектора скорости , параллельные осям соответственно;

- функциональная зависимость -компоненты вектора скорости от времени;

- функциональная зависимость -компоненты вектора скорости от времени;

- функциональная зависимость -компоненты вектора скорости от времени;

Для дальнейшего рассмотрения была выбрана модель Эйлера как более подходящая для решения задачи.

Уравнения Навье-Стокса

Уравнения Навье-Стокса названы в честь Клода-Луи Навье, которые первым вывел эти уравнения в 1822 году и Сэра Джорджа Габриеля Стокса, который их существенно доработал в 1849 году. Эти дифференциальные уравнения описывают движение жидкостей и газов [5].

Наиболее часто употребляются две формы уравнений Навье-Стокса: для сжимаемой (1.3), (1.4) и для несжимаемой(1.5), (1.6) жидкости.

Уравнение движения:

,

(1.3)

Уравнение неразрывности:

,

(1.4)

Уравнение движения:

,

(1.5)

Уравнение неразрывности:

,

(1.6)

где:

- плотность;

- скорость;

- время;

- коэффициент вязкости;

- динамическая вязкость (также называется «второй вязкостью»)

- другие силы, действующие на тело, такие как гравитация

- оператор Гамильтона, частная производная по координатам. Для трехмерного пространства верна формула:

,

(1.7)

- скалярное произведение двух операторов Гамильтона :

,

(1.8)

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

Очень часто для экономии вычислительных мощностей вместо моделирования всего потока в трех измерениях осуществляется моделирование среза потока. В таком случае можно ограничиться моделированием потока в двух измерениях. Пример подобного моделирования показан на Рис. 1[7]

Рис. 1. Моделирование среза потока воздуха около крыла самолета[7]

Характеристики любой вязкой среды (плотность, вязкость) могут быть заданы одним безразмерным параметром - числом Рейнольдса. Данный параметр является безразмерной величиной,которая характеризует отношение инерционных сил к вязким силам внутри среды [8] и определяется следующим образом:

,

(1.9)

где:

- плотность среды;

- средняя скорость движения жидкости или газа;

- вязкость среды;

- гидравлический диаметр канала, по которому движется жидкость или газ, определяемый по формуле (1.10):

,

(1.10)

где:

- площадь поперечного разреза канала;

-смоченный периметр канала.

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

Уравнения движения:

,

,

Уравнение неразрывности:

,

(1.13)