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

кандидата физико-математических наук
Гирча, Александр Иванович
город
Москва
год
2009
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Реализация вихревых методов и алгоритмов численного моделирования процессов нестационарной гидродинамики на основе эффективного комплекса программ»

Автореферат диссертации по теме "Реализация вихревых методов и алгоритмов численного моделирования процессов нестационарной гидродинамики на основе эффективного комплекса программ"

0034УУИ^и

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет вычислительной математики и кибернетики

На нравах рукописи

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

Специальность 05.13.18 — математическое моделирование, численные методы и комплексы программ

имени М.В. Ломоносова

Гирча Александр Иванович

-1 ОКТ 2009

Автореферат диссертации на соискание учёной степени кандидата физико-математических наук

Москва - 2009

003477920

Работа выполнена на механико-математическом факультете и в Научно-исследовательском институте механики Московского государственного университета имени М.В. Ломоносова. Научные руководители: доктор физико-математических наук,

профессор

Васепин Валерий Александрович

кандидат физико-математических наук, с.н.с.

Гувернкж Сергей Владимирович

Официальные оппоненты:

Ведущая организация:

доктор физико-математических наук, профессор

Зайцев Федор Сергеевич

доктор физико-математических наук, доцент

Сетпуха Алексей Викторович

Институт автоматизации проектирования РАН

Защита диссертации состоится 21 октября 2009 года в 15 часов 30 минут на заседании диссертационного совета Д 501.001.43 при Московском государственном университете имени М.В. Ломоносова по адресу: 119991, ГСП-1, Москва, Ленинские горы, МГУ, 2-й учебный корпус, факультет ВМиК, аудитория 685.

С диссертацией можно ознакомиться в библиотеке ф-та ВМиК МГУ. Автореферат разослан « » сентября 2009 г.

Учёный секретарь диссертационного совета,

профессор Е. В. Захаров

Общая характеристика работы

Актуальность темы. Объект и предмет исследования. Создание программ и их комплексов для проведения наукоемкого вычислительного эксперимента представляет собой отдельную, обладающую определенной спецификой область прикладной математики и информатики. Характерной ее особенностью является наличие большого числа объективно возникающих и постоянно изменяющихся требований к подобным программам. Такого сорта изменения возникают в силу условий, в которых программа используется. Вычислительный эксперимент обладает циклической структурой, в основе которой лежит триада, сформулированная академиком A.A. Самарским, «модель — алгоритм — программа». В процессе расчетов математическая модель исследуемого явления и вычислительный алгоритм подвержены постоянным модификациям, видоизменениям. Они, в свою очередь, сказываются на программе, в которую необходимо вносить соответствующие изменения. Причины изменений могут также носить чисто технический характер, например, в случае разработки более эффективных способов представления данных или при необходимости организовать взаимодействие с внешним устройством. Следует заметить, что в условиях вычислительного эксперимента программа выступает в роли, которую выполняет перманентно модифицируемый стенд при эксперименте физическом. С учетом изложенного, первая версия программы рассматривается лишь как отправная точка в последовательности многочисленных дальнейших ее изменений.

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

'Яненко H.H., Клрпячук В.И., Коновяпов А.И. Проблемы математической технологии. // Численный методы механики сплошной среды. — 1977. — №8(3)

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

Отметим, что в настоящее время, спустя более 30 лет после выхода данной работы, организационно-технологические вопросы проведения вычислительных экспериментов приобрели еще более острый характер. При этом H.H. Яненко считал, что к задачам, связанным с ЭВМ и программированием, которые традиционно считались чисто технологическими, необходим более серьезный, математический подход. В развитие идеи о необходимости уточнения понятия математической науки он отмечал: «Развитие экспериментальной базы и инструмента исследования — ЭВМ — повысило интерес к таким конечным объектам как машинные числа, программы, конечные автоматы. В связи с этим принятое в XX веке определение математики как науки о бесконечном следовало бы заменить другим, более правильно отражающим ее сущность, а именно — как науки о соотношении конечного и бесконечного».

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

Несколько лет назад предложен новый метод численного моделирования нестационарных течений вязкой несжимаемой жидкости в лагран-жевых координатах — метод вязких вихревых доменов (метод ВВД: Г.Я. Дынникова, C.B. Гувершок, П.Р. Андронов, 2006). В отличие от других методов это 14) класса, таких как метод Чорина, метод диффузионной скорости (Y. Ogarni, T. Akamatsu, 1991) и метод перераспределения завихренности (S. Shankar, L. van Dorrimeleii, 1996) , метод вязких вихревых доменов является строго обоснованным. Он не содержит подгоночных параметров и позволяет корректно учитывать влияние вязкости среды. С помощью данного метода удается эффективно исследовать различные

