Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Краткий конспект лекций

.pdf
Скачиваний:
31
Добавлен:
31.05.2015
Размер:
792.27 Кб
Скачать

71

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

(4)

Этот интеграл выполнен как сумма вкладов из всех малых многоугольных (треугольных в этом примере) областей. В каждом многоугольнике может быть аппроксимирована полиномом по x и y:

Рис. 2. Типичное подразбиение поперечного сечения в двумерном анализе методом конечных элементов.

Коэффициенты и могут быть выражены в терминах значений

в

каждой

вершине

треугольника:

где нижний индекс p = i, j, k идентифицирует три вершины. Поскольку только требуются для вычисления (4), оно переписывается как

Значение I(0 ) для одного многоугольника

(5)

где индекс t указывает операцию транспонирования, а |0 S| - площадь многоугольника, равная

Для минимизации используется метод Релея-Ритца.

72

(6)

Подстановка (5) в (6) приводит к результату

Когда этот процесс применяется ко всем многоугольникам в S, получаем

(7)

Так как некоторые из , расположенные на границе, известны, (7) может быть решено для потенциалов во всех внутренних точках. Алгоритмы для волновых уравнений для двух и трех координат были разработаны [8]. Одна из проблем методов конечных элементов - существование так называемых паразитных нулей. Такие нули соответствуют физически несуществующим структурам. Точная причина этого явления еще не ясна. Несколько способов имеется, чтобы уменьшить влияние или исключить эти нули. Обычно они основаны на вариационном выражении, которое содержит

дополнительное ограничение Некоторая предосторожность должна быть осуществлена, когда метод

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

В свое время был предложен метод граничных элементов [10,11]. Это - комбинация метода интегрального уравнения на границе, и техники дискретизации, подобной алгоритму конечных элементов, применяемому к границе. По существу, волновое уравнение для объема преобразовано к интегральному уравнению посредством тождества Грина. Поверхностные интегралы - дискретизированы на N сегментах, и их расчет в каждом сегменте выполняется после того, как величины поля аппроксимированы многочленами.

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

73

. 4.Понятие о математическом моделировании. Виды моделирования.

Математическое моделирование — процесс построения и изучения математических моделей

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

В современной теории управления создаются и применяются математические модели двух основных типов (хотя в различных разделах

теории

эти

типы

и

определяются

 

по-разному).

Для

технологических

объектов

это

деление

соответствует

"феноменологическим"

и

"дедуктивным"

моделям.

Под

феноменологическими

моделями

понимаются

 

преимущественно

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

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

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

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

74

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

Существует два основных класса задач, связанных с математическими моделями: прямые и обратные. В первом случае все параметры модели считаются известными, и нам остается только исследовать её поведение. Например, определение частоты колебаний гармонического осциллятора при известном значении параметра k -- прямая задача математического моделирования.

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

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

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

75

ЭВМ, хотя сам метод зародился одновременно с математикой тысячи лет назад.

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

Этапы и цели компьютерного математического моделирования

Здесь мы рассмотрим процесс компьютерного математического моделирования, включающий численный эксперимент с моделью (рис. 1).

Первый этап – определение целей моделирования. Основные из них таковы:

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

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

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

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

76

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

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

5. Источники ошибок в математической модели и необходимость тестирования.

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

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

77

осуществляется пакетное выполнение серии текстов с простой фиксацией их результатов.

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

Функциональное и нагрузочное тестирование. Работы первого вида можно отнести к традиционным - проверка ПО на соответствие требованиям по функционалу***. В последние годы заметно возросла актуальность относительно новых задач, таких, например, как анализ совместимости разрабатываемого продукта с различными программными и аппаратными платформами, приложениями и пр. Второй тип обычно связывают с задачами оценки производительности и масштабирования, но на самом деле он затрагивает гораздо более широкий круг проблем; выявление узких мест в коде программы, обнаружение "утечек" ресурсов и т. д.

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

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

6. Краткий обзор возможностей CAS – систем.

Content-addressable storage (CAS)

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

78

содержимого. Построение системы хранения как базы данных позволило применять к процессам доступа и хранения данных методы работы с базами (версионность хранения, дедупликация). Справедливости ради следует также упомянуть, что ранее такие формы организации информации уже применялись на практике, например файловая система OS VMS (применявшаяся на DEC VAX, впоследствии OpenVMS) была организована как своеобразная база данных.

Архитектура обладает большой устойчивостью к дубликатам, а так же может быть выполнена децентрализованно, что дает ей существенную надежность. Однако серьезным недостатком такого способа организации хранения следует назвать невысокое быстродействие, не позволяющее применять CAS в качестве primary storage. В настоящий момент CAS заняли свое место в системах архивного, долговременного и неизменяемого хранения. Наиболее известным производителем CAS-систем на рынке является компания EMC и ее системы серии Centera.