- Использование возможностей математического пакета MATHCAD для численного решения дифференциальных уравнений в частных производных
- ГОУ ВПО «Нижнетагильская государственная социально-педагогическая академия»
- г. Нижний Тагил
- Решение задачи Дирихле для уравнения Лапласа методом сеток
- Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа
- 🎦 Видео
Видео:Задача Дирихле для круга. Уравнение ЛапласаСкачать
Использование возможностей математического пакета MATHCAD для численного решения дифференциальных уравнений в частных производных
Видео:Задача Дирихле для уравнения Лапласа в кольце и сектореСкачать
ГОУ ВПО «Нижнетагильская государственная социально-педагогическая академия»
Видео:6-2. Метод сетокСкачать
г. Нижний Тагил
Часто при моделировании физических процессов и явлений получаются уравнения, которые содержат функции нескольких переменных и частные производные от этих функций. Такие уравнения называются уравнениями с частными производными (или уравнения в частных производных). Поскольку источником уравнений в частных производных является моделирование физических процессов, раздел математики, связанный с изучением свойств их возможных решений называется математической физикой. Уравнениями в частных производных описывается множество разнообразных физических явлений. С их помощью можно моделировать самые сложные явления и процессы: диффузия, гидродинамика, квантовая механика, экология и т. д. Наиболее существенное значение с точки зрения приложений в физике и технике имеют уравнения первого и второго порядка. Решение простейших задач для уравнений с частными производными в ряде случаев может быть проведено аналитическими методами. Однако в подавляющем большинстве случаев, при решении научно-технических задач, получаемые уравнения не могут быть решены аналитически. Для их решения используют приближенные, в частности, численные методы. Реализация численных методов требует выполнения огромного количества элементарных операций, что под силу только современным компьютерам, обладающим большим объемом памяти и высокой скоростью вычислений.
В случае двух независимых переменных x и y дифференциальное уравнение второго порядка с частными производными можно записать в виде:
, (1)
где F – заданная функция, – искомая функция.
Мы будем рассматривать линейные уравнения первого и второго порядков с постоянными коэффициентами. Такие уравнения имеют вид:
. (2)
В общем же случае коэффициенты a, b, c, d, e, f также как и правая часть g, могут зависеть от переменных x, y и искомой функции u.
В зависимости от знака выражения оно может принадлежать к одному из трех типов: гиперболическому (), параболическому () или эллиптическому ().
Если решение ищется на ограниченной области изменения независимых переменных, то задаются условия на границах области, называемые граничными (краевыми) условия. Соответствующие задачи называются краевыми задачами для уравнений с частными производными.
Если одной из независимых переменных является время t, то задаются некоторые условия (например, значения искомой функции) в начальный момент времени , называемые начальными условиями. Задача, которая состоит в решении уравнения при заданных начальных условиях, называется задачей Коши для уравнения с частными производными.
Задачи, при формулировке которых ставятся одновременно начальные и граничные условия называются нестационарными (смешанными) краевыми задачами. Получающиеся при этом решения меняются с течением времени.
Наиболее распространенными и универсальными среди численных методов являются разностные (сеточные) методы. Исходное дифференциальное уравнение заменяется системой алгебраических уравнений, называемой разностной схемой. Решая эту систему можно найти в узлах сетки значения сеточной функции, которые приближенно считаются равными значениям искомой функции.
Если правая часть равная нулю , то уравнение (2) называется уравнением Лапласа. Далее для простоты будем рассматривать двумерное уравнение Лапласа
. (3)
Решение этого уравнения будем искать на ограниченной области G изменения независимых переменных x и y. Границей области является замкнутая линия L. В простейшем случае область может иметь прямоугольную форму. Для полной формулировки краевой задачи кроме самого уравнения (4) нужно задать граничное условие на границе L. Запишем его в следующем виде
. (4)
Задача, состоящая в решении уравнения Лапласа при заданных значения искомой функции на границе расчетной области, называется задачей Дирихле.
Рассмотрим алгоритм решения задачи Дирихле для уравнения Лапласа, с использованием возможностей математического пакета Mathcad.
Задание: Используя метод сеток, составить функцию, реализующую решение задачи Дирихле для уравнения Лапласа (или уравнения эллиптического типа), удовлетворяющее на эллипсе Г, заданном уравнением , условию с шагом h=1. Уточнение решения производить до сотых долей с помощью процесса Либмана.
1) Используя симметрию заданных начальных условий, будем искать значение функции U=U(x, y) только в I четверти:
Для того, чтобы построить область G, ограниченную контуром Г, составим таблицу значений y от x.
Построим часть этого эллипса в I четверти (см. рис. 1):
Рис. 1. График функции y(x)
Рис. 2. Визуализация узлов координатной сетки
2) Строим сетку с шагом h = 1. Точки, отмеченные белыми кружками (см. рис. 2) — внутренние. Граничные узлы I рода на рисунке обозначены черными кружками и буквами Ah, Bh, Ch, Dh, Eh, Fh, Gh, Hh — все эти точки (граничные и внутренние) расчетные. ГУ II рода в данном случае нет.
3) Ищем значения функции на границе, т. е. в точках Ah, Bh, Ch, Dh, Eh, Fh, Gh, Hh, где граничная функция задана нам в начальных условиях.
значение искомой функции в граничной точке Ah
значение искомой функции в граничной точке Bh
значение искомой функции в граничной точке Ch
значение искомой функции в граничной точке Dh
значение искомой функции в граничной точке Eh
значение искомой функции в граничной точке Fh
значение искомой функции в граничной точке Gh
значение искомой функции в граничной точке Hh
4) Теперь определим начальные значения функции U(x, y) во внутренних точках. Для этого заменим уравнение Лапласа в каждой такой точке конечно-разностными уравнениями; замену проведем согласно формуле:
.
5) Из пятнадцати уравнений, представленных выше, составим систему и найдем первое приближение к решению. Приближения будем искать до тех пор, пока не будет достигнута заданная точность.
Найденные значения функции U(x, y) есть грубое приближение решения уравнения Лапласа –шаблон №1.
6) Уточняем значения решения в граничных точках, используя для этого формулу линейной интерполяции (шаблон №2).
для точки А
для точки B
для точки C
для точки D
для точки E
для точки F
для точки G
Т. к. точки H и Hh совпадают, то , значит, U(Hh) = U(H) = 2 (так же как и в случае с Ah и A).
Заметим, что все граничные точки не принадлежат области G, поэтому согласно теории, во всех случаях , кроме частных случаев с точками A и H
7) Аналогично строим шаблоны №3, 4, 5 и т. д., пока последовательные два шаблона не совпадут с заданной точностью. Для этого составим ряд функций, реализующих построение шаблонов (см. рис. 3), и позволяющих достигать заданную точность (см. рис. 4).
Рис. 3. функция, возвращающая шаблон, вычисленный на определенном шаге
Рис. 4. Функция, возвращающая решение задачи или шаг, на котором получено это решение
Решая задачу, замечаем, что шаблоны №3 и №4 совпадают до сотых долей, поэтому итерационный процесс заканчивается.
Значения в шаблоне №4 – являются численными решениями задачи Дирихле для уравнения Лапласа. Уменьшая значение погрешности, можно найти достаточно точное решение поставленной задачи, сделав большее количество расчетных шагов.
Таким образом, использование математических пакетов (например, Mathcad) позволяет оптимизировать процесс нахождения решения физической задачи, а использование программного режима работы закрепляет знания программирования.
1. , Данилова по вычислительной математике. М.: Высшая школа, 1990.
2. , Беленкова методы на базе Mathcad. СПб.: БХВ-Петербург, 2005.
Видео:Уравнения математической физики 15+16 Задача Дирихле для уравнения Лапласа - Пуассона в кругеСкачать
Решение задачи Дирихле для уравнения Лапласа методом сеток
1. Краткая теория
уравнение функция лаплас программа
В настоящей лабораторной работе методом сеток требуется решить задачу Дирихле для уравнения Лапласа. Эта задача ставится следующим образом.
Найти непрерывную функцию и (х, у), удовлетворяющую внутри прямоугольной области уравнению Лапласа
и принимающую на границе области заданные значения, т. е.
Будем считать, что и(х, у) непрерывна на границе области , т. е. , , , . Выбрав шаги h, l по x и y соответственно, строим сетку , , , , где , .
Вводя обозначения , аппроксимируем частные производные и в каждом внутреннем узле сетки центральными разностными производными второго порядка
и заменим уравнение Лапласа конечно-разностным уравнением
Погрешность замены дифференциального уравнения разностным составляет величину .
Уравнения (1) вместе со значениями в граничных узлах образуют систему линейных алгебраических уравнений относительно приближенных значений функции и (х, у) в узлах сетки . Наиболее простой вид имеет эта система при :
При получении сеточных уравнений (2) была использована схема узлов, изображенная на рис. 1. Набор узлов, используемых для аппроксимации уравнения в точке, называется шаблоном. В данной работе используется шаблон типа «крест».
Численное решение задачи Дирихле для уравнения Лапласа в прямоугольнике состоит в нахождении приближенных значений искомой функции и(х, у) во внутренних узлах сетки. Для определения величин требуется решить систему линейных алгебраических уравнений (2).
В данной лабораторной работе она решается методом Гаусса—Зейделя, который состоит в построении последовательности итераций вида
(верхним индексом s обозначен номер итерации). При последовательность сходится к точному решению системы (2). В качестве условия окончания итерационного процесса можно принять
Таким образом, погрешность приближенного решения, полученного методом сеток, складывается из двух погрешностей: погрешности аппроксимации дифференциального уравнения разностными; погрешности, возникающей в результате приближенного решения системы разностных уравнений (2).
Известно, что описанная здесь разностная схема обладает свойством устойчивости и сходимости. Устойчивость схемы означает, что малые изменения в начальных данных приводят к малым изменениям решения разностной задачи. Только такие схемы имеет смысл применять в реальных вычислениях. Сходимость схемы означает, что при стремлении шага сетки к нулю () решение разностной задачи стремится в некотором смысле к решению исходной задачи. Таким образом, выбрав достаточно малый шаг h, можно как угодно точно решить исходную задачу.
Видео:6.2 Решение задач для уравнения Лапласа в круге, вне круга и в кольцеСкачать
Основные понятия метода сеток. Задача Дирихле для уравнения Лапласа
Метод сеток (или метод конечных разностей) сводит решение систем уравнений в частных производных к решению систем линейных, как правило, алгебраических уравнений с достаточно разреженными матрицами. При этом построение решения в методе сеток осуществляется в три этапа.
- • Область непрерывного изменения аргумента (или аргументов) заменяется конечным дискретным множеством точек, называемых разностной сеткой. В разностной сетке выделяются внутренние и граничные узлы. Решение ищется во внутренних узлах, а в граничных узлах значение искомой функции задается при аппроксимации граничных условий исходной дифференциальной задачи. Функция дискретного аргумента, определенная на разностной сетке, называется СЕТОЧНОЙ ФУНКЦИЕЙ.
- • Дифференциальное уравнение и граничные условия заменяются по определенным правилам своими разностными аналогами. Разностные операторы, соответствующие дифференциальному уравнению, записываются во внутренних узлах сетки. Разностные операторы, соответствующие граничным условиям, записываются в граничных узлах. В результате получается система алгебраических уравнений, число которых пропорционально числу внутренних узлов разностной сетки.
- • Осуществляется решение системы алгебраических уравнений каким-либо из известных методов. В большинстве случаев получаемая система уравнений есть система линейных алгебраических уравнений достаточно большого порядка, но с весьма разреженной матрицей. В случае нелинейных систем итерационные процедуры, как правило, сводят их к линейным системам.
Основные понятия и этапы метода сеток продемонстрируем на примере решения задачи Дирихле для классического уравнения эллиптического типа — уравнения Лапласа. Итак, имеем уравнение Лапласа
и граничное условие
где Г — граница области G (рис. 4.4), в которой ищется решение и(х, у), удовлетворяющее уравнению (4.7) и граничному условию (4.8).
На первом этапе метода сеток область G непрерывного изменения аргумента с границей Г заменяют приближающей ее сеточной областью Gh с границей Г’А. Для этого проведем линии
при п = 0, . N. Величины hx и h , называемые шагами разностной сетки, в общем случае могут быть различными.
Рис. 4.4 Рис. 4.5
Точки пересечения линий х = const и у = const называют УЗЛАМИ РАЗНОСТНОЙ СЕТКИ. Различают два типа узлов — ВНУТРЕННИЕ и ВНЕШНИЕ. Внутренними называют такие узлы, для которых четыре соседних узла (по два в каждом направлении) принадлежат области G = G + Г. Сеточной функции приписываются нижние индексы. На рис. 4.4 внутренние узлы обозначены пустыми кружочками, а граничные — залитыми.
На втором этапе заменим дифференциальный оператор Лапласа разностным оператором. С этой целью выберем шаблон разностной схемы — набор (конфигурацию) узлов, с использованием которых производится замена производных конечными разностями. Шаблон, содержащий р точек, называется р-точечным. Для аппроксимации вторых производных, входящих в оператор Лапласа, применим пятиточечный шаблон, показанный на рис. 4.5. Не теряя общности рассуждений, рассмотрим далее случай, когда шаги разностной сетки по направлению х иу одинаковы, т. е. hx — hy = h. С использованием разложения функции на точном решении в ряд Тейлора в окрестности точки (*, у) имеем
Из этих соотношений получим аппроксимации вторых производных со вторым порядком точности
Введем для сокращения записи общепринятые индексные обозначения узлов в соответствии с рис. 4.5 и соответствующие обозначения сеточных функций в узлах: ит ит. „ и т. д. Тогда соотношения для производных примут вид
При этом разностный оператор Лапласа Дuh на пятиточечном шаблоне может быть выписан как
Аппроксимация граничных условий осуществляется с помощью различных приемов. Для случая прямоугольной области с границами, совпадающими с линиями х — const и у — const, граничные значения известны в узлах точно, так как и0 h = = uQ(mhx, nhy). Для области произвольной формы значения сеточной функции в граничных узлах принимаются равными значениям функции и0 в ближайших (по какому-либо критерию) точках кривой Г (рис. 4.4). Для задачи Неймана или смешанной задачи, когда на границе области задается значение производной функции и, производится аппроксимация производной.
Записав разностный оператор (4.11) во всех внутренних узлах, получим систему сеточных уравнений для нахождения значений сеточной функции ит п в узлах разностной сетки.
На третьем этапе осуществляется решение системы сеточных уравнений. В общем случае сеточные уравнения могут быть нелинейными. Однако в рассматриваемой задаче, в силу линейности основного дифференциального уравнения Лапласа, система уравнений (4.11) является системой линейных алгебраических уравнений для нахождения значений неизвестных во внутренних узлах. При этом число уравнений системы точно равно числу внутренних узлов разностной сетки. Отметим, что число уравнений может быть весьма велико. Так, для нахождения достаточно точного решения рассматриваемой задачи требуется задать числа N = М порядка 50—100, и, следовательно, количество уравнений достигает нескольких сотен или даже тысяч.
Перепишем систему сеточных решений в виде
Отметим, что каждое из уравнений системы содержит лишь пять неизвестных ит , . „, и„ , „ . ,, ит „ ., и„ хотя в полной
системе таких неизвестных содержится порядка N 2 . Таким обра- зом, матрица системы (4.12) является сильно разреженной. Системы с такими матрицами хорошо решаются с помощью итерационных методов: простой итерации, Зейделя, релаксационных. Рассмотрим их применение к решению системы (4.12).
Запишем систему (4.12) в виде
Значение функции в центральной точке есть среднее арифметическое значений функции в четырех соседних по направлениям х и у узлах. Уравнение (4.13) можно интерпретировать как разностный аналог теоремы о среднем для гармонических функций.
Рассмотрим применение метода простой итерации для решения системы (4.13). Для простоты предположим, что область G имеет прямоугольную форму (рис. 4.6). Построим итерационный процесс
Здесь верхний индекс означает номер итерации. В граничных точках значения известны точно. Для нахождения решения по соотношению (4.14) необходимо знать начальное приближение — значения функции на нулевой итерации ц ( ®* п. Можно доказать, что для любого шага разностной сетки итерационный процесс (4.14) сходится независимо от начального приближения и п. На практике желательно выбирать начальное приближение возможно более близким к точному решению. Например, на основании теоремы о среднем для гармонических функций в качестве хорошего начального приближения можно принять значение функции, полученное интерполяцией на область G значений
функции в граничных узлах. Так, значение функции и (0) в центральной точке 1 (рис. 4.6) может быть взято как среднее арифметическое значений функции в граничных узлах a, b, с, d.
Сходимость итерационного процесса можно улучшить, если использовать итерационный процесс Зейделя в виде, например,
Члены с индексами (т — 1, п) и (т, п — 1) берутся из k-й итерации, т. е. в вычислениях используются уточненные значения функции в этих точках. Как легко понять из рис. 4.6, расчет по формуле (4.15) при движении, например, слева направо от границы области позволяет последовательно вычислить значения функции на слоях у = const (или х = const). Использование уточненных значений функции улучшает сходимость метода итераций и позволяет уменьшить требуемый для реализации метода объем оперативной памяти компьютера, так как в методе Зейделя не требуется одновременно хранить значение функции в каждой точке на двух итерациях. Итерации заканчиваются при выполнении условия max |u^ — ” **1 1 итерационный метод называется методом ВЕРХНЕЙ РЕЛАКСАЦИИ, при со = 1 — методом ПОЛНОЙ РЕЛАКСАЦИИ и при со 2 ]пе-‘
Метод итераций Зейделя
Метод верхней релаксации
Видно, что в методе верхней релаксации число итераций для достижения заданной точности линейно зависит от числа узлов N, тогда как в остальных методах зависимость квадратичная.
🎦 Видео
7 Краевые задачи MathcadСкачать
Метод Лапласа решения ДУСкачать
Уравнение Лапласа. Задача Дирихле для уравнения Лапласа внутри и вне кругаСкачать
Краевая задача для уравнений Лапласа и Пуассона на R^2Скачать
Задача Дирихле и НейманаСкачать
7.1 Решение уравнения Лапласа в прямоугольникеСкачать
4 Метод простой итерации Mathcad Решение системы линейных уравнений СЛАУСкачать
Пример решения уравнения в MathCAD 14 (33/34)Скачать
13. Операционное исчисление. Решить неоднородное ДУ 2 порядкаСкачать
Mathcad-10. Пример: дифференциальные уравненияСкачать
Операционный метод для задачи КошиСкачать
Численное решение задачи Коши методом ЭйлераСкачать
Решение уравнения Лапласа в шареСкачать