двумерные сопряженные задачи аэро-гидродинамики о нестационарном взаимодействии твердых тел с течениями несжимаемой жидкости. Подходы на его основе (¡успехом применяются в вычислительных экспериментах по исследованию широкого класса задач, в частности, по изучению гидродинамических механизмов машущего полета, моделированию ветроэнергетических установок роторного и волнового типа. Метод вязких вихревых доменов применим также к исследованию задач управления потоками при обтекании тел различной геометрии. Одним из активно исследуемых н настоящее время подходов к управлению потоками при обтекании тел является способ с применением так называемых вихревых ячеек, представляющих собой поперечные профилированные ныре-зы, расположенные на поверхности обтекаемого тела. В настоящей диссертации рассматривается задача о течении вязкой жидкости в вихревой ячейке, исследуются способы стабилизации такого рода течений. Изучение этой задачи проводится с использованием разработанного программного комплекса, в основе которого лежит метод вязких вихревых доменов. Вихревые ячейки рассматриваются как основной элемент механизации толстых крыльев перспективных летательных аппаратов большой грузоподъемности. Этому направлению посвящен международный проект Уо^ехСе112050, в котором участвуют научные организации из восьми европейских стран. Последнее обстоятельство свидетельствует об актуальности и высокой практической востребованности задачи о вихревой ячейке.

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

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

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

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

1 Грпгоренко Д.А. Комплекс программ для реализации семейства вихревых методой и его применение // Автореферат диссертации на соискание ученой степени кандидата физико-математических наук, Москва. — 2008.

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

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

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

Конечными целями диссертации являются:

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

вычислительных экспериментов на основе метода вязких вихревых доменов1;

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

При создании программного комплекса в диссертации используются современные методы и технологии разработки программных систем. Такие методы и технологии основаны на формальных моделях описания эксперимента и элементах программной инженерии, позволяющих верифицировать код на основе данных вычислительного и натурного экспериментов. Данные методы претерпели значительные изменения за последние несколько десятилетий. Полное и точное описание таких изменений представляет собой сложную задачу. Среди важных понятий современно!« подхода к разработке программных систем, используемых в настоящей диссертации, необходимо отметить следующие (R. Pressman, 2000; F. Buschmann, 1996): жизненный цикл программной системы; модель жизненного цикла; программная архитектура; паттерн проектирования. В работе используются элементы компонентного подхода.

Другой способ снижения временных затрат на проведение рассматриваемо!« вычислительного эксперимента заключается в разработке и использовании более эффективных алгоритмов вычисления различных характеристик выбранного численного метода. В работе предлагаются адаптированные к особенностям проводимого эксперимента существующие алгоритмы, разработанные и довольно широко известные за рубежом. К таким алгоритмам относятся, в частности, алгоритмы решения задачи N тел — метод Барнеса-Гута (J, Barnes, P. Hut, 1986) и Fast Multipole Method, FMM (L. Greengard, V. Rokhlin, 1988).

'Заметим, что временные затраты, как мера эффективности, упоминаются в работах академика A.A. Самарского.

В соответствии с представленной целью и принятыми автором методами ее достижения были поставлены следующие задачи:

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

• разработка архитектуры программного комплекса, анализ его свойств;

• разработка эффективных алгоритмов вычисления различных характеристик выбранного численного метода;

• реализация компонентов программного комплекса для выбранного класса задач обтекания;

• тестирование разработанных компонентов, проведение демонстрационных расчетов.

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

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

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

Результатами, выносимыми на защиту являются следующие:

• комплекс программ для подготовки и проведения вычислительного эксперимента на основе вихревых методов, построенный с использованием формальных моделей его описания и методологии программной инженерии;

• архитектурные решения сложно организованного комплекса программ для математического моделирования на основе вихревых методов;

• алгоритмы расчетов различных характеристик моделируемых процессов с использованием численного метода вязких вихревых доменов;

• результаты моделирования течений вязкой среды в вихревой ячейке.

Научная новизна. Научной новизной обладают следующие результаты диссертационной работы.

• С использованием методологии программной инженерии реализованы механизмы компонентного подхода к созданию комплекса программ для подготовки и проведения ресурсоемкого и сложно организованного вычислительного эксперимента на основе вихревых методов.

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

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

• С применением математических моделей, алгоритмов и программных средств комплекса получены новые результаты о течении вязкой жидкости или газа в вихревой ячейке. Исследована чувствительность такого течения к различного рода воздействиям, а также влияние проницаемых экранов на характеристики течения.

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

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

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

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

Практическая значимость. К разряду представляющих практическое значение относятся следующие результаты, представленные в диссертации.

• Сформулированы общие принципы построения программных комплексов для вычислительных экспериментов, в основе которых лежит метод вязких вихревых доменов и аналогичные бессеточные лагранжевы методы. К их числу относятся, например, эксперименты, опирающиеся на метод диффузионной скорости, а также на различные возможные расширения метода вязких вихревых доменов, в том числе — метод ВВТД — вязких вихре-тепловых доменов (Гу-вернюк C.B., Дынникова Г.Я., Андронов П.Р., 2006).

• Разработаны быстрые алгоритмы вычисления конвективной и диффузионной скорости свободных доменов, которые предоставляют возможность расчета течений с большим уровнем разрешения вихревых областей. Метод вычисления коннективной скорости, в основе которого лежит алгоритм решения задачи N тел, изложен в общем виде. Это обстоятельство позволяет использовать его при проведении вычислительных экспериментов н других научных областях, например, к астрономии, молекулярной физике/химии и биологии.

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

время он активно используется к НИИ механики МГУ для численного исследования различных задач динамики вязкой жидкости и нестационарного движения тел в сопротивляющейся среде.

• Представленные в работе результаты о характеристиках течения в вихревой ячейке могут использоваться при разработке систем управления отрывом на крыльях самолетов нового тина (интегральной компоновки). В настоящее время данные результаты используются в рамках международного проекта Уо1^ехСе112050.

Апробация работы и публикации. Основные результаты работы получены автором самостоятельно. Работы [4-6,8-10] опубликованы без соавторов. Разработка общих принципов построения целевой программной системы, эффективных алгоритмов вычисления различных характеристик моделируемых процессов в рамках базового численного метода и их программная реализация выполнены соискателем самостоятельно. Проведение расчетов по исследованию течений вязкой среды в вихревой ячейке выполнены совместно с авторами численного метода вязких вихревых доменов.

По теме диссертации опубликовано 7 статей, из которых [6,10] опубликованы в журналах, рекомендуемых ВАК, а также 2 отчета по научно-исследовательской работе в НИИ механики МГУ. Основные результаты содержатся в работах [1-11].

Результаты работы докладывались и обсуждались на следующих конференциях: Научная конференция «Ломоносовские чтения» 2005, 2006, 2008, 2009 года, Москва, МГУ им. М.В. Ломоносова; Пятая Международная школа-семинар «Модели и методы аэродинамики», Москва, 2005 год; Конференция-конкурс молодых ученых 2005, 2006 года, Москва, НИИ механики МГУ; XV Международная конференция по Вычислительной механике и современным прикладным программным системам (ВМ-СППС'2007), 25-31 мая 2007 года, г. Алушта; Школа-семинар «Современные проблемы аэрогидродинамики» под руководством академика РАН

Г.Г. Черного 2006, 2007 года, Сочи, «Буревестник», МГУ им. М.В. Ломоносова, Международная научная конференция «Современные проблемы вычислительной математики и математической физики», посвященная памяти академика A.A. Самарского в связи с 90-летием со дня его рождения, Москва, 16-18 июня 2009 года.

Кроме того, результаты, представленные в диссертации, докладывались и обсуждались на семинаре иод руководством О.М. Бело-церковского, на семинаре «Проблемы современных информационно-вычислительных систем» иод руководством д.ф.-м.н., проф. В.А. Васени-на, на семинаре кафедры газовой и волновой динамики (мех-мат МГУ) иод руководством академика РАН Е.И. Шемякина, на семинаре; кафедры вычислительной математики (мех-мат МГУ) иод руководством д.ф.-м.н., проф. Г.М. Кобелькова и на семинаре кафедры автоматизации научных исследований (ВМиК МГУ) иод руководством чл.-корр. РАН Д.П. Костомарова.

Автор выражает искреннюю признательность доценту Г.Я. Дыннико-вой, автору численного метода вязких вихревых доменов, за постоянные и плодотворные обсуждения особенностей этого численного метода, без которых настоящее диссертационное исследование было бы невозможно. Автор благодарен профессорам В.В. Липаеву, О.Б. Арушаняну и А.П. Фаворскому за полезные советы, которые помогли улучшить качество диссертации. Автор крайне признателен к.ф.-м.н. В.В. Кулямину за внимательное прочтение настоящей работы и полезные замечания, которые позволили по-новому взглянуть на многие представленные в ней результаты и глубже понять их суть.

Структура работы. Работа состоит из введения, четырех глав, заключения, списка литературы и трех приложений. Общий объем диссертации — 140 страниц (вместе с приложениями — 172 страницы). Список литературы включает 173 наименования.

Краткое содержание работы

Во введении описываются цели работы, обосновывается её актуальность и практическая значимость, перечисляются основные результаты.

Первая глава посвящена постановке задачи, которая заключается в формулировке набора требований к разрабатываемому программному комплексу. Данные требования согласно стандарту ISO 42010:2007 (IEEE 1471) «Рекомендации к описанию архитектуры сложных систем» определяются средой окружения, в которой должна разрабатываться и функционировать создаваемая система.

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

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

1 Дыннпкопя Г.Я, Лагранжев подход к решению нестационарных уравнений Навье-Стокса. //

(1)

divV = 0, О = rotV, р = const, и = const-,

в которых используются стандартные обозначения скорости V, давления р, плотности р, завихренности il и вязкости и. Движение твердых тел (при

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

^ - rot (У х Û + vAv) ,

с помощью определения «диффузионной скорости» V¿ для плоских течений может быть записано в виде

дл

^ + div(Ü(V + Vi) = 0, Vd = -i/Víníl, П = Ü ■ ez (2)

из которого следует постоянство циркуляции скорости на контурах, движущихся со скоростью V + V¿. Вся область движения разбивается этими контурами на дискретные подобласти, называемые доменами. Задача моделирования эволюции движения жидкости сводится к решению на каждом шаге по времени следующих трех подзадач: вычисление конвективной V и диффузионной V¿ скоростей доменов; решение уравнения перемещения доменов за время At со скоростью V" + V¿] добавление новых доменов, обеспечивающих выполнение граничных условий на следующем шаге по времени, что сводится к решению системы линейных уравнений относительно циркуляции новых доменов, которая далее остается постоянной для любого домена. В работах (Дынникова Г.Я., 2004; Гувернюк C.B., Дынникова Г.Я., 2007) представлен ряд теоретических результатов, определяющих законы взаимодействия доменов между собой и с твердыми поверхностями, в частности, методы вычисления трения. В отличие от других методов этого класса, например, метода диффузионной скорости (Y. Ogami, T. Akarriatsu, 1991) или метода перераспределения завихренности (L. van Dommelen, 1996), метод, выбранный в качестве базового, позволяет более обоснованно учитывать влияние вязкости среды, не содержит подгоночных параметров, корректно разрешает вязкие слои около поверхностей чел. Метод вязких вихревых доменов допускает

ДАН - 2004, - Т. 399, №1, - С. 42-46; Андронов П.Р., Гувернюк C.B., Дынникова Г.Я. Вихревые методы расчета нестационарных гидродинамических нагрузок. — М.: Изд-во Моск. ун-та, 2006. — 184 с.

ряд модификаций для моделирования различных тиков течений вязкой среды (далее также — классов задач обтекания). Выделим следующие основные типы течений. 1. Течения в бесконечном пространстве, заполненном неподвижной на бесконечности средой, с набором погруженных в нее движущихся областей, которые соответствуют профилям обтекаемых чел. Число степеней свободы любого тела может быть равно 0, 1, 2, или 3. Предполагается, что в процессе движения тела не сталкиваются и не выходят за пределы области течения. На границах областей, соответствующих профилям обтекаемых тел, могут быть заданы различные условия (условие непротекания, деформируемости, подвижности стенок). Между областями также могут быть заданы различные дополнительные условия (условия соединения посредством пружины, шарнира). На границах обтекаемых тел, а также в области течения может быть задан набор точек (с законом их движения), соответствующих областям отбора (вдува) среды. Допускаются внутренние поверхности разрыва. Предусматривается возможность внешнего силового воздействия на среду. 2. Внутренние течения в неподвижной замкнутой, ограниченной области произвольной геометрической формы. Такие течения можно рассматривать в качестве моделей течений, получаемых, например, в экспериментах с использованием аэродинамической трубы. Кроме условий прилипания и скольжения на непроницаемых частях границы задаются специальные условия на протекаемых частях: сочетание вихреисточников и вихрестоков. Дополнительно в область течения может быть добавлено множество областей, соответствующих профилям обтекаемых тел. Предположения о характере движения областей, об условиях, заданных между ними и на их границах, аналогичны изложенным выше.

Традиционно используемое программное обеспечение для рассматриваемого вычислительного эксперимента условно можно разделить на два класса. К первому относятся программы, разрабатываемые «предметниками» — специалистами по нихревым методам. Второй класс программных реализаций представляют комплексы с монолитным вычислитель-

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

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

1. С позиций функциональных требований программный комплекс должен реализовать перечень заданных модификаций метода вязких вихревых доменов для описанного выше класса задач обтекания. Этот класс: включает следующие типы течений: течения вязкой среды в неограниченной и ограниченной области. В область течения может быть погружен набор движущихся областей, которые соответствуют профилям обтекаемых тел. Число степеней свободы любого тела может быть равно 0,1,2 или 3. На границах обтекаемых тел могут быть заданы различные условия: условие непротекания, деформируемости, подвижности стенок. Между областями могут быть заданы дополнительные условия, например, условия их соединения посредством пружины или шарнира. На границах обтеке-мых тел и в области течения может быть задан набор точек (с законом их движения), соответствующих областям отбора (вдува) среды. Допускаются внутренние поверхности разрыва, соответстнющие проницаемым экранам в области течения. Возможно внешнее силовое воздействие на

среду.

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

Представлены планируемые способы измерения свойств программной реализации и проверки их соответствия (^формулированным 'требованиям. Проверка правильности реализации функций, которые реализованы в программном комплексе, проводится на основе сравнения расчетных данных с результатами расчетов другими методами и с данными физического эксперимента. Оценка качественных свойств программного комплекса осуществляется посредством их сравнения со свойствами программных реализаций, которые получаются в рамках традиционных подходов. В частности, для измерения изменяемости используются следующие метрики: /¿1 — метрика, характеризующая объем повторяющегося исходного кода программного обеспечения в рамках того или иного подхода, метрика Чепина оценки сложности программного обеспечения (Chapin's software complexity metric)1, метрика Карда и Агрести (Card and Agresti's metric)2, — метрика, характеризующая объем исходного кода, который можно использовать повторно при построении новых программных реализаций. Оценка программного обеспечения с использованием первых трех метрик производится на этапе проектирования, оценка на основе метрики ¿¿2

1 Chap in N. A measure of software complexity. / / Proceedings of the National Compute r Conference. — 1979. - Pp. 995-1002.

2Card D. N., Agresti IV. VV. Measuring software design complexity. // Journal of Systems and Software. - 1988. - no. 8. - Pp. 185-197.

производится после этапа кодирования. Следует отметить, что формулировка требований к качеству и описание методов их оценки выполнены с учетом действующих на территории России стандартов качества программного обеспечения ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126.

Вторая глава посвящена изложению методологии построения программного комплекса и ее применению на практике. В основу методологии положены элементы компонентного подхода (component-based development). Такой подход, как правило, применяется для разработки линеек (далее также — семейств) программ в некоторой предметной области с целью уменьшения времени на их создание. Основная идея достижения цели компонентного подхода заключается в выделении компонентов семейства программ и в повторном их использовании. Исследования показали (Е. Yourdon, 1994), что применение данного подхода к разработке семейств программных систем позволяет' снизить временные затраты более чем в два раза. Используются общие характеристики следующих элементов компонентного подхода: библиотеки компонентов повторного использования; архитектуры; модели жизненного цикла и этапов процесса анализа и моделирования предметной области (domain engineering). Показаны основные отличия модели жизненного цикла компонентного подхода от моделей, используемых в рамках других подходов. Описаны основные этапы процесса анализа и моделирования предметной области, которые проводятся непосредственно перед сборкой систем семейства программ. Обосновывается возможность применения представленной методологии для достижения целей настоящей диссертации.

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

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

Архитектура влияет на свойство изменяемости программного комплекса. Доказаны следующие утверждения.

Утверждение 1. > ^ > др, где ц\ — метрика, характеризующая суммарный объем повторяющегося исходного кода для программных реализаций в рамках того или иного подхода к построению программного обеспечения для рассматриваемого вычислительного эксперимента.

Утверждение 2. С1А <С)В< <5°, где <5 — метрика Чепина.

Утверждение 3. 2А < 2В < 2°, где 2 — метрика Карда и Агрести.

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

Приводятся решения, связанные с выбором языков программирования для реализации программного комплекса, В частности, описывается применение скриптовых языков для повышения удобства эксплуатации.

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

В третьей главе представлен детальный дизайн отдельных компонентов программного комплекса и некоторые сведения о его программной реализации. Согласно стандарту ГОСТ Р ИСО/МЭК 12207-99 детальный дизайн является вторым этапом проектирования программной системы. Анализируются особенности основных элементов программного комплекса, а именно — типов данных и модулей.

Представлены характеристики типа данных SPACE — центрального типа данных программного комплекса. Этот тип предназначен для хранения состояния моделируемой системы обтекаемых тел и среды. Приведена сигнатура интерфейса и инварианты этого типа данных, показаны способы его реализации. Проведена верификация представленной реализации относительно сформулированных инвариантов.

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

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

областях. В контексте данной ¡заботы в качестве закона взаимодействия выступает функция, являющаяся ядром в законе Био-Савара.

Прямой метод решения задачи N тел обладает' сложностью 0(N2), Известны более эффективные методы решения данной задачи. К таким относятся метод Барнеса-Гута (Barnes-Hut), сложность которого O(iVIniV), и Fast Multipole Method (FMM), имеющий асимптотическую сложность O(N).

В работе представлена выполненная автором модификация известных алгоритмов, которая позволяет вычислять конвективные скорости свободных вихрей. Оценки сложности алгоритма и оптимальных значений параметров дополнительных структур данных (в частности, дерена для хранения иерархической информации о группах вихрей) получены для модельной задачи. Согласно ее условиям центры свободных вихрей равномерным образом распределены в квадрате D = [0,1] х [0,1]. Доказано следующее утверждение.

Утверждение 4. Сложность разработанной модификации метода вычисления конвективной скорости равна 0(N\aN).

Следствие 1. Оптимальная глубина дерева равна п — [log4(2^Ar)]_

Для вычисления диффузионной скорости свободных вихрей разработан другой эффективный алгоритм, обладающий меньшей вычислительной сложностью по сравнению с прямым методом расчета. Данный алгоритм основан на использовании свойств закона диффузионного взаимодействия вихрей, в частности, экспоненциального убывания попарного влияния вихрей но мере удаленности друг от друга. Сложность прямого метода вычисления диффузионной скорости составляет 0{N2 + MN). Здесь N — количество свободных вихрей в области течения, М — количество точек разбиения границы области течения. Доказано следующее утверждение.

Утверждение 5. Сложность разработанного алгоритма вычисления диффузионной скорости равна 0(N + М).

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

В настоящее время программный комплекс состоит из 14 модулей. Эти модули позволяют моделировать внутренние течения в замкнутой ограниченной области произвольной геометрической формы. В область течения может быть помещен набор дискретных объектов (вихрей или источников/стоков) для задания потока среды нужной конфигурации, а также для моделирования механизмов отбора/вдува среды. Допускаются внутренние поверхности разрыва, которые являются моделями проницаемых экранов. Общий объем исходного кода разработанных компонентов программного комплекса составляет порядка 10000 строк на языке С-Н-. Проведена оценка значения метрики ^ — процента исходного кода, который можно использовать повторно при разработке программных решений для новых задач обтекании. Показано, что как минимум 26%, а в среднем 70-80% исходной) кода можно использовать повторно, что подтверждает эффективность представленной организации программного комплекса.

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

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

Количество шагов по времени Время работы, сек. С++ Время работы, сек. С 1 1/РуШоп

50 197 205

100 500 503

Проведено тестирование представленных в третьей главе алгоритмов вычисления конвективной и диффузионной скорости свободных вихрей. Оно проводилось на модельной задаче, условия которой также изложены в главе 3. Для тестирования модуля вычисления конвективной скорости произведено две серии запусков. Первая серия была предназначена для проверки критерия оптимальности выбора глубины дерева, вторая — для сравнения быстрого и прямо!« методов расчета. Проверка критерия оптимальности производилась для N = 75000 вихрей. Представленная далее таблица показывает время работы представленного алгоритма при различной глубине дерева.

Глубина дерева 5 6 7 8 9

Время счета, сек. 36 10 4 10 41

Как следует из таблицы, оптимальное значение глубины дерева равно 7. Согласно следствию из утверждения о вычислительной сложности алгоритма нахождения конвективных скоростей свободных вихрей, доказанного в предыдущей главе, оптимальное значение глубины дерева равно п - [1о§4 (^^75000)] = 7, что подтверждает правильность результатов, полученных аналитически.

В представленной далее таблице отражены результаты сравнения разработанного быстрого алгоритма (с оптимальным значением глубины дерева) с прямым методом.

Количество вихрей, N 10000 20000 40000 80000

Время работы прямого метода, сек 13 51 213 875

Время работы быстрого метода, сек. 1 1 2 5

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

Количество вихрей, N 5000 10000 20000 40000

Время работы прямого метода, сек 14 53 221 864

Время работы быстрого метода, сек. < 1 1 2 3

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

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

123456789*

Рис. 1: Вихревые картины течении с проницаемой крышкой с коэффициентами проницаемости 0.1 (а) и 10.0 (б).

н канале и ячейке (рис. 1). Протестирована возможность программного комплекса моделировать проницаемые поверхности.

Результаты о течении вязкой жидкости в вихревой ячейке, полученные с использованием программного комплекса и представленные в диссертации, внесли свой вклад в решение задач, поставленных в рамках международного проекта УойехСе112050.

В заключении перечисляются следующие основные результаты диссертации.

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

• Предложены новые архитектурные решения, положенные в основу комплекса программ, предназначенного для проведения вычисли-

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

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

• С применением математических моделей, алгоритмов и программных средств комплекса получены новые результаты о течении вязкой жидкости или газа в вихревой ячейке. Исследована чувствительность такого течения к различного рода воздействиям, а также влияние проницаемых экранов на характеристики течения.

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

Публикации по теме диссертации

1. Алгоритм численного моделирования методами дискретных вихрей и вязких вихревых доменов: отчет 4831 / С. В. Гувернюк, П. Р. Андронов, А. И. Гирча и др. — М.: Институт механики МГУ, 2006,— 49 с.

2. Андронов П. Р., Гирча А. И., Гувернюк С. В. О стабилизации уловленного вихря в каверне с помощью проницаемой крышки // Современные, проблемы математики и механики. Выпуск посвящается

70-летпию со дня рождения Виктора Антоновича Садовничего. Под редакцией академика Г. Г. Черного и профессора В. П. Карликова. — 2009. — № 2.1.-С. 33-41.

3. Васенин В. А., Гирча А. И., Гувернюк С. В. Реализация вихревых методов и алгоритмов численного моделирования на основе эффективного комплекса программ. // Современные проблемы вычислительной математики и математической физики: Международная конференция, Москва, МГУ имени М.В. Ломоносова, 16-18 июня 2009 года. Тезисы докладов. — М.: Издательский отдел факультета ВМК МГУ имени М. В. Ломоносова; МАКС Пресс, 2009. - С. 307-308.

4. Гирча А. И. Построение модели численного решения задачи об обтекании плохообтекаемых тел в потоке несжимаемой среды и ее реализация с помощью средств MPI // Информационные технологии и программирование: Межвузовский сборник статей. — 2004. — Т. 3, № 12. - С. 31-44.

5. Гирча А. И. Виртуальный гидродинамический полигон для проверки феноменологических гипотез о нестационарном взаимодействии тела с потоком среды // Труды конференции-конкурса молодых: ученых: 12-17 октября 2005 г. Под редакцией академика РАН Г.Г. Черного, профессора В.А.Самсонова. — 2006. — С. 63-70.

6. Гирча А. И. Быстрый алгоритм решения «Задачи N тел» в рамках программной реализации численного метода вязких вихревых доменов // Системы управления и информационные технологии. — 2007. — № 4.2(30). — С. 239-242.

7. Гирча А. И. Модульная архитектура программного комплекса, реализующего численный метод вязких вихревых доменов, и его программная реализация // Материалы XV Международной конференции по Вычислительной механике и современным прикладным про-

граммным системам (ВМСППС'2007), 25-31 мая 2007 I-., г. Алушта.— М.: Вузовская книга, 2007.- С. 164-165.

8. Гирча А. И. Численное моделирование нестационарных нагрузок мри колебании крылового профиля // Труды конференции-конкурса молодых ученых 11-16 октября 2006 г. Под редакцией академика РАН Г.Г. Черного, профессора В.А.Самсонова. — 2007. — С. 110-115.

9. Гирча А. И. Быстрый алгоритм решения «Задачи N тел» в контексте численного метода вязких вихревых доменов // Информационные технологии моделирования и управления. — 2008. — № 1(44). — С. 4752.

10. Гирча А. И. Разработка программного комплекса для численного моделирования процессов нестационарной гидродинамики методом вязких вихревых доменов // Информационные технологии. — 2008,— № 8.— С. 38-43.

И. Использование многопроцессорных вычислительных систем для моделирования автоколебаний и авторотации тел, движущихся в сплошной среде: отчет 4676 / П. Р. Андронов, С. Н. Баранников, А. И. Гирча и др. — М.: Институт механики МГУ, 2003. — 48 с.

Отпечатано в отделе оперативной печати Геологического ф-та МГУ Тираж 10о экз. Заказ № ^

Оглавление автор диссертации — кандидата физико-математических наук Гирча, Александр Иванович

Введение

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

1.1 Вводные замечания. Математические модели движения жидкости

1.2 Вычислительный эксперимент.

1.2.1 Сфера применения.

1.2.2 Схема вычислительного эксперимента

1.2.3 Способы программирования.

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

1.3.1 Математическая модель.

1.3.2 Численный метод.

1.3.3 Разработка программ.

1.4 Требования к программному комплексу

1.5 Резюме

2 Методология построения программного комплекса и его применение

2.1 Методология построения программного комплекса.

2.2 Программный комплекс.

2.2.1 Анализ и моделирование предметной области.

Анализ.

Архитектура программного комплекса.

Свойства программного комплекса.

2.2.2 Сценарий использования программного комплекса.

2.2.3 Программная реализация и интерфейс.

2.3 Перспективы дальнейшего развития представленных результатов

2.4 Резюме

3 Детальный дизайн компонентов программного комплекса. Некоторые сведения о программной реализации комплекса

3.1 Типы данных.

3.1.1 Тип данных SPACE.

3.2 Модули.'.

3.2.1 Характер входных параметров модулей.

3.2.2 Модуль расчета конвективной скорости.

Постановка модельной задачи.

Алгоритм.

Анализ алгоритма.

3.2.3 Модуль расчета диффузионной скорости.

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

Метод расчета диффузионной скорости

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

3.4 Резюме

4 Вычислительный эксперимент. Тестирование и валидация комплекса

4.1 Тестирование программного комплекса.

4.1.1 Интерфейс к скриптовому языку Python.

4.1.2 Модуль быстрого вычисления конвективной скорости.

4.1.3 Модуль быстрого вычисления диффузионной скорости.

4.2 Численное исследование задачи о течении вязкой жидкости в канале с вихревой ячейкой

4.2.1 Геометрическая форма течения.

4.2.2 Требование правильности реализации функций программного комплекса.

4.2.3 Исследование чувствительности течения в вихревой ячейке к воздействиям различного рода.

Описание интегральных индикаторов (сенсоров)

Описание типов воздействия (актуаторов).

Результаты.

4.2.4 Моделирование проницаемых поверхностей.

4.3 Резюме

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Гирча, Александр Иванович

Актуальность темы. Объект и предмет исследования

Создание программ и их комплексов для проведения наукоемкого вычислительного эксперимента представляет собой отдельную, обладающую определенной спецификой область прикладной математики и информатики. Характерной ее особенностью является наличие большого числа объективно возникающих и постоянно изменяющихся требований к подобным программам. Такого сорта изменения возникают в силу условий, в которых программа используется. Вычислительный эксперимент обладает циклической структурой, в основе которой лежит триада, сформулированная академиком А.А. Самарским, «модель — алгоритм — программа» [1, 2]. В процессе расчетов математическая модель исследуемого явления и вычислительный алгоритм подвержены постоянным модификациям, видоизменениям [2]. Они, в свою очередь, сказываются на программе, в которую необходимо вносить соответствующие изменения. Причины изменений могут также носить чисто технический характер, например, в случае разработки более эффективных способов представления данных или при необходимости организовать взаимодействие с внешним устройством. Следует заметить, что в условиях вычислительного эксперимента программа выступает в роли, которую выполняет перманентно модифицируемый стенд при эксперименте физическом. С учетом изложенного, первая версия программы рассматривается лишь как отправная точка в последовательности многочисленных дальнейших ее измен ений.

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

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

Отметим, что в настоящее время, спустя более 30 лет после выхода данной работы, организационно-технологические вопросы проведения вычислительных экспериментов приобрели еще более острый характер. При этом Н.Н. Яненко считал, что к задачам, связанным с ЭВМ и программированием, которые традиционно считались чисто технологическими, необходим более серьезный, математический подход. В развитие идеи о необходимости уточнения понятия математической науки он отмечал: «Развитие экспериментальной базы и инструмента исследования — ЭВМ — повысило интерес к таким конечным объектам как машинные числа, программы, конечные автоматы. В связи с этим принятое в XX веке определение математики как науки о бесконечном следовало бы заменить другим, более правильно отражающим ее сущность, а именно — как науки о соотношении конечного и бесконечного».

В 1990 году вышла работа [4], в которой академик О.М. Белоцерконский и профессор В.В. Щенников следующим образом охарактеризовали проблемы, связанные с технологическими аспектами проведения вычислительных экспериментов.

Бурное развитие вычислительной техники, которое особенно ярко проявилось в последние 10-15 лет, с особой остротой поставило проблему создания принципиально новой технологии решения задач на ЭВМ. . Исторически сложилось так, что проблемы численного моделирования (в это понятие мы включаем собственно математическое моделирование, сопряженное с численным экспериментом), будучи заметно продвинуты еще в «домашинный» период и развиваясь опережающими темпами в последующие периоды, оказались наиболее консервативной компонентой современной математической технологии решения задач на ЭВМ. Прибегая, может быть к излишней с точки зрения математиков образности изложения, можно охарактеризовать сложившуюся ситуацию двумя устойчивыми тенденциями:

• увеличение сложности математических моделей;

• построение очень изощренных математических методов.

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

Несколько лет назад в работах [5-7] предложен новый метод численного моделирования нестационарных течений вязкой несжимаемой жидкости в лаграижевых координатах — метод вязких вихревых доменов (ВВД). В отличие от других методов этого класса, таких как, например, метод Чорипа [8, 9], метод диффузионной скорости (Diffusion velocity method) [8, 10] и метод перераспределения завихренности (Vorticity redistribution method) [8, 11], метод вязких вихревых доменов является строго обоснованным. Он не содержит подгоночных параметров и позволяет корректно учитывать влияние вязкости среды. С помощью данного метода удается эффективно исследовать различные сопряженные задачи аэро-гидродинамики о нестационарном взаимодействии твердых тел с двумерными течениями несжимаемой вязкой жидкости. Подходы на его основе с успехом применяются в вычислительных экспериментах по исследованию широкого класса задач, в частности, по изучению гидродинамических механизмов машущего полета, моделированию ветроэнергетических установок роторного и волнового типа. Метод вязких вихревых доменов применим также к исследованию задач управления потоками при обтекании тел различной геометрии. Одним из активно исследуемых в настоящее время подходов к управлению потоками при обтекании тел является способ с применением так называемых вихревых ячеек, представляющих собой поперечные профилированные вырезы, расположенные на поверхности обтекаемого тела [12]. В настоящей диссертации рассматривается задача о течении вязкой жидкости в вихревой ячейке, исследуются способы стабилизации такого рода течений. Изучение этой задачи проводится с использованием разработанного программного комплекса, в основе которого лежит метод вязких вихревых доменов. Вихревые ячейки рассматриваются как основной элемент механизации толстых крыльев перспективных летательных аппаратов большой грузоподъемности. Этому направлению посвящен международный проект VortexCell2050 [13|, в котором участвуют научные организации из восьми европейских стран. Последнее обстоятельство свидетельствует об актуальности п высокой практической востребованности задачи о вихревой ячейке.

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

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

В настоящее время известны два подхода к орхланизации программного обеспечения для вычислительного эксперимента на основе метода вязких вихревых доменов. Первый применяют «предметники» — специалисты по вихревым методам, в меньшей степени знакомые с технологиями программирования. Для этого подхода характерна множественность программных реализаций, каждая из которых предназначена для решения определенных, «фиксированных», задач аэро-гидродииамики. Основным недостатком этого подхода является oiсутствпе явно сформулированных инвариантов, свойств таких программ, а также четко (формально) определенных взаимосвязей между ними. Как следствие, с течением времени происходит неконтролируемое нарастание сложности программных реализаций, понижается эффективность проведения вычислительного эксперимента, увеличиваются временные затраты на подготовку и проведение массовых расчетов. Передача таких программ другим исследователям представляет большие сложности. Второй подход основан на использовании программных комплексов с монолитным вычислительным ядром. Примером программной реализации такого типа является программный комплекс «Ротор» [14]. В его ядре реализован алгоритм, универсальный для некоторого класса задач. В рамках данного подхода можно добиться ряда полезных свойств программной реализации, например, отсутствия дублирования кода. Такие программные комплексы, как правило, должным образом документированы, возможна их передача потенциальным пользователям. Однако для программных комплексов этого тппа также характерен ряд недостатков. Основной их причиной является подход к созданию таких комплексов на основе принципа универсальности, который используется при реализации вычислительного ядра. По мере расширения ядра на новые классы задач происходит значительное усложнение языка задания расчетов. Более того, начиная с некоторого момента времени добавить новукгфункционалыюсть в вычислительное ядро становится крайне сложно в силу трудностей, связанных с разработкой универсального алгоритма на довольно широкие классы задач. В результате снижается эффективность подготовки и проведения численных расчетов, увеличиваются временные затраты.

Следует отметить, что па некоторые из перечисленных недостатков традиционно используемых подходов указывал в своих работах академик А.А. Самарский [2]. Представленные соображения, а также приведенные выше цитаты подтверждают актуальность и фундаментальный характер выбранной темы исследования.

Цели работы и методы их достижения

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

Конечными целями диссертации являются:

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

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

При создании программного комплекса в диссертации используются современные методы и технологии разработки программных систем. Такие методы и технологии основаны па формальных моделях описания эксперимента и элементах программной инженерии, позволяющих верифицировать код па основе данных вычислительного и натурного экспериментов. Данные методы претерпели значительные изменения за последние несколько десятилетий. Полное и точное описание таких изменений представляет собой очень сложную задачу. Взгляды автора на основные тенденции данного периода, полученные по результатам библиографического анализа, приведены в приложении «А». Важными понятиями современного подхода к разработке программных систем являются следующие [15, 16]: жизненный цикл программной системы; модель жизненного цикла; программная архитектура; паттерн проектирования. В настоящей работе используются также элементы компонентного подхода [15]

Другой способ снижения временных затрат па проведение рассматриваемого вычислительного эксперимента заключается в разработке п использовании более эффективных алгоритмов вычисления различных характеристик выбранного численного метода. В работе предлагаются модифицированные и адаптированные к особенностям проводимого эксперимента существующие алгоритмы, разработанные и довольно широко известные за рубежом. В приложении «В» представлен обзор существующих алгоритмов решения задачи N тел [17], которая, в частности, возникает при проведении расчетов с использованием метода вязких вихревых домеиов.

1 Заметим, что временные затраты, как мера эффективности, упоминаются и работах академика А.А. Самарского [2].

В соответствии с представлен ной целью и принятыми автором методами ее достижения были поставлены следующие задачи:

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

• разработка архитектуры программного комплекса, анализ его свойств;

• разработка эффективных алгоритмов вычисления различных характеристик выбранного численного метода;

• реализация компонентов программного комплекса для выбранного класса задач обтекания:

• тестирование разработанных компонентов, проведение демонстрационных расчетов.

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

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

Результатами, выносимыми на защиту являются следующие:

• комплекс программ для подготовки и проведения вычислительного эксперимента на основе вихревых методов, построенный с использованием формальных моделей его описаиия и методологии программной инженерии;

• архитектурные решения сложно организованного комплекса программ для математического моделирования на основе вихревых методов;

• алгоритмы расчетов различных характеристик моделируемых процессов с использованием численного метода вязких вихревых доменов;

• результаты моделирования течений вязкой среды в вихревой ячейке.

Научная новизна

Научной новизной обладают следующие результаты диссертационной работы.

• С использованием методологии программной инженерии реализованы механизмы компонентного подхода к созданию комплекса программ для подготовки и проведения ресурсоемкого и сложно организованного вычислительного эксперимента на основе вихревых методов.

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

2Под паттерном проектирования, как правило, понимается некоторое проверенное на практике решение некоторой многократно возникающей задачи [18]. Предложенное d настоящей работе архитектурное решение может использоваться для построения других программных комплексов на основе методов, близких к методу вязких иихрепых доменов. В силу отсутствия практических испытаний приведенных идей при разработке других комплексов изложенные архитектурные характеристики рассматриваются в качестве кандидата паттерна проектирования.

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

• С применением математических моделей, алгоритмов и программных средств комплекса получены новые результаты о течении вязкой жидкости или газа в вихревой ячейке. Исследована чувствительность такого течения к различного рода воздействиям, а также влияние проницаемых экранов на характеристики течения.

Достоверность результатов

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

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

Практическая значимость

К разряду представляющих практическое значение относятся следующие результаты, представленные в диссертации.

• Сформулированы общие принципы построения программных комплексов для вычислительных экспериментов, в основе которых лежит метод вязких вихревых доменов и аналогичные бессеточных лагранжевы методы. К их числу относятся, например, эксперименты, опирающиеся на метод диффузионной скорости, а также на различные возможные расширения метода вязких вихревых доменов, в том числе — метод ВВТД — вязких вихре-тепловых доменов [19, 20].

• Разработаны быстрые алгоритмы вычисления конвективной и диффузионной скорости свободных доменов, которые предоставляют возможность расчета течений с большим уровнем разрешения вихревых областей. Метод вычисления конвективной скорости, в основе которого алгоритм решения задачи N тел, изложен в общем виде. Это обстоятельство позволяет использовать его при проведении вычислительных экспериментов в других научных областях, например, в астрономии, молекулярной физике/химии и биологии.

• Созданный программный комплекс позволяет более эффективно по сравнению с традиционными подходами проводить различные научные и инженерные расчеты течении вязкой среды. В настоящее время он активно используется в НИИ механики МГУ для численного исследования различных задач динамики вязкой жидкости и нестационарного движения тел в сопротивляющейся среде.

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

Апробация работы и публикации

Основные результаты работы получены автором самостоятельно. Работы [21-26] опубликованы без соавторов. Разработка общих принципов построения целевой программной системы, эффективных алгоритмов вычисления различных частей выбранного численного метода и их программная реализация выполнены соискателем самостоятельно. Проведение расчетов по исследованию течений вязкой среды в вихревой ячейке выполнены совместно с авторами численного метода вязких вихревых доменов.

По теме диссертации опубликовано 7 статей, из которых [24, 26] опубликованы в журналах, рекомендуемых ВАК, а также 2 отчета по научно-исследовательской

Введение 15 работе НИИ механики МГУ. Основные результаты содержатся в работах [21-29]. Результаты работы докладывались и обсуждались па следующих конференциях:

• Научная конференция «Ломоносовские чтения» 2005, 2006, 2008, 2009 года, Москва, МГУ им. М.В. Ломоносова;

• Пятая Международная школа-семинар «Модели и методы аэродинамики», Москва, 2005 год;

• Конференция-конкурс молодых ученых 2005, 2006 года, Москва, НИИ механики МГУ;

• XV Международная конференция по Вычислительной механике и современным прикладным программным системам (ВМСППС'2007), 25-31 мая 2007 года, г. Алушта;

• XV Школа-семинар «Современные проблемы аэрогидродинамики» под руководством академика РАН Г.Г. Черного, 5-15 сентября 2007 года, Сочи, «Буревестник», МГУ им. М.В. Ломоносова;

• Международная научная конференция «Современные проблемы вычислительной математики и математической физики», посвященная памяти академика А.А. Самарского в связи с 90-летием со дня его рождения, Москва, 16-18 нюня 2009 года.

Кроме того, результаты, представленные в диссертации, докладывались и обсуждались на семинаре под руководством академика РАН О.М. Белоцерковского, на семинаре «Проблемы современных информационно-вычислительных систем» под руководством д.ф.-м.н., проф. В.А. Васепина, на семинаре кафедры газовой и волновой динамики механико-математического факультета под руководством академика РАН Е.И. Шемякина, на семинаре кафедры вычислительной математики механико-математического факультета под руководством д.ф.-м.н., проф. Г.М. Кобелькова и на семинаре кафедры автоматизации научных исследований факультета вычислительной математики и кибернетики под руководством чл.-корр. РАН Д.П. Костомарова.

Автор выражает искреннюю признательность доценту Г.Я. Дышшковой, автору численного метода вязких вихревых доменов, за постоянные н плодотворные обсуждения особенностей этого численного метода, без которых настоящее диссертационное исследование было бы невозможно. Автор благодарен профессорам В.В. Липаеву, О.Б. Арушаняну и А.П. Фаворскому за полезные советы, которые помогли улучшить качество диссертации. Автор крайне признателен к.ф.-м.н. В.В. Кулямипу за внимательное прочтение настоящей работы и полезные замечания, которые позволили по-новому взглянуть на многие представленные в ней результаты и глубже понять их суть.

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

Заключение

Основными результатами диссертационной работы являются следующие.

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

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

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

• С применением математических моделей, алгоритмов и программных средств комплекса получены новые результаты о течении вязкой жидкости или газа в вихревой ячейке. Исследована чувствительность такого течения к различного рода воздействиям, а также влияние проницаемых экранов на характеристики течения.

Библиография Гирча, Александр Иванович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Самарский А. А. Математическое моделирование и вычислительный эксперимент // Вестник АН СССР. - 1979. — № 5. - С. 38-49.

2. Самарский А. А. Компьютеры, модели, вычислительный эксперимент. Введение в информатику с позиций математического моделирования.— М.: Наука, 1988. 176 с.

3. Яненко Н. Н., Карначук В. И., Коновалов А. И. Проблемы математической технологии // Численные методы механики сплошной среды. — 1977. N® 8(3).

4. Рациональное численное моделирование в нелинейной механике / Под ред. О. М. Бслоцерковского. — Москва: Наука, 1990.

5. Дынникоаа Г. Я. Лагранжев подход к решению нестационарных уравнений Навье-Стокса // Доклады Академии наук. — 2004. — Т. 399, № 1. — С. 42-46.

6. Андронов П. Р., Гувернюк С. В., Дынникова Г. Я. Вихревые методы расчета нестационарных гидродинамических нагрузок.— М.: Изд-во Моск. ун-та, 2006. 184 с.

7. Chorin A. J. Numerical study of slightly viscous flow // Journal of Fluid Mechanics. — 1973. — Vol. 4, no. 57. Pp. 785-796.

8. Ogami Y., Akamatsu T. Viscous flow simulation using the discrete vortex model -the diffusion velocity method // Computers & Fluids. — 1991. — Vol. 19, no. 3/4. — Pp. 433-441.

9. Shankar S., van Dommelen L. A new diffusion procedure for vortex methods // Com,p. Phys. ~ 1996. no. 127. - Pp. 88-109.

10. Григоренко Д. А. Комплекс программ для реализации семейства вихревых методов и его применение // Автореферат диссертации на соискание ученой степени кандидата физико-математических наук, Москва. — 2008.

11. Pressman R. Software Engineering: a practitioner's approach, 5t,h edition.— McGraw-Hill, 2000. 840 pp.16| Buschmann F., et al. Pattern-Oriented Software Architecture: A System of Patterns. — John Wiley and Sons, 1996.

12. Rankin III W. T. Efficient parallel implementations of multipole based N-body algorithms. — 1999. — April. — http: //www. ее .duke. edu/~wrankin/disser/ rankindissertation.pdf.

13. Buschmann F., Henney K. Schmidt D. C. Pattern-oriented software architecture: On patterns and pattern languages. — West Sussex, England: John Wiley and Sons Ltd., 2007.

14. Дыннгькова, Г., Гувернюк С., Андронов П. Лагранжев численный метод решения двумерных задач свободной конвекции. // Труды четвёртой Российскойнациональной конференции по теплообмену.— jVs 3.— Москва: Издательский дом МЭИ, 2006.- С. 33-41.

15. Гирча А. И. Численное моделирование нестационарных нагрузок ири колебании крылового профиля // Труды конферени,ии-конкурса люлодых ученых 11-16 октября 2006 г. Под редакцией академика РАН Г.Г.Черпого, профессора В.А.Самсоиова. 2007.— С. 110-115.

16. Гирча А. И. Разработка программного комплекса для численного моделирования процессов нестационарной гидродинамики методом вязких вихревых доменов // Ипфорлшционные технологии. — 2008. — № 8. — С. 38-43.

17. Гирча, А. И. Быстрый алгоритм решения «Задачи N тел» в контексте численного метода вязких вихревых доменов // Информационные технологии моделирования и управления. — 2008. — N8 1(44). — С. 47-52.

18. Гирча А. И. Быстрый алгоритм решения «Задачи N тел» в рамках программной реализации численного метода вязких вихревых доменов // Системы управления и информационные технологии. — 2007.— № 4.2(30).— С. 239-242.

19. Использование многопроцессорных вычислительных систем для моделирования автоколебаний и авторотации тел, движущихся в сплошной среде: отчет 4676 / П. Р. Андронов, С. Н. Баранников, А. И. Гирча и др. — М.: Институт механики МГУ, 2003. — 48 с.

20. Алгоритм численного моделирования методами дискретных вихрей и вязких вихревых доменов: отчет 4831 / С. В. Гувсршок, П. Р. Андронов, А. И. Гирча и др. — М.: Институт механики МГУ, 2006.— 49 с.

21. Седов Л. Плоские задачи гидродинамики и аэродинимнки. — М.: Наука, 1966.

22. Лам,б Г. Гидродинамика. — М.: ГИТТЛ, Ленингр. отд., 1947.

23. Кочин И., Кибель И., Розе Н. Теоретическая гидромеханика. — М.: ГИТТЛ, 1955.- Т. 1.

24. Лойцянский Л. Механика жидкости и газа.— М.: Наука, 1973.

25. Дж. Бэтчелор. Введение в динамику жидкости. — М.: Мир, 1973.

26. Сарпкайя Т. Вычислительные вихревые методы // Современное машиностроение. 1989. - Т. А, № 10. - С. 1-60.

27. Степанов Г. Об основных модельным представлениях механики жидкости и газа в теории крыла // Некоторые вопросы механики сплошной среды. Сб. тематич. статей Ип-та механики МГУ под ред. С.С. Григоряна. — М.: Моск. ун-та, 1978.

28. Рахматулин X., Гувернюк С. В. О постановке задач обтекания проницаемых тел несжимаемой средой // В сб. Парашюты и проницаемые тела. — 1987.

29. Ogarni Y., Akamatsu Т. Viscous flow simulation using the discrete vortex model // Computers and Fluids. — 1991.— Vol. 19, no. 3/4.

30. Дынникова Г. Я. Движение вихрей в двумерных течениях вязкой жидкости // Изв. РАН, МЖГ. — 2003. — № 5. — С. 11 19.

31. Белов И., Исаев С., Коробков В. Задачи и методы расчета отрывных течений несжимаемой жидкости. — JL: Судостроение, 1989.

32. Управление обтеканием тел с вихревыми ячейками в приложении к летательным аппаратам интегральной компоновки (численное и физическое моделирование). — Под ред. а.в. ермишииа и с.а. исаева изд. — М.: МГУ, 2003.

33. Численное моделирование осесимметрпчных отрывных течений несжимаемой жидкости / О. Гомаи, В. Карплюк, М. Ништ, А. Судаков. — Под ред. м.н. шиита изд. — М.: Машиностроение, 1993.

34. Белоцерковский С., Ништ М. Отрывное и безотрывное обтекание топких крыльев идеальной жидкостью. — М.: Наука, 1978.

35. Белоцерковский С., Гиневский А. Моделирование турбулентных струй и следов па основе метода дискретных вихрей. — М.: Физ-мат. лит., 1995.

36. Гиневский А., Погребная Т., Шипилов С. Моделирование натекания кольцевого вихревого жгута на плоский твердый экран: отчет 1: Докл. РАН, 2006. — 55-57.

37. Barba L., Leonard A., Allen С. Advances in viscous vortex methods mcshless spatial adaption based on radial basis function interpolation // Intern. J. Numer. Meth. Fluids. — 2005. — Vol. 47, no. 5.1. Литература 162

38. Горбунов-Посадов М. М. Расширяемые программы.— М.: Полиптих, 1999.— 336 с.

39. Флетчер К. Численные методы на основе метода Галеркина. — Москва, «Мир»., 1988.56| Gourgoulhon Е. Introduction to spectral methods.— www.lorene.obspra.fr/ palma.pdf.

40. Rossi L. F. A Spreading Blob Vortex Method for Viscous Bounded Flows: Ph.D. thesis / University of Arizona. — 1993.

41. Large scale parallel structured arnr calculations using the samrai framework / A. M. Wissink, R. D. Hornung, S. R. Kohn et al. // In Supcrcomputing. — 2001.1. Литература 1G3

42. Overture: An object-oriented framework for high performance scientific computing / F. Bassetti, D. Brown, K. Davis et al. //In Proceedings of SC98: High Performance Networking and Computing. IEEE Computer Society. — 1998. — P. 9.

43. Pdelib2, basic software components for numerical solution of partial differential equations. — http: //www .wias-berlin.de/software/pdelib/.

44. Beall M. W. An object-oriented framework for the reliable automated solution of problems in mathematical physics. PhD thesis. — New York: Rensselaer Polytechnic1.stitute, 1999.

45. VXFlow homepage. — http://www.morgenthal.org/vxflow/index.html.

46. Software engineering body of knowledge, 2005.— http://www.swebok.org/ ironman/pdf/SWEB0KGuide2004.pdf.

47. JIunaeo В. В. Программная инженерия. Методологические основы. — Москва: Издательство «ТЕИС», 2006. — 609 с.

48. Chapin N. A measure of software complexity // Proceedings of the National Computer Conference. 1979. - Pp. 995-1002.

49. Yu X., Lamb D. A. Metrics applicable to software design // Annals of Software Engineering. — 1995. — no. 1. — Pp. 23-41.1. Литература 164

50. Banker R. D., Datar S. M., Zweig D. Software complexity and maintainability // Proceedings of the tenth international conference on Information Systems. — Boston, Massachusetts, United States: Association for Computing Machinery, 1989. Pp. 247-255.

51. Card D. N., Agresti W. W. Measuring software design complexity // Journal of Systems and Software.— 1988.— no. 8.-- Pp. 185 197.

52. ГОСТ P ИСО/МЭК 12207-99:Процессы жизненного цикла программных средстн. — 14ПК Издательство стандартов, 2000,— http://www.klubok.net/ pageid313.html.

53. Gerard О'Regan. Mathematical Approaches to Software Quality.— London: Springer-Verlag, 2006. — 231 pp.

54. Bachman F., Bass L. Introduction to the Attribute Driven Design method // Proceedings of the 23d International Conference on Software Engineering (ISCE'Ql).- 2001.- 2 pp.

55. Brown A. An introduction to model driven architecture. — http://www.ibra.com/ developerworks/rational/library/3100,html#N10121.

56. Avram A., Marinescu F. Domain-Driven Design Quickly, free online edition.— USA: C4Media Inc., 2006.— 106 pp.— http://www.infoq.com/minibooks/ domain-driven-design-quickly.

57. Kazman. R. A new approach to designing and analyzing object-oriented software architecture // Conference On Object-Oriented Programming Systems, Languages and Applications OOPSLA, Nov. 1-5. — 1999.

58. Eden A. H., Kazman R. Architecture, Design, implementation // International Conference on Software Engineering (ISCE'03).— 2003.— 11 pp.

59. Kazman R., Klein M. Clements P. ATAM:Method for Architecture Evaluation.— Pittsburgh: Carnegie Mellon University, 2000.- 83 pp. — TECHNICAL REPORT, CMU/SEI-2000-TR-004, ESC-TR-2000-004.1. Литература 165

60. Yourdon Е. Software reuse // Application Development Strategies.— 1994.— no. 6(12).-Pp. 1-16.

61. Perry D., A.L. Wolf. Foundations for the study of software architecture // ACM Software Eng. Notes. — 1992. no. 17(4).— Pp. 40-52.

62. Shaw M., Clements P. The golden age of software architecture // IEEE Software. — 2006. no. 23(2). - Pp. 31-39.

63. Design Patterns: Elements of Reusable Object-Oriented Software. / E. Gamma, R. Helm, R. Johnson, J. Vlissiclcs. — Addison-Wesley, 1994. — 416 pp.

64. Boost Python library documentation.— http://www.boost.org/libs/python/ doc/.

65. Pattern-oriented software architecture: patterns for concurrent and networked objects / D. Schmidt, M. Stal, H. Rohnert, F. Buschmann. — West Sussex, England: John Wiley and Sons Ltd., 2000.

66. Kircher M., Jain P. Pattern-oriented software architecture: patterns for resource management. — West Sussex, England: John Wiley and Sons Ltd., 2004.

67. Security patterns: integrating security and systems engineering / M. Schumacher, E. Fernaiiclez-Buqlioni, D. Hybertson, et. al.-- England: Wiley, 2006.

68. Iso/iec 11404 : 1996 information technology programming languages, their environments and system software interfaces - language-independent datatypes. — http: //www.nist.ru/hr/doc/rastd/iso/index.htm.

69. Schadow G., et. al. Data types abstract specification.

70. Baillie J. An introduction to the algebraic specification of abstract data types. — http://homepages.feis .herts.ac.uk/~comqejb/algspec/pr.html.

71. Algebraic specification of abstract data types.— http://www.cs.sfu.ca/ "cameron/Teaching/383/AlgSpec. html.

72. Barnes J., Hut. P. A hierarchical o(n log n) force-calculation algorithm // Nature. — 1986.- 1ю. 324(4).

73. Strickland J. H., Daty 11. S. An overview of fast multipole methods. — Engineering Sciences Center, Sandia National Laboratories, Albuquerque, New Mexico 87185.

74. Blelloch G., Narlikar G. A practical comparison of n-body algorithms. // In Parallel Algorithms, Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society. — 1997.

75. Численное и физическое моделирование циркуляционного течения в вихревой ячейке на стенке плосконараллельного канала / П. Баранов, С. Гувернюк, М. Зубип, С. Исаев // Изв. РАН: Механика жидкости и газа. — 2000. — № 5. — С. 44-56.

76. Рахлштулин X. А., Гувернюк С. В. О постановке задач обтекания проницаемых тел несжимаемой средой. Сборник «Парашюты и проницаемые тела». — Москва: Изд-во Моск. Ун-та, 1987. — С. 5-24.

77. Fortran ANSI ХЗ.9-1978 Standard. — http: //www. f ortran. com/F77std/r j cnf . html.

78. Описание языка программирования ANSI С. — http://www.opennet.ru/docs/ RUS/ansi-с/.

79. С++ standards.— http://www.slac.stanford.edu/BFROOT/www/Computing/ Environment/Standards/C++Standards.html.

80. The OMG's CORBA Website. http://www. corba. org.

81. Kruchten P., Obbink II., Stafford J. The past, present, and future of software architecture // IEEE Software.— 2006.— no. 23(2). — Pp. 22-30.

82. IEEE 1471:2000, Recommended Practice for Architectural Description of Software-Intensive Systems. — IEEE Press, 2000.

83. ANSI/IEEE Std 1471 :: ISO/IEC 42010 Standard Website.- http://www. iso-architecture.org/ieee-1471/.1. Литература 167

84. Garlan D., Shaw M. An Introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering. Volume 1. — New Jersey: World Scientific Publishing Company, 1993.

85. Architectural styles, design patterns, and objects. / R. T. Monroe, A. Kompanek, R. Melton, D. Garlan. //' IEEE Software. 1997. - no. 14(1). - Pp. 43-52.

86. Bass L., Clements P., Kazrnan R. Software Architecture in Practice. — Addison Wesley Longman, Inc., 1998.

87. Randell В., Buxton J. Software Engineering Techniques: Report on a Conference Sponsored be the NATO Science Committee. — NATO Science Committee, 1970. — 130 pp.— http://homepages.cs.ncl.ac.uk/brian.randell/NATO/.

88. Brooks F. The Mythical Man-Month. Addison-Wesley, 1975.

89. Parnas D. I. On the criteria to be used in decomposing systens into modules // Comm. ACM. 1972. — no. 15(12). - Pp. 1053-1058.

90. Parnas D. I. On the design and development of program families // IEEE Trans. Software Eng. — 1976. — no. 2(1).— Pp. 1-9.

91. Lampson B. W. Hints for computer system design // Operationg System Rev.— 1983. no. 15(5).- Pp. 33-48.

92. Mills J. A pragmatic view of the system architect // Comm. ACM. — 1985.— no. 28(7).-Pp. 708-717.

93. W.E.Royce, Royce IV. Software architecture: Integrating process and technology // TRW Quest. 1991. - no. 14(1). - Pp. 2-15.

94. Rechtin E. System Architecting: Creating and Building Complex Systems.— Prentice Hall, 1991.

95. Luckham, C. D., et al. Specification and analysis of system architecture using rapide. // IEEE Transactions on Software Engineering 21. — 1995.— Pp. 336-355.

96. The Wright architecture description language.— http://www-2.cs.cmu.edu/ "able/wright/.

97. An overview of ACME.— overview.html.http://www.cs.cmu.edu/~acme/docs/language119| The UniCon language reference manual.— http://www.cs.cmu.edu/~UniCon/ reference-manual/ReferenceManuall.html.

98. Witt В., Baker F., Merritt E. Software Architecture and Design: Principles, Models and Methods. — Van Nostrand Reinhold, 1994.

99. Kazman R., et al. SAAM: A method for analyzing the properties of software architectures // Proc. 16th Int'l Conf. Software Eng. (ISCE 94), IEEE CS Press.-1994. Pp. 81-90.122| Software engineering institute. — http: //www. sei. emu. edu/.

100. Kruchten P. The 4+1 view model of architecture // IEEE Software. — 1995. — no. 12(G).- Pp. 45-50.

101. Ran A. ARES conceptual framework for software architecture // Software Architecture for product families: principles and practice, M. Jazayeri, A. Ran, F.van der Linden. Addis on-Wesley eds.— 2000.— Pp. 1-29.

102. Muller J. K. Integrating architectural design into the development process // Proc. 1995 Int'l Symp. and Workshop System Eng. of Computer-Based Systems, IEEE Press. 1995. - Pp. 114-121.

103. Jacobson L., Palmkvist K., Dyrhage S. Systems of interconnected systems // Report on Object-Oriented Analysis and design (ROAD). — 1995.— no. 2(1).

104. Bowman I. Conceptual architecture of the linux kernel. — 1998.— http://docs, huihoo.com/linux/kernel/al/index.html.1. Литература 169

105. Dohohue P. Software Architecture — 1st IFIP Conf. Software Architecture (WICSA 1). — Kluwer Academic Publishers, 1999.

106. International Federation of Information Processing. — http: //www. if ip. or. at/.

107. Worldwide Institute of Software Architects. — http://www.wwisa.org/.

108. Clements P., Kazman R., Klein M. Evaluating Software Architecture. — Addison-Wesley, 2002.

109. ISO/IEC 10746:1995, Reference Model of Open Distributed Processing (RM-ODP). — ITU Rec. X901, 1995.

110. Putman J. Architecting with RM-ODP. — Prentice Hall, 2000.

111. Clem,ents P. et. al. Documenting Software Architectures: Views and Beyound. — Addison-Wesley, 2002.

112. Clements P., Northrop L. Software Product Lines: Practice and Patterns.— Addison-Wesley, 2002.

113. Dragoi O. A. The conceptual architecture of the apache web server. — 1999. — http: //www.cs .ucsb.edu/~tve/cs290i-sp01/papers/ConceptApacheArch.htm.

114. Bannon R., et. al. MySQL conceptual architecture. — 2002.— http://www.swen. uwaterloo. ca/~mrbannon/cs798/assignment01/mysql .pdf.

115. Pavlov M., Biehl M. Conceptual architecture of OpenOffice.org. — 2005. — www.stud.uni-karlsruhe.de/~unq7/drupal/files/ ConceptualArchitectureOpenOffice .pdf.

116. Ornmering R., et. al. The Koala component model for consumer electronics // IEEE Trans. Computers. — 2000. — no. 33(3). — Pp. 78-85.1. Литера тура 170

117. Tutorial on UML. — http://www.sintef.no/time/ELB40/ELB/UML/UML.pdf.

118. Java 2 Platform Enterprice Edition Specification. — http://java.sun.com/j2ee/ j2ee-l4-fr-spec.pdf.

119. Microsoft .NET Framework Hoinesite. — http://www.microsoft.com/net/.

120. S60 Platform Home. — http: //www. s60. com/life.

121. IBM — Программное обеспечение websphere.— http://www-306.ibm.com/ software/ru/websphere/.

122. Hu J., Schmidt D. JAWS: A framework for high performance web servers. — 1999. — citeseer.ist.psu.edu/hu99jaws.html.

123. The International Association of Software Architects.— http://www.iasahome. org.

124. Working IEEE/IFIP Conference on Software Architecture.— http://www. sof twarearchitectureportal. org/WICSA/conferences.

125. European Workshop on Software Architecture.— http://www.archware.org/ ewsa.

126. Software Product Line Conference. — http://softwareproductlines.com.

127. The Conference on the Quality of Software Architecture.— http://se. informatik.uni-oldenburg.de/qosa.

128. The Gaudi System Architecting Web page. — http://www.gaudisite .nl.

129. The Bredemeyer architecture portal. — http://www.bredemeyer.com.

130. Software Architectures. — http: //www. sof twarearchitectures . com.

131. University of South Carolina. — http: //use. edu.

132. Software Engineering Research Center. — http://www.serc.nl.

133. Технологии программирования. Компонентный подход. — http: //www. ispras . ru/~kuliamin/sdt-course.html.1. Литература 171

134. Alexander С. A timeless way of building. — Oxford University Press, 1979.

135. Alexander C. Notes on the synthesis of form.— Harvard University Press, 1964.

136. Alexander C. A Pattern Language: Towns, Buildings, Construction. — Oxford University Press, 1977.

137. Fowler M. Analysis Patterns: Reusable Object Models. — Addison-Wesley, 1996.

138. Fowler M. Patterns of Enterprise Application Architecture. — Addison-Wesley, 2002.

139. Gregor H.; Woolj B. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. — Addison-Wesley, 2002.

140. Shaw M., Clements P. A field guide to boxology: preliminary classification of architectural styles for software systems // Proceedings of COMPSAC.— 1997,— Pp. 6-13.

141. Martin Fowler Web site. — http: //www .martinf owler. com.

142. Board J., et. al. Scalable variants of multipole-accelerated algorithms for molecular dynamics, Technical report 94-006. Duke University, 1994.

143. Appel A. An efficient program for many-body simulation // SI AM Journal of Scientific and Statistical Computing. — 1985. — no. 6. — Pp. 85-103.