Сходимость метода пропорциональна числу узлов сетки.



Практическая задача[править]

Поставленная задача решалась с помощью программы, написанной на C#. Количество итераций — 1500. Из-за ограничений в вычислительных мощностях у меня дома мне не удалось просчитать весь график целиком, но лишь часть его — один сектор. Графики строились с помощью gnuplot.

Картинка раз;

Картинка два;

Вывод[править]

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

Метод сеток решения уравнений параболического типа

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

. (1.1)

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

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

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

Рассмотрим неоднородное уравнение теплопроводности, являющееся частным случаем уравнений параболического типа:

, (1.2)

– известная функция.

Будем искать решение этого уравнения в области

Заметим, что эту полуполосу всегда можно привести к полуполосе, когда . Уравнение (1.2) будем решать с начальными условиями:

, (1.3)

– известная функция, и краевыми условиями:

 

(1.4)

где – известные функции переменной .

Для решения задачи область покроем сеткой .

Узлы сетки, лежащие на прямых , и будут граничными. Все остальные узлы будут внутренними. Для каждого внутреннего узла дифференциальное уравнения (1.2) заменим разностным. При этом для производной воспользуемся следующей формулой:

.

Для производной запишем следующие формулы:

,

 

,

.

Можем получить три вида разностных уравнений:

, (1.5)

, (1.6)

, (1.7)

.

Разностные уравнения (1.5) аппроксимируют уравнение (1.2) с погрешностью , уравнение (1.6) – с такой же погрешностью, а уравнение (1.7) уже аппроксимирует уравнение (1.2) с погрешностью .

В разностной схеме (1.5) задействованы 4 узла. Конфигурация схемы (1.5) имеет вид:

 

В схеме (1.6) также участвуют 4 узла, и эта схема имеет вид:

В схеме (1.7) участвуют 5 узлов, и эта схема имеет вид:

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

Для узлов начального (нулевого) слоя значения решения выписываются с помощью начального условия (1.3):

(1.8)

Для граничных узлов, лежащих на прямых и , заменив производные по формулам численного дифференцирования, получаем из граничных условий (1.4) следующие уравнения:

 

(1.9)

Уравнения (1.9) аппроксимируют граничные условия (1.4) с погрешностью , так как используем односторонние формулы численного дифференцирования. Погрешность аппроксимации можно понизить, если использовать более точные односторонние (с тремя узлами) формулы численного дифференцирования.

Присоединяя к системе разностных уравнений, записанных для внутренних узлов, начальные и граничные условия (1.8) и (1.9) для разностной задачи получим полные разностные схемы трех видов. Для проведения вычислений самой простой схемой оказывается первая: достаточно на основании начального условия найти значения функции в узлах слоя , чтобы в дальнейшем последовательно определять значения решения в узлах слоев и т.д.

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

С точки зрения точечной аппроксимации третья схема самая точная.

Введем в рассмотрение параметр . Тогда наши разностные схемы можно переписать, вводя указанный параметр. При этом самый простой их вид будет при .

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

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

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

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

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

45)))))).......... Решение гиперболических уравнений[править | править вики-текст]

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

Для аналитического решения уравнений в бесконечной области используют формулу Кирхгофа, которая в одномерном случае представляется в виде формулы Д’Аламбера, а в двухмерном в виде формулы Пуассона — Парсеваля.

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

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


Дата добавления: 2018-02-18; просмотров: 146; ЗАКАЗАТЬ РАБОТУ