Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тематика курсовых работ по курсу.doc
Скачиваний:
74
Добавлен:
14.08.2019
Размер:
9.81 Mб
Скачать

Методические материалы к выполнению курсовых работ по курсу «Основы САПР»

1. Методические разработки по визуализации решения задач математической физики в пакете MATLAB.

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

pderect([x1 x2 y1 y2]) - построение прямоугольника {x1 x x2, y1 y y2},

pdecirc(x0,y0,R) - построение круга с центром (x0,y0) и радиусом R.

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

 

Рис. 3

 

В качестве примера работы данной системы рассмотрим решение следующей задачи. Найти решение уравнения Лапласа Du = uхх + uуу = 0 в прямоугольнике D = {(x,y)| 0 x a, 0 y b}, удовлетворяющее следующим краевым условиям:

.

Для определенности выберем значение параметров, а = b = a = 1.

Опцией pderect задаем прямоугольник с координатами ([0 1 0 1]). Открывается окно PDE Toolbox, в котором заданный треугольник выделен серым цветом. Можно также задавать область решения непосредственно в данном окне в виде прямоугольника, круга, эллипса и многоугольника, выбирая соответствующие кнопки слева в нижнем ряду панели меню. В нижней части окна при различных действиях появляется краткая информация о данном действии.

MatLab решает двумерные задачи, используя метод конечных элементов. При этом расчетная область (в данном случае прямоугольник) разбивается на конечное число элементарных подмножеств стандартной формы (которые и называются конечными элементами). В системе MatLab конечные элементы представляют собой криволинейные треугольники. Чтобы задать первоначальное разбиение области решения на конечные элементы в окне PDE Toolbox достаточно в меню окна нажать кнопку D . Сделать исходное разбиение более мелким можно при помощи кнопки, стоящей рядом справа. После задания исходного разбиения переходим к заданию граничных условий с помощью кнопки ¶W. При этом границы области решения выделяются однонаправленными стрелками красного цвета. Щелчком левой кнопки мыши на каждой из стрелок открываем окно задания граничных условий Boundary Condition. Если на данном отрезке границы заданы условия Дирихле, этот отрезок выделяется красным цветом, условия Ньюмена - синим цветом, смешанные условия - зеленым цветом. Таким образом, после задания граничных условий мы по цвету граничных отрезков сразу можем определить тип условия, заданного на конкретном отрезке границы. Окно задания граничных условий показано на рис.4. Для нашей задачи на левой и правой границах прямоугольника заданы условия Дирихле с h = 1 и r = 1 и у, соответственно. На нижней и верхней границах заданы условия Ньюмана с g = q = 0. В верхней части окна при этом отображается вид граничного условия.

Рис. 4

 

После задания граничных условий задаем вид ДУ с помощью кнопки PDE. В открывшемся окне PDESpecification в данном случае выбираем опцию Еlliptic, а значения коэффициентов - с = 1, a = f = 0. Закрыв окно, нажимаем кнопку решателя =. Полученное решение отображается в исходном прямоугольнике в виде различно окрашенных областей. Цвет и интенсивность окраски соответствуют различным числовым значениям полученной функции.

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

Рис. 5

 

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

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

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

.

При решении нелинейное граничное условие задаем в виде y-y.^2. График полученного решения показан на рис.6.

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

Точное решение данного уравнения .

Рис. 6

 

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

 

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

 

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

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

.

Коэффициент диффузии равен D0.

l = n, u0 = 0.2n, D0 = 0.5n, tmax =1.5, где п – номер варианта.

Точное решение:

.

 

2. Получить график решения задачи колебаний в системе MatLab.

Закрепленной по контуру однородной квадратной мембране со стороной l придали форму u(x, y,0) = sin(p x/l)sin(2p y/l). Начальная скорость точек мембраны постоянна и равна a/l, где а – постоянная, входящая в уравнение колебаний.

l = n, а = 0.5n, t = n, где п – номер варианта.

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

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

 

