МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Саратовский государственный университет имени Н.Г. Чернышевского Факультет компьютерных наук и информационных технологий УТВЕРЖДАЮ _______________________ "_____"__________________20___ г. ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Компьютерное моделирование Направление подготовки 010500 – Математическое обеспечение и администрирование информационных систем Профиль подготовки Параллельное программирование Квалификация (степень) выпускника Бакалавр Форма обучения Очная Саратов 2011 1. Цели освоения дисциплины Целью освоения данной дисциплины является изучение основ построения математических моделей технических систем в форме динамических систем с сосредоточенными по пространству параметрами, с распределенными по пространству параметрами, комбинированных динамических систем, а также основных методов, эффективных алгоритмов и современных программных средств компьютерного моделирования данных классов динамических систем. 2.Место дисциплины в структуре ООП бакалавриата Данная учебная дисциплина входит в раздел «Профессиональный цикл. Вариативная часть» ФГОС-3. Для изучения дисциплины необходимы компетенции, сформированные у обучающихся в результате изучения курсов «Дифференциальные уравнения» (ПК 1, ПК 2, ПК 3, ПК 5, ПК 6, ПК 7, ПК 8, ПК 15, ПК 16), «Уравнения математической физики» (ПК1, ПК 2, ПК 3, ПК 5, ПК 6, ПК 7, ПК 8, ПК 9, ПК 10, ПК 15), «Методы вычислений» (ПК 1, ПК 2, ПК 3, ПК 8, ПК 11, ПК 12, ПК 15), «Методы вычислений II» (ПК 1, ПК 2, ПК 3, ПК 8, ПК 11, ПК 15), «Физика» (ПК 1, ПК 2, ПК 3, ПК 7, ПК 8, ПК 15), «Информатика и программирование» (ПК 1, ПК 2, ПК 3, ПК 7, ПК 11, ПК 19, ПК 20, ПК 21), «Параллельное и распределенное программирование. Теоретические основы параллельного программирования» (ПК 1, ПК 2, ПК 3, ПК 7, ПК 8, ПК 9, ПК 10, ПК 21, ПК 23). Компетенции, сформированные в результате изучения данной дисциплины, могут быть использованы при написании выпускной квалификационной работы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Данная дисциплина способствует формированию следующих компетенций: способность применять знания на практике (ОК 5); способность учиться (ОК 7); базовые знания в различных областях (ОК 13) способность к анализу и синтезу (ОК 14); определение общих форм, закономерностей, инструментальных средств для данной дисциплины (ПК 1); умение понять поставленную задачу (ПК 2); умение формулировать результат (ПК 3); умение грамотно пользоваться языком предметной области (ПК 7); умение ориентироваться в постановках задач (ПК 8); знание основных методов и средств автоматизации проектирования, производства, испытаний и оценки качества программного обеспечения (ПК 24); навыки использования метода системного моделирования при исследовании и проектировании программных систем (ПК 32); навыки разработки моделирующих алгоритмов и реализации их на базе языков и пакетов прикладных программ моделирования (ПК 33); навыки использования основных моделей информационных технологий и способов их применения для решения задач в предметных областях (ПК 34) навыки выбора, проектирования, реализации, оценки качества и анализа эффективности программного обеспечения для решения задач в различных предметных областях (ПК 36). В результате освоения дисциплины обучающийся должен: Знать: методы построения и анализа математических моделей технических систем, рассматриваемых как динамические системы с сосредоточенными по пространству параметрами, с распределенными по пространству параметрами и комбинированные динамические системы; методы, алгоритмы и современные технологии компьютерного моделирования указанных классов динамических систем; основы конечно-элементного моделирования динамических систем с распределенными по пространству параметрами; основы теории линейных и нелинейных комбинированных динамических систем; основные теоремы об устойчивости комбинированных динамических систем и основанные на них эффективные алгоритмы исследования устойчивости; методы и алгоритмы параметрического синтеза комбинированных динамических систем; Уметь: применять современный математический аппарат для задач математического и компьютерного моделирования, качественного и численного анализа, оптимизации и параметрического синтеза технических систем, рассматриваемых как динамические системы с сосредоточенными по пространству параметрами, с распределенными по пространству параметрами и комбинированные динамические системы; применять современные технологии, средства разработки и пакеты прикладных программ при математическом и компьютерном моделировании указанных выше классов динамических систем. Владеть навыками использования современного математического аппарата при решении задач математического и компьютерного моделирования динамических систем с сосредоточенными по пространству параметрами, с распределенными по пространству параметрами и комбинированных динамических систем; базовыми математическими знаниями и информационными технологиями; навыками их эффективного применения для решения научно-технических и прикладных задач, связанных с развитием и использованием математического и компьютерного моделирования, в частности: навыками математического моделирования, качественного и численного анализа, оптимизации и параметрического синтеза технических систем, рассматриваемых как динамические системе. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетныx единицы, 108 часов (45 часов аудиторных). № п/ п Раздел дисциплины 1 Введение. Базовые технологии и алгоритмы, определяющие эффективность компьютерного моделирования Компьютерное моделирование динамических систем с сосредоточенными по пространству параметрами Компьютерное моделирование систем с распределенными по пространству параметрами Системы с распределенными по пространству параметрами в областях со сложной геометрией Математические модели комбинированных динамических систем (КДС) Компьютерное моделирование динамики и устойчивости КДС Компьютерное моделирование и параметрический синтез управляемых КДС 2 3 4 5 6 7 Сем естр Неделя семестра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 8 1 Л:2 8 2 Л:3 Лаб:2 СР:7 Тест №2 Контрольная работа № 1 на 7 неделе 8 3-4 Л:3 Лаб:2 СР:7 Тест №3 Контрольная работа № 1 на 7 неделе 8 5-7 Л:6 Лаб:4 СР:11 Тест №4 Контрольная работа № 1 на 7 неделе 8 8-10 Л:6 Лаб:2 СР:11 Тест №5 Контрольная работа № 2 на 15 неделе 8 11-13 Л:5 Лаб:3 СР:11 8 13-15 Л:5 Лаб:2 СР:9 Тест №6 Контрольная работа № 2 на 15 неделе Тест №7 Контрольная работа № 2 на 15 неделе СP:7 Формы текущего контроля успеваемости (по неделям семестра) Формы промежуточно й аттестации (по семестрам) Тест №1 Контрольная работа № 1 на 7 неделе ИТОГО Текущая аттестация 30 15 63 Зачет Раздел «Введение. Базовые технологии и алгоритмы, определяющие эффективность компьютерного моделирования». Компьютерное моделирование: математическая модель – алгоритм – компьютерная программа. Адекватность исходному объекту, последовательное уточнение модели, вычислительный эксперимент как средство сокращения числа натурных экспериментов. Архитектурные особенности современных высокопроизводительных вычислительных систем. Векторизующие команды, кэш-память современных процессоров и их эффективное использование в блочных алгоритмах линейной алгебры и дискретного преобразования Фурье. Симметричные мультипроцессорные системы с общей памятью, OpenMP и распараллеливание на основе многопоточности, библиотеки решения базовых задач линейной алгебры BLAS/LAPACK, выполнения дискретных преобразований Фурье FFTW3 и т.д. Кластерные системы, MPI и распараллеливание при помощи обмена сообщениями между процессами, кластерные расширения BLACS/SCALAPACK и т. д. «Двухслойное распараллеливание» (OpenMP/MPI) на кластерных системах c мультипроцессорными узлами. Самостоятельная работа. Проектирование на подпространство Крылова, алгоритм Ланцоша-Арнольди численного решения частичной задачи на собственные значения для линейных операторов и их реализация в пакете ARPACK. Раздел «Компьютерное моделирование динамических систем с сосредоточенными по пространству параметрами». Математические модели динамических систем с сосредоточенными по пространству параметрами в форме систем обыкновенных дифференциальных уравнений (ОДУ). Математические модели аналитической механики (уравнения Лагранжа II рода), теплообмена, электрических осцилляторов, их приведение к системам ОДУ в нормальной форме записи. Методы численного решения задач Коши для систем ОДУ в нормальной форме. Явные одношаговые методы Рунге-Кутта решения нежестких задач, оценка погрешности. Явный вложенный одношаговый метод Дормана и Принса 5(4), стратегия оптимизации шага интегрирования. Достижение наибольшей производительности при наибольшей точности нахождения гладких решений: явно-неявный многошаговый метод Адамса, стратегия оптимизации шага. Устойчивость методов. Жесткие задачи и методы численного решения жестких задач. Неявные методы Рунге-Кутты. Неявные многошаговые методы, основанные на формулах численного дифференцирования: Гира, BDF. Вычисление якобиана правых частей системы ОДУ в форме Коши и факторизация связанных с ним матриц. Управляемые динамические системы, учет времени запаздывания в системе управления и дифференциальные уравнения с запаздывающим аргументом. Особенности численного интегрирования. Лабораторные работы: Компьютерное моделирование решения задач Коши для нежестких систем ОДУ средствами пакетов MATLAB и ODEPACK. Компьютерное моделирование решения задач Коши для жестких систем ОДУ средствами пакетов MATLAB и ODEPACK. Численное моделирование решения задач Коши для систем ОДУ с запаздывающими аргументами средствами пакета MATLAB. Самостоятельная работа: Неявные численные методы решения задачи Коши для систем ОДУ, линейных относительно производных. Распространение теоремы существования и единственности задачи Коши для систем ОДУ в нормальной форме на дифференциальные уравнения с запаздывающими аргументами. Раздел «Компьютерное моделирование систем с распределенными по пространству параметрами» Метод прямых для численного решения начально-краевых задач для уравнений математической физики, возможность его распараллеливания. Проекционный метод Галеркина для численного решения начально-краевых задач для уравнений математической физики, выбор базисных функций. Независимость вычисления скалярных произведений как основа распараллеливания проекционного метода Галеркина. Симметрия и положительная определенность матрицы инерции. Частный случай: равновесные состояния систем с распределенными по пространству параметрами и численное решение краевых задач. Учет потоков энтропии в математических моделях систем с распределенными параметрами, жесткость систем ОДУ, полученных в результате дискретизации начально-краевых задач и необходимость использования «жестко устойчивых» методов численного интегрирования. Лабораторные работы. Численное решение начально-краевых задач для типовых нелинейных уравнений математической физики (Бюргерса) с известным точным решением на основе метода прямых и проекционного метода Галеркина, исследование скорости сходимости. Сравнение явных и неявных методов численного интегрирования полученных в результате дискретизации ОДУ. Исследование эффективности распараллеливания на основе многопоточности. Самостоятельная работа. Теорема о сходимости проекционного метода Галеркина. Тензорная форма записи уравнений математической физики. Раздел «Системы с распределенными по пространству параметрами в областях со сложной геометрией». Математические модели теории теплопроводности, постановка начально-краевых задач. Математические модели механики сплошных сред, уравнения Коши для связи полей перемещений и деформаций, полей скоростей среды и скоростей деформаций, внутренние напряжения, уравнение сохранения массы, уравнение импульса и момента импульса. Модель вязкой несжимаемой жидкости, постановка начальнокраевых задач. Модель твердого деформируемого тела, постановка начально-краевых задач. Метод конечных элементов (МКЭ) как вариант проекционного метода Галеркина для пространственных областей сложной формы. Типовые базисные функции МКЭ. Основные компоненты современных программных комплексов конечно-элементного моделирования: препроцессор, собственно решатель (Solver) и постпроцессор. Генерация конечно-элементных сеток. Параллельность в МКЭ: разделение сеток на подмножества с примерно равным числом узлов. Принципиальная возможность «двухслойного распараллеливания» (OpenMP/MPI) МКЭ на кластерных системах. МКЭ в механике деформируемого твердого тела. Симметрия, разреженность и положительная определенность матрицы инерции. Особенности численного интегрирования жестких систем ОДУ, полученных в результате дискретизации начально-краевых задач. Факторизация разреженных матриц. Модель линейного идеально упругого тела. Симметрия, разреженность и неотрицательность матрицы жесткости. Задача об исследовании спектра собственных частот колебаний упругих конструкций и ее сведение к частичной задаче на собственные значения для разреженных матриц. Лабораторные работы. Генерация последовательности сгущающихся конечноэлементных сеток для трехмерного тела со сложной геометрией в свободно распространяемом генераторе сеток GMSH. Нахождение собственных частот колебаний сложной трехмерной упругой конструкции в пакетах MATLAB/OpenFEM, выяснение наиболее трудоемких типовых операций конечно-элементного моделирования и изучение возможности распараллеливания вычислений на основе многопоточности. Уточнение по сгущенным сеткам спектра собственных частот в оптимизированной кластерной редакции пакета ELMER и изучение масштабирования вычислительного процесса по числу процессоров на основе технологии MPI. Самостоятельная работа. Генерация конечно-элементных сеток: триангуляции Делоне, алгоритмы Tetgen и Netgen. Разделение конечно-элементных сеток: пакет анализа и разделения графов METIS и его кластерное расширение PARMETIS. Блочные алгоритмы факторизации разреженных матриц UMFPACK, MA57, CHOLMOD и их кластерный аналог MUMPS. Раздел «Математические модели комбинированных динамических систем (КДС)». Динамические системы как входно-выходные модели математической кибернетики с непрерывными входными и выходными вектор-функциями. Математические модели технических систем: комбинированные динамические системы (КДС) как совокупности обыкновенных дифференциальных уравнений и уравнений в частных производных, связанных посредством граничных условий и условий связи. КДС с сосредоточенными входными и выходными вектор-функциями, оператор динамической системы и определение стационарной системы с точки зрения теории управления. Линеаризация в малой окрестности состояния равновесия. Линейные системы и принцип суперпозиции. Связь изображений Лапласа входной и выходной вектор-функций и матрицы передаточных функций линейной стационарной динамической системы. Передаточные функции в форме квазирациональных дробей линейных и линеаризованных КДС. Определение характеристического и возмущающего квазимногочленов КДС, их основные свойства и алгоритм вычисления посредством решения вспомогательных линейных краевых задач. Понятие обобщенной степени квазимногочлена. Определение устойчивого квазимногочлена. Теорема об устойчивом квазимногочлене и ее следствия. Свойство инерции, предельная теорема и понятие физически возможных КДС. Теоремы об асимптотически устойчивых, неустойчивых и устойчивых, но не асимптотически, КДС. Алгоритм быстрой проверки устойчивости КДС посредством анализа частотного годографа характеристического квазимногочлена. Лабораторные работы: Аналитическое исследование передаточных функций типовых КДС в системах компьютерной алгебры. Компьютерное моделирование переходных процессов в линейной стационарной динамической системе с известной передаточной функцией при помощи эффективного алгоритма численного обращения одностороннего интегрального преобразования Лапласа. Самостоятельная работа: Применение интегральных преобразований и операционного исчисления к решению линейных начально-краевых задач для уравнений математической физики. Построение параллельных версий эффективного алгоритма численного обращения одностороннего интегрального преобразования Лапласа. Раздел «Компьютерное моделирование динамики и устойчивости КДС» Вывод модельных уравнений КДС «цилиндрический гидродинамический подвес» из уравнений аналитической механики и модели вязкой несжимаемой жидкости. Вывод линеаризованных уравнений КДС в малой окрестности состояния равновесия. Особенности численного и асимптотического интегрирования полученных модельных краевых задач. Исследование устойчивости подвеса в зависимости от его конструктивных параметров на основе быстрого алгоритма исследования устойчивости КДС. Исследование выходных вектор-функций при переходных процессах в нелинейной КДС. Дискретизация уравнений движения КДС по независимым пространственным переменным и приближенное сведение к обыкновенным дифференциальным уравнениям. Особенности вычисления правых частей и матрицы Якоби системы ОДУ и ее дальнейшего численного интегрирования. Практические работы: Компьютерное моделирование устойчивости цилиндрического гидродинамического подвеса на кривой подвижного равновесия. Компьютерное моделирование выходных вектор-функций при переходных процессах в нелинейной КДС «цилиндрический гидродинамический подвес». Исследование влияния распараллеливания на основе многопоточности на эффективность компьютерного моделирования динамики и устойчивости КДС. Самостоятельная работа: Качественные методы анализа математических моделей в форме краевых задач: прямое асимптотическое разложение, метод сращиваемых разложений, метод Вентцеля-Крамерса-Бриллюэна. Раздел «Компьютерное моделирование и параметрический синтез управляемых КДС» Управляемые КДС и пространство параметров обратных связей. Построение математических моделей газореактивной системой стабилизации спутников с упругими конструкциями с учетом времени запаздывания в системе управления. Аналог метода D- разбиений: алгоритм быстрого построения областей устойчивости в пространстве параметров обратных связей как следствие теорем об устойчивости КДС. Оптимизация и параметрический синтез линейных и линеаризуемых КДС: выбор параметров обратных связей с целью обеспечения требуемого качества переходных процессов. Алгоритм параметрического синтеза как сочетание безградиентных методов минимизации (НелдераМида), метода штрафа и алгоритма быстрой проверки устойчивости КДС. Варианты параметрического синтеза, связанные с вычислением градиента целевой функции. Построение параллельных версий алгоритмов минимизации при параметрическом синтезе КДС на основе распараллеливания в стиле «портфель задач». Принципиальная возможность «двухслойного распараллеливания» (OpenMP/MPI) на кластерных системах c мультипроцессорными узлами. Лабораторные работы: параметрический синтез газореактивной системы стабилизации спутников с упруго деформируемыми конструкциями с учетом времени запаздывания в системе управления. Самостоятельная работа: Методы минимизации гладких и негладких функций конечного числа независимых переменных. Метод штрафа. Контрольные работы. Задания контр. работ № 1,2 приведены в приложении 1. 5. Образовательные технологии Рекомендуемые образовательные технологии: лекции, лабораторные работы, самостоятельная работа студентов. При проведении занятий планируется использование таких активных и интерактивных форм занятий, как промежуточное тестирование, перекрестный опрос, мультимедийные презентации, обсуждение результатов выполнения лабораторных работ. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Самарский А. А., Михайлов А. П. Математическое моделирование: Идеи. Методы. Примеры. – М. : Наука: Физ.-мат. лит, 2005. – 316 c. 2. Введение в математическое моделирование / Под ред. П. В. Трусова. – М. : Логос, 2004. – 439 c. 3. Агошков В. И., Дубровский П. Б., Шутяев В. П. Методы решения задач математической физики / Под ред. Г. И. Марчука. – М. : ФИЗМАТЛИТ, 2002. – 320 c. 4. Воеводин В. В., Воеводин В. В. Параллельные вычисления – СПб. : БХВ-Петербург, 2004. – 599 с. 5. Гергель В. П. Теория и практика параллельных вычислений – М. : Интернет-Ун-т Информ. Технологий : БИНОМ. Лаб. знаний, 2007. - 423 с. 6. Зарубин В. С. Математическое моделирование в технике/ Под ред. В. С. Зарубина, А. П. Крищенко. – М. : Изд-во МГТУ им. Н. Э. Баумана, 2003 – 495 c. 7. Сирота А. А. Компьютерное моделирование и оценка эффективности сложных систем – М. : Техносфера, 2006. - 279 с. 8. Ерофеенко В. Т., Козловская И. С. Основы математического моделирования - Минск : ИЦ Белорус. ун-та, 2002. - 194 с. 9. Зенкин В. И. Практический курс математического и компьютерного моделирования. Калининград : Изд-во Рос. гос. ун-та им. И. Канта, 2006. - 151 с. б) дополнительная литература: 1. Поршнев С.В. Компьютерное моделирование физических процессов в пакете MATLAB. – М.: Горячая линия – Телеком. – 2003. – 592 с. 2. Ким Д.П. Теория автоматического управления. Т. 1 : Линейные системы. – М. : ФИЗМАТЛИТ, 2003. – 287 с. 3. Ким Д.П. Теория автоматического управления. Т. 2 : Многомерные, нелинейные, оптимальные и адаптивные системы. - М. : ФИЗМАТЛИТ, 2004. – 463 с. 4. Демидович Б.П. Лекции по математической теории устойчивости. – 3-е изд. – СПб. ; М. ; Краснодар : Лань, 2008. - 480 с. 5. Флетчер К. Численные методы на основе метода Галеркина. – М.: Мир, 1988. – 352 с. 6. Коул Дж. Методы возмущений в прикладной математике. – М.: Мир, 1972. – 274 с. 7. Галлагер Р. Метод конечных элементов. Основы. . – М.: Мир, 1984. – 428 с. 8. Васильев Ф.П. Методы оптимизации. . – М.: Факториал Пресс, 2002. – 823 с. 9. Хайрер Э., Нерсетт С., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи. – М.: Мир, 1990. – 512 с. 10. Хайрер Э., Ваннер Г. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи. – М.: Мир, 1999. – 685 с. 11. В.А.Гаранжа, А.И.Голиков, Ю.Г.Евтушенко, М.Х.Нгуен. Параллельная реализация метода Ньютона для решения больших задач линейного программирования.// Журнал вычислительной математики и математической физики. 2009. №8. Стр. 1369-1384. 12. Андрейченко Д.К., Андрейченко К.П. К теории комбинированных динамических систем// Изв. РАН. Теория и системы управления. 2000. № 3. С. 54-69. 13. Андрейченко Д.К., Андрейченко К.П. К теории стабилизации спутников с упругими стержнями// Изв. РАН. Теория и системы управления. 2004. № 6. С. 150-163. 14. Андрейченко Д.К., Андрейченко К.П. Об устойчивости предельных циклов в системах стабилизации спутников с упругими стержнями// Изв. РАН. Теория и системы управления 2007. № 5. С. 137-149. 15. Андрейченко Д.К., Андрейченко К.П. К теории устойчивости цилиндрического гидродинамического подвеса// Изв. РАН. Механика жидкости и газа. 2009. №1. С. 1326. 16. Андрейченко Д.К. Эффективный алгоритм численного обращения интегрального преобразования Лапласа// Ж. вычисл. матем. и матем. физ. 2000. Т. 40. № 7. С. 10301044. 17. Андрейченко Д.К., Ирматов П.В., Ирматова М.С., Щербаков М.Г. О реализации конечно-элементного моделирования на кластерных системах СГУ// Изв. Сарат. ун-та. Нов. сер. 2010. Т. 10. Сер. Математика. Механика. Информатика. Вып. 3. С. 77-85. в) программное обеспечение и Интернет-ресурсы: Комплект компиляторов Microsoft Visual С++/Intel Fortran для ОС Windows либо свободно распространяемые комплекты компиляторов GNU/Intel С++/Fortran для ОС Linux. Свободно распространяемые библиотеки поддержки высокопроизводительных вычислений Atlas BLAS, GotoBLAS2, LAPACK, BLACS, SCALAPACK. Свободно распространяемые математические библиотеки UMFPACK, CHOLMOD, PARMETIS, MUMPS. Свободно распространяемые пакеты конечно-элементного моделирования ELMER и OpenFEM. Пакет поддержки матричных вычислений MATLAB либо его свободно распространяемый аналог SCILAB. Система поддержки символьных вычислений Maple либо свободно распространяемая система поддержки символьных вычислений Maxima. 8. Материально-техническое обеспечение дисциплины Мультимедийная лекционная аудитория. Компьютерный класс факультета компьютерных наук и информационных технологий с выходом на кластер высокопроизводительных вычислений ПРЦНИТ СГУ. Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и Примерной ООП ВПО по направлению 010500 «Математическое обеспечение и администрирование информационных систем» и профилю подготовки «Параллельное программирование». Автор: Д. К. Андрейченко, проф. кафедры математической кибернетики и компьютерных наук факультета компьютерных наук и информационных технологий Саратовского государственного университета. Программа одобрена на заседании кафедры математического обеспечения вычислительных комплексов и информационных систем от «15» февраля 2011 года, протокол № 1. И.о. зав. кафедрой математического обеспечения вычислительных комплексов и информационных систем, профессор Д.К. Андрейченко Декан факультета КНиИТ, доцент А.Г.Фёдорова