МУ к лабораторным работам (1238837), страница 23
Текст из файла (страница 23)
Теоретические основы МРП изложены в [1, гл. 13]. Рассмотрим основные конструкции МРП и сформулируем задания,которые можно выполнить на компьютере самостоятельно, обращаясь к заготовленным в этой работе подпрограммам.Для определенности и краткости изложим вариант МРП,ориентированный на вычисление решения внутренней задачи:u xx u yy u 0,( x, y ) D ,u (), = D + ,где D — ограниченная область с гладкой границей , заданнойпараметрически:x() ( ) cos ,y () ( ) sin ;(, ) — полярные координаты, () — заданная функция, а па-раметр уравнения 0 — заданное число.Рассмотрим также вариант МРП для вычисления решенияследующей задачи (будем называть ее внешней):u xx u yy u 0,( x, y ) D ,u (),u D 0 0,определенной в области D D0 \ D , где D 0 — квадрат, содержащий область D строго внутри.172При больших размерах этого квадрата последняя задача аппроксимирует внешнюю задачу:u xx u yy u 0,( x, y ) D ,u (),u ( x, y ) 0 при x 2 y 2 .13.2.
Форма области и сеткаВ этой работе для определенности используется область D ,ограниченная кривой вида() 0,8 0,2 cos k,где k — параметр границы. Приk = 0 кривая является единичнойокружностью.КвадратD 0 { L x, y L},где L — размер квадрата, содержит область D строго внутри, аобласть D определяется как разность:D D0 \ D .13.3. Сеточные множестваПятиточечный шаблон N m с центром в точке m (m1h, m 2 h)представляет совокупность пяти точек квадрат*ной сетки: ((m1 1)h, m2 h ), (m1h, ( m2 1)h )и (m1h, m 2 h).
Введем****M 0 {m : ( m1h, m2 h) D 0 }— множество точек квадратной сетки, которые попали внутрьквадрата D 0 . Разобьем его на два подмножества:M {m : ( m1h, m 2 h) D }173— подмножество точек, попавших внутрь области D , иM M 0 \ M — подмножество точек, попавших внутрь области D и на кривую .ooooooooooooooooooooooN0 Nm , m M0oooooo— множество точек квадратнойсетки, которые заметаются пятиточечным шаблоном N m припробегании его центра по множеству M 0 .Множества N и N строятся аналогично множеству N 0 :N N m , m M ;ooooooooooooooooN N m , m M.Сеточная граница определяется как пересечение N N и распадается на два отдельныхслоя: M — внутреннийслой и M — внешнийслой.13.4.
Разностная вспомогательная задачаРазностная вспомогательная задача (РВЗ) имеет вид:a mn u n f m ,m M0 ,nN mu n 0,n N 0\ M 0 ,коэффициенты суммирования 4 , n m,2a mn h1,n m. h 2174Эта задача имеет единственное решение при произвольном задании правой части f m , m M 0 . Решение вычисляется методомразделения переменных.13.5. Разностный потенциалРазностный потенциал u N PN v (u N PN v ) с плотностью v есть сеточная функция, определенная на множествеN ( N ) и равная решению РВЗ с правой частью f m ( f m )следующего вида:mM ,0,f m amn v n , m M , nNm a mn v n ,f m nN m0,mM ,m M , v , n ,где v n 0, n .Если сеточная функция v N (v N ) является решениемоднородного разностного уравнения amn v n 0,m M ( M ),nN mто разностный потенциал u N (u N ) c плотностьюv v N (v N ) равен функции v N (v N ).13.6.
Граничный проекторГраничный проектор P ( P ) сопоставляет сеточной функции v некоторую другую функцию u Pv ( Pv ), совпадающую соследом разностного потенциала u N (u N ) с плотностью v .Основные свойства граничного проектора:( P ) 2 Pи( P ) 2 P .175Сеточную функцию v можно доопределить на всем множестве N ( N ) до решения однородного разностного уравненияm M (M ) amn v n 0,nN m(удовлетворяющего условию v N 0 \ M 0 0 ) в том и только томслучае, когда Pv v ( Pv v ).13.7.
Решение краевой задачи u yy 0Ограничимся решением уравнения Лапласа u u xxвнутри или вне единичной окружности. В методических целяхкраевые условия будем задавать такие, для которых решение заранее известно и оно совпадает с одной из следующих гармонических функций (последние две гармоничны вне точки (0, 0)):u (1) x,u ( 2) x 2 y 2 ,u (3) x 3 3 xy 2 ,u ( 4) u ( 5) yx2 y2,xy(x 2 y 2 ) 2.В зависимости от выбора в меню «Данные» точного решения u ( x, y ) будем решать внутреннюю или внешнюю задачу.Решение разностной задачи представим в виде разностного потенциала с некоторой неизвестной плотностью. В идеале желательно найти такую плотность, которая совпадала бы со следомточного решения v u ( x, y ) .
Такое задание плотности в работе предусмотрено и реализуется выбором в меню «Данные»пункта «Сеточная плотность». Если же выбран пункт «Данные176Коши», то известной считается вектор-функцияu ((), ()),u u ,nгде() u ( x (), y ()), u y ( x (), y ()) x , ( ) u x ( x (), y ( )) yа плотность находится с помощью оператора вычисления плотности по формуле:v u .И, наконец, когда выбран пункт меню «Данные Дирихле»,нам известна функция u (), нужно вычислить решение задачи Дирихле. Для этого применим алгоритм МРП вычислениянормальной производнойun (),а затем вычислим плотность v u .
( x , y 0 )13.8. Оператор вычисления плотностиОператор по известным данным Коши функции u ( x, y )u ((), ())u u ,nвычисляетзначениеv u .плотностиРис. 111. Чтобы посчитать значение плотности в точке (x, y), нужно на кривой выбрать точку ( x 0 , y ) или ( x, y 0 ), из которой будет перено-ситься значение (см.
рис. 11).1772. В выбранной точке записывается система пяти линейных уравнений относительно неизвестных значений ux , uy , а и u yy :также u xx u yy 0,u xx u x x u y y ,, () u x y u y x uxx x 2 2u xy x y uyy y 2 ux x u y y , u yy ) x y u xy ( x 2 y 2 ) u x y u y x , (u xx ииз которой находится значение производных ux , uy , u xx в этой точке.u yy3.
Значение плотности вычисляется по одной из формулразложения в ряд Тейлора:v ( x , y ) u ( x0 , y ) ( x x 0 ) u x ( x 0 , y ) 12( x x 0 )2 u xx ( x0 , y ),1v ( x, y ) u ( x, y 0 ) ( y y 0 ) u y ( x, y 0 ) ( y y 0 ) 2 u yy ( x, y 0 ).213.9. Вычисление нормальной производнойПри решении внутренней задачи для вычисления нормальнойuпроизводнойn () используем равенство Pv 0, которому должна удовлетворять плотность v ( (), ()).1. На кривой зададим N опорных узлов в точкахk 2Nk,(1 k N,6 N 60).Представим функцию () через значения в узлах k ( k ),используя кусочно-кубическую интерполяциюN () k k ().k 11782. Преобразуем равенство Pv 0, в левую часть которогонеявно входят k , в систему линейных уравнений:N ak k f ,k 1где ak P (0, k ()), f P ((), 0).3.
Число уравнений этой системы, равное количеству точексеточной границы, вообще говоря, превышает число неизвестных, которое равно количеству опорных узлов. Поэтому решение системы будем понимать в смысле метода наименьшихквадратов, т. е. как набор чисел k , придающих наименьшеезначение сумме2 Nk an k f n .n k 113.10.
Кусочно-кубическая интерполяцияЗначение функции () интерполируется кубическим многочленом по значениям k в четырех ближайших к точках:N () k k (),k 1гдеk () k () k () k () ( k 3 )( k 2 )( k 1 ), k 2 k 1 ,, k 1 k ,, k k 1 ,, k 1 k 2 ,( k k 3 )( k k 2 )( k k 1 )( k 2 )( k 1 )( k 1 )( k k 2 )( k k 1 )( k k 1 )( k 1 )( k 1 )( k 2 )( k k 1 )( k k 1 )( k k 2 )( k 1 )( k 2 )( k 3 )( k k 1 )( k k 2 )( k k 3 )k () 0, если k 2 или k +2 .17913.11.
Порядок выполнения работы1. «Сеточные множества». Изменяя значения параметров h, Lи k, а также задавая в меню «Данные» различные сеточные множества, четко уясните, каким образом строятся эти множества.2.«Разностные потенциалы»2.1. Задайте в меню «Данные» функцию f ( x, y ) которая определит сеточную плотность v n f (n1h, n2 h), n.Вычислите с помощью меню «Вычисления» разностные потенциалыиu N PN v u N PN v с этой плотностью и просуммируйте их. Обратите внимание нато, что на сеточной границе выполняется равенствоu N u N v .Случайно ли это? Докажите, что это всегда так.2.2.
Выберите в меню «Данные/След потенциала u N », т. е. результат действия граничного проектора P на плотность v .Тем смым задается другая сеточная плотность w Pv . Вычислите разностные потенциалы с этой плотностью:u N PN wиu N PN wи объясните, почему выполняются равенстваu N wиu N 0.2.3. Теперь вернитесь к старой плотности v , выбрав в меню«Данные» пункт « f ( x, y ) » и вычислите разностный потенциал u N с этой плотностью u N PN v .Выберите в меню «Данные/След потенциала u N », задавтем самым новую сеточную плотность w Pv .
Вычислитеразностные потенциалы с этой плотностьюu N PN w180иu N PN wи объясните, почему теперь u N w , а u N 0.2.4. Все это можно проделать с различными значениями параметра границы k и параметра уравнения , изменяя их в меню«Параметры». Как влияет на потенциалы u N и u N увеличение параметра ?3. «Краевая задача»3.1. Выберите в меню «Данные/Сеточная плотность» и посчитайте для всех функций u ( j ) ( x, y ) разностные потенциалы.В окне «Информация» будет выводиться значение ( j )максимума модуля отклонения потенциала от точного решенияв процентах.Покажите, что независимо от параметров сетки h и L, значения (1) ( 2) (3) 0.