Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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

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

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

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


3. Различные виды приближений. Интерполяция и аппроксимация.

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

Интерполяция – один из способов аппроксимации данных. В простейшем (одномерном) случае задача интерполяции [1-3] состоит в следующем: заданы точки (xi, yi), и требуется найти функцию (x), которая проходит через эти точки (см. рис. 1),

т.е.

(xi)= yi, . (1)

Точки (xi, yi) называют узлами интерполяции, а функцию (x) – интерполирующей функцией или интерполянтом. Вид функции (x) определяет способ интерполяции. На практике в качестве интерполирующей функции (x) часто используются алгебраические полиномы различного вида, так как полиномы легко вычислять, дифференцировать и интегрировать. При этом интерполяция носит название полиномиальной.


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

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

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

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

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

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

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


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

Content-addressable storage (CAS)

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

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


6. MATHCAD. Назначение. Основные возможности. Простейшие приемы работы.

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

Mathcad содержит:

обширную библиотеку встроенных математических функций;

инструменты построения графиков различных типов;

средства создания текстовых комментариев и оформления отчетов;

конструкции, подобные программным конструкциям языков программирования, позволяющие писать программы для решения задач, которые невозможно или очень сложно решить стандартными инструментами пакета;

удобно организованную интерактивную систему получения справки и оперативной подсказки.

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

Большинство вычислений в Mathcad можно выполнить тремя способами:

выбором операции в меню;

с помощью кнопочных панелей инструментов;

обращением к соответстствующим функциям.

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

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

Формульный редактор

Фактически система MathCAD интегрирует три редактора: формульный, текстовый и графический. Для запуска формульного редактора достаточно установить курсор мыши в любом свободном месте окна редактирования и щелкнуть левой клавишей. Появится визир в виде маленького красного крестика. Его можно перемещать клавишами перемещения курсора. Визир не надо путать с курсором мыши, он, как говорится, живет своей жизнью и имеет вид жирной наклонной стрелки.

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

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

Наборные панели и шаблоны

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

Допустим, требуется вычислить определенный интеграл. Для этого вначале надо вывести панель операторов математического анализа; ее пиктограмма в строке инструментов имеет знаки интеграла и производной. Затем следует установить визир в то место экрана, куда выводится шаблон, и на панели сделать активной пиктограмму с изображением знака определенного интеграла (рис. 1. 11).

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

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

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


7. Обзор возможностей MATLAB.


8. Методы конечных элементов, граничных элементов, их сравнительные преимущества и недостатки.

МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ

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

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

(4)

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

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

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

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

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

(5)

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

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

(6)

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

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

(7)

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

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

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

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


9. Современные пакеты конечно-элементного моделирования. «Тяжелые» и «легкие» пакеты.


10. Особенности моделирования в среде ANSYS.


11. Встроенные языки пакетов конечно-элементного моделирования на примере APDL.


12. Пакет конечно-элементного моделирования FlexPDE для научных исследований.


13. Особенности подготовки модели в среде FlexPDE.





Дата публикования: 2015-02-03; Прочитано: 1066 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...