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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.01.2015
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Контрольная работа

«Решение дифференциальных уравнений второго порядка в частных производных с использованием MATLAB»

Задание

(1)

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

,

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

f(x, y) - некоторая непрерывная функция на прямоугольной области с граничными условиями Дирихле или Неймана на границах x = xmin, x = xmax, y = ymin, y = ymax.

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

граничных условий первого рода (Дирихле)

и/или

граничных условий второго рода (Неймана)

; ; (2) ; ,

; ; (3) ; .

х1, xn - координаты граничных точек области xmin, xmax;

y1, ym - координаты граничных точек области ymin, ymax;

g1(y), g2(y), g3(x), g4(x) - некоторые непрерывные функции соответствующих координат.

Для решения дифференциальных уравнений в частных производных в программе MATLAB 8.0 воспользуемся пакетом прикладных программ Partial Differential Equation (PDE).

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

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

Решение PDE с помощью метода конечных элементов состоит из 6 шагов, соответствующих режимам пакета:

1) определение геометрии (режим рисования);

2) задание граничных условий (режим граничных условий);

3) выбор коэффициентов, определяющих задачу (режим PDE);

4) дискретизация конечных элементов (режим сетки);

5) задание начальных условий и решение PDE (режим решения);

6) последующая обработка решения (режим графика).

Решим двухмерное уравнение Пуассона (1) с правой частью, определяемой выражением

геометрия дискретизация граничный задача

(x2+y2)exy

и граничными условиями (в данной задаче граничными условиями Дирихле (2)):

u(xmin,y) = 1; u(xmax,y) = ey; u(x,ymin) = 1; u(x,ymax) = ex;

на границах (1): xmin = 0, xmax = 1, ymin =0, ymax = 1

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

Для решения в системе MATLAB 8.0 воспользуемся приложением pdetool.

Запуск приложения осуществляется командой pdetool (меню APPSPDE) (рис.1).

Рис. 1. Запуск приложения PDE.

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

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

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

Прямоугольная область будет зафиксирована (рис. 3).

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

Таким образом, выполнено условие задачи: 0 ? x ? 1; 0 ? y ? 1.

При необходимости корректировки координат и размеров области нужно навести курсор «мыши» на изображение прямоугольника и дважды щелкнуть левой кнопкой. На экране появится окно редактирования параметров области с соответствующими полями (рис. 4).

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

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

Также настроим оси координат. В меню Options вызовем окно Axes Limits и поставим галочки в поле auto рис.5.

Рис. 5

В том же меню поставить галочку для команды Axes Equal (рис.6).

Рис.6 Результат преобразования осей координат

2) Решаемое уравнение в частных производных относится к общему виду задачи (Generic Scalar).

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

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

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

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

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

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

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

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

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

Точки после символов х и y означают, что действие, знак которого стоит после точки, применяется к каждому элементу матрицы x или y.

4) Формирование триангулярной сетки с использованием метода Делоне осуществляется активизацией кнопки с символом (рис. 13).

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

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

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

5) Решение задачи осуществляется при активизации кнопки с символом «=». По умолчанию значения функции решения выделены цветом (рис. 15).

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

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

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

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

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

При сохранении файла, получаем m-файл с готовым решением:

function pdemodel

[pde_fig,ax]=pdeinit;

pdetool('appl_cb',1);

set(ax,'DataAspectRatio',[1 1 1]);

set(ax,'PlotBoxAspectRatio',[720.78719999999998 480.52479999999991 480.52479999999991]);

set(ax,'XLimMode','auto');

set(ax,'YLimMode','auto');

set(ax,'XTickMode','auto');

set(ax,'YTickMode','auto');

% Geometry description:

pderect([0 1 0 1],'R1');

set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R1')

% Boundary conditions:

pdetool('changemode',0)

pdesetbd(4,...

'dir',...

1,...

'1',...

'1')

pdesetbd(3,...

'dir',...

1,...

'1',...

'exp(x)')

pdesetbd(2,...

'dir',...

1,...

'1',...

'exp(y)')

pdesetbd(1,...

'dir',...

1,...

'1',...

'1')

% Mesh generation:

setappdata(pde_fig,'Hgrad',1.3);

setappdata(pde_fig,'refinemethod','regular');

setappdata(pde_fig,'jiggle',char('on','mean',''));

pdetool('initmesh')

pdetool('refine')

% PDE coefficients:

pdeseteq(1,...

'1.0',...

'0.0',...

'(x.^2+y.^2).*exp(x.*y)',...

'1.0',...

'0:10',...

'0.0',...

'0.0',...

'[0 100]')