3. Найти стационарное распределение температуры (построить график в системе MatLab) в прямоугольнике D={(x,y)| 0 x a, 0 x b}, если на границе прямоугольника поддерживается заданная температура:

u(x,0) = u(x,b) = 0, xI (0,a),

u(0, y) = y(b-y), u(a, y) = sin(p y/b), yI (0,b).

4. В MatLab рассмотреть пример решения сингулярной задачи эллиптического типа в pdedemo7.

5. Пример решения двухмерного уравнения Пуассона

2u/ x2 +∂2u/ y2 = f (x, y), (3.9)

где х, y – координаты; u(x, y) – искомая функция; f (x, y) – некоторая непрерывная

функция, определяемая выражением

f (x, y)=exp(-x)+ exp(-y) , (3.10)

на прямоугольной области с граничными условиями

u (xmin ,y ) = sin(y 2) ; (3.11)

u (xmax, y) = cos(3y ) ; (3.12)

du/dy| x,y1 =10sin(x2) ; (3.13)

du/dy| x, ym 10sin(6x). (3.14)

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

Запуск приложения осуществляется командой

pdetool.

П ри этом на экране монитора отображается главное окно приложения (рис. 3.18).

Рис. 3.18. Главное окно приложения pdetool

Для задания прямоугольной области решения необходимо активизировать

с помощью «мыши» кнопку с символом 􀀀, после чего навести курсор «мыши» на рабочее поле редактора, нажать левую кнопку «мыши» в левом верхнем углу (0, 1) задаваемой прямоугольной области, переместить курсор в правый нижний угол (1, -1) области, удерживая левую кнопку, после чего отпустить ее. Прямоугольная область будет зафиксирована (рис. 3.19).

Рис. 3.19. Задание прямоугольной области решения задачи в pdetool

При необходимости корректировки координат и размеров области нужно

навести курсор «мыши» на изображение прямоугольника и дважды щелкнуть

левой кнопкой. На экране появится окно редактирования параметров области

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

Для этого в поле Set formula указываются условные обозначения областей,

связанные знаком «+» в случае объединения или знаком «~» в случае разности (см. рис. 3.19).

Рис. 2.20. Окно редактирования параметров прямоугольной области

решения задачи в приложении pdetool

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

Рис. 3.21. Задание граничных условий в приложении pdetool

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

Рис. 3.22. Задание граничных условий на левой границе

Для редактирования вида дифференциального уравнения и ввода его

функций и коэффициентов необходимо активизировать манипулятором

«мышь» кнопку с символами PDE, после чего внести соответствующие изменения в полях окна редактирования, показанного на рис. 3.23

Р ис. 3.23. Задание граничных условий на правой границе

Рис. 3.24. Задание граничных условий на нижней границе

Рис. 3.25. Задание граничных условий на верхней границе

Рис. 3.26. Окно редактирования уравнения задачи в приложении pdetool

Формирование триангулярной сетки с использованием метода Делоне

о существляется за счет активизации кнопки с символом Δ (рис. 2.27). При необходимости увеличения числа узлов сетки следует активизировать кнопку (рис. 3.28).

Рис. 3.27. Генерация триангулярной сетки с использованием метода Делонев приложении pdetool

Рис. 3.28. Увеличение числа элементов сетки в приложении pdetool

Решение задачи осуществляется при активизации кнопки с символом

«=». По умолчанию значения функции решения выделяются различными

цветами (рис. 3.29). Для графического вывода решения задачи в виде трехмерного (3D) изображения следует активизировать кнопку , после чего в появившемся окне редактирования параметров изображения внести в соответствующие поля данные, как показано на рис. 3.30.

П ри активизации кнопки Plot на экран будет выведен график, показанный

на рис. 3.31.

Рис. 3.29. Решение уравнения Пуассона в приложении pdetool

Рис. 3.30. Окно редактирования параметров графического представления

решения в приложении pdetool

u

y

y

x

Рис. 3.31. Представление решения уравнения Пуассона в виде 3D-изображени