setappdata(pde_fig,'currparam',...

['1.0 ';...

'0.0 ';...

'(x.^2+y.^2).*exp(x.*y)';...

'1.0 '])

% Solve parameters:

setappdata(pde_fig,'solveparam',...

char('0','1968','10','pdeadworst',...

'0.5','longest','0','1E-4','','fixed','Inf'))

% Plotflags and user data strings:

setappdata(pde_fig,'plotflags',[1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1]);

setappdata(pde_fig,'colstring','');

setappdata(pde_fig,'arrowstring','');

setappdata(pde_fig,'deformstring','');

setappdata(pde_fig,'heightstring','');

% Solve PDE:

pdetool('solve')

Размещено на Allbest.ru

...

Подобные документы

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

    контрольная работа [1,3 M], добавлен 08.07.2013

  • Решение дифференциальных уравнений с использованием классических алгоритмов численных методов Эйлера и Рунге-Кутта 4-го порядка. Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений. Результат работы программы.

    курсовая работа [226,6 K], добавлен 05.04.2013

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

    презентация [1,7 M], добавлен 07.03.2013

  • Решение системы обыкновенных дифференциальных уравнений в программе Matlab. Применение метода Рунге–Кутты. Априорный выбор шага интегрирования. Построение трехмерного графика движения точки в декартовой системе координат и создание видеофайла формата AVI.

    контрольная работа [602,8 K], добавлен 04.05.2015

  • Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.

    курсовая работа [580,1 K], добавлен 18.01.2011

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

    дипломная работа [1,4 M], добавлен 14.10.2013

  • Суть метода Рунге-Кутта и его свойства. Решение дифференциальных уравнений первого порядка. Вычислительный блок Given/Odesolve. Встроенные функции rkfixed, Rkadapt, Bulstoer. Решения линейных алгебраических уравнений в среде MathCad и Microsoft Excel.

    курсовая работа [1,1 M], добавлен 02.06.2014

  • Прикладной математический пакет Maple. Набор инструментов для работы с дифференциальными уравнениями в частных производных. Метод разделения переменных. Метод функций Грина. Построение формального решения на входном Maple-языке. Основные типы операций.

    курсовая работа [193,2 K], добавлен 03.08.2012

  • Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений Maple. Произвольные константы решения дифференциального уравнения второго порядка, представленном рядом Тейлора. Значения опции method при численном решении.

    лабораторная работа [47,2 K], добавлен 15.07.2009

  • Решение системы дифференциальных уравнений, заданной в нормальной форме Коши. Определение аналитических зависимостей изменения переменных состояния системы с использованием преобразования Лапласа. Численный метод решения системы c помощью Mathcad.

    практическая работа [657,1 K], добавлен 05.12.2009

  • Схема и основные параметры элементов цепи. Вывод системы дифференциальных уравнений. Реализация алгоритма на языке программирования высокого уровня Pascal. Решение дифференциальных уравнений в пакете MathCAD. Решение интерполяции в пакете Excel.

    курсовая работа [375,4 K], добавлен 06.01.2011

  • Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.

    курсовая работа [149,7 K], добавлен 16.11.2008

  • Назначение и состав системы MathCAD. Основные объекты входного языка и языка реализации. Характеристика элементов интерфейса пользователя, настройка состава панелей инструментов. Задачи линейной алгебры и решение дифференциальных уравнений в MathCAD.

    курс лекций [1,6 M], добавлен 13.11.2010

  • Основные численные методы моделирования. Понятие метода конечных элементов. Описание основных типов конечных элементов и построение сетки. Реализация модели конструкции в пакете ANSYS, на языке программирования C#. Реализация интерфейса пользователя.

    курсовая работа [2,3 M], добавлен 22.01.2016

  • Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.

    курсовая работа [532,9 K], добавлен 14.01.2014

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

    курсовая работа [1,2 M], добавлен 17.08.2013

  • Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.

    курсовая работа [1,4 M], добавлен 15.08.2012

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

    лабораторная работа [71,1 K], добавлен 10.12.2014

  • Реализация решения обыкновенных дифференциальных уравнений 1-го и 2-го порядка методом Рунге-Кутты. Построение на ЭВМ системы отображения результатов в табличной форме и в виде графика. Архитектура и требования к разрабатываемым программным средствам.

    курсовая работа [2,7 M], добавлен 05.11.2011

  • Решение однородных дифференциальных уравнений в MathCad. Расчет значений функций напряжения на конденсаторе и тока в цепи второго порядка в свободном режиме при отсутствии гармонического воздействия с использованием системы MathCAD. Графики этих функций.

    курсовая работа [705,0 K], добавлен 21.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.