ЛАБОРАТОРНАЯ РАБОТА 2№ 6 ЧИСЛЕННОЕ РЕШЕНИЕ УРАВНЕНИЯ ПУАССОНА Цель работы: изучение методов решения уравнения Пуассона и получение соответствующих навыков выполнения вычислений. Постановка физической задачи. Рассмотрим стационарные процессы, связанные с изгибом пластин, мембран, с кручением стержней, с распределением тепла в пластинах. Такую задачу физически можно интерпретировать, например, так: задана труба квадратного сечения, на свободном конце которой натянута эластичная пленка. Внутри трубы поддерживается постоянное небольшое избыточное давление, под действием которого пленка изгибается, выпучиваясь из трубы. Если же внутри трубы поддерживать небольшой вакуум, то пленка будет втягиваться в трубу. Задача 6.1 Вычислить изменение потенциала U(x,y) если известно, что на прямоугольной области 0 < x < 1; 0 < y < 1 объёмная плотность заряда постоянная и составляет 0.1 Кл/м3. 2. Математическая модель. Выше описанные задачи описываются уравнением Пуассона (6.1) решение которого u(у,х) должно быть воспроизведено для области значений х, у, представляющий собой квадрат -l < х < l, -l < у < l при следующих граничных условиях u(l, х) = u(l, х) = 0, u(у, -l) = u(у, l) = 0, = const. Физические задачи, связанные с распределением потенциалов (или электрических напряжений) на проводящей плоскости при задании потенциала на границе также сводится к уравнению Пуассона. 3. Дискретная модель. Для конструирования дискретной модели аппроксимирующее уравнение Пуассона, построим разностную сетку. Для простоты будем считать, что поперечное сечение трубы имеет вид прямоугольника с шириной А и высотой В. Разделим ширину прямоугольника А на n интервалов, каждый размером h = А/n, высоту прямоугольника на m частей размерами k = В/m. Внутри области получаются (n-1)(m-1) пересечений (углов) сетки. Нумерация по горизонтали начинаем от 0 до n, по вертикали от 0 до m. Начало координат совпадает с началом координат с точкой 0, 0 (рис.5.12). Если обозначить = k/h, то дифференциальное уравнение (6.1) можно свести к разностному уравнению вида , (6.2) здесь i = 1, 2, 3, … n -1 и j = 1, 2, 3, … m -1. В дальнейшем будем считать, что = 1, т.е. шаг интегрирования по х и у одинаков (h = k). Это означает, что значение uij является средним арифметическим из четырех соседних с ним. Алгоритм решения уравнений можно получить их уравнения (5.76). . (6.3) Корректная постановка краевой задачи для уравнения Пуассона требует задания граничных условий. В Mathcad решение ищется на плоской квадратной области, состоящей из (М+1)(М+l) точек. Поэтому граничные условия должны быть определены пользователем для всех четырех сторон упомянутого квадрата. Самый простой вариант— это нулевые граничные условия, т. е. постоянная температура по всему периметру расчетной области. В таком случае можно использовать встроенную функцию multigrid: multigrid(F, ncycle) – матрица решения уравнения Пуассона размера (М+l)х (М+l) на квадратной области с нулевыми граничными условиями: • F – матрица размера (М+1)х (М+l), задающая правую часть уравнения Пуассона; • ncycle – параметр численного алгоритма (количество циклов в пределах каждой итерации). Сторона квадрата расчетной области должна включать точно М = 2n шагов, т. е. 2n+1 узлов, где n – целое число. Параметр численного метода ncycle в большинстве случаев достаточно взять равным 2. Ниже приведён пример использования функции multigrid для расчета краевой задачи на области 64x64 точки и точечным источником заряда в месте, задаваемом координатами (30,15) внутри этой области. MathCad - документ решения задачи 6.1 В первой строке листинга задается значение M = 64, в двух следующих строках создается матрица правой части уравнения Пуассона, состоящая из всех нулевых элементов, за исключением одного, задающего расположение источника. Рис. 6.1. График поверхности решения уравнения Пуассона. В последней строке матрице Ф присваивается результат действия функции multigrid. Обратите внимание, первый ее аргумент сопровождается знаком "минус", что соответствует записи правой части уравнения Пуассона. График решения показан на рис. 6.1 в виде трехмерной поверхности. Уравнение Пуассона с произвольными граничными условиями В более сложных случаях, например, для решения краевой задачи с ненулевыми условиями на границах, следует использовать другую встроенную функцию relax, имеющуюся в Mathcad: relax (а, b, с, d, е, F, v, rjас) — матрица решения дифференциального уравнения в частных производных на квадратной области, полученного с помощью алгоритма релаксации для метода сеток: • а, b, с, d, е — квадратные матрицы коэффициентов разностной схемы, аппроксимирующей дифференциальное уравнение; • F — квадратная матрица, задающая правую часть дифференциального уравнения; • v — квадратная матрица граничных условий и начального приближения к решению; • rjас — параметр численного алгоритма (спектральный радиус итераций Якоби). Параметр численного алгоритма характеризует скорость сходимости итераций. Он должен быть числом от 0 до 1. В матрице граничных условий v необходимо задать только граничные элементы, исходя из значения краевых условий по периметру расчетной области. Прочие (внутренние) элементы этой матрицы служат для задания начального приближения к решению. Суть алгоритма релаксации сводится к тому, что в ходе итераций происходит проверка уравнений и соответствующая коррекция значений искомой функции в каждой точке. Если начальное приближение выбрано удачно, то можно надеяться, что алгоритм сойдется ("релаксирует") к правильному решению. Все матрицы, задающие как коэффициенты разностной схемы а, b, с, d, е, граничные условия v, так и само решение F, должны иметь одинаковый размер (М+1) х (М+1), соответствующий размеру расчетной области. При этом целое число М обязательно должно быть степенью двойки: М = 2n. Решение уравнения Пуассона при помощи функции relax: Первые три строки имеют тот же смысл, что и в предыдущем примере. Только вместо одного источника заряда взято их другое распределение. В следующих шести строках задаются коэффициенты разностной схемы. Для решения уравнения Пуассона коэффициенты должны быть взяты именно такими, как показано в примере. В предпоследней строке задана матрица нулевых граничных условий и нулевых начальных приближений, а в последней матрице Ф присваивается результат действия функции relax. График полученного решения в виде линий уровня показан на рис. 6.2. Рис. 6.2. Решение уравнения Пуассона с помощью функции relax Разностная схема для решения уравнения Пуассона Несмотря на отсутствие сведений в справочной системе Mathcad о решении других линейных дифференциальных уравнений в частных производных, кроме уравнения Пуассона, сделать это возможно с помощью функции relax. Для этого нужно правильным образом задать коэффициенты разностной схемы. Начнем с пояснения выбора этих коэффициентов (см. пример) для уравнения Пуассона. Согласно основным идеям метода сеток, для дискретизации обеих пространственных производных в уравнении (6.1) следует использовать по три соседних узла вдоль каждой из координат. Поэтому уравнение Пуассона (6.1) может быть записано в разностной форме при помощи шаблона типа "крест" (рис. 6.3). В этом случае, после приведения подобных слагаемых в разностных уравнениях коэффициенты разностной схемы будут такими, как показано возле узлов шаблона на этом рисунке. Теперь, если вы сравните полученные числа с константами, которые присвоены элементам матриц-аргументов функции relax (см. пример), то увидите, что они как раз и описывают вычисленные нами только что коэффициенты разностной схемы "крест". Таким образом, нетрудно сообразить, что с помощью встроенной функции relax можно решать и другие линейные дифференциальные уравнения в частных производных, которые можно аппроксимировать схемой типа "крест" или схемой, являющейся ее составной частью. Конечно, для того чтобы использовать эту встроенную функцию для другого уравнения, необходимо будет составить соответствующую разностную схему. Рис. 6.3. Шаблон аппроксимации уравнения Пуассона "крест". ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Изучить материал презентации «Решение уравнения Пуассона». 2. Смоделировать зависимость потенциала для случая нулевых граничных условий, основываясь на лекционном примере. Представить результат в виде графика «поверхность». 3. Исследовать модель изменения потенциала исходя из численного решения Пуассона: а). Выяснить путём моделирования влияние величины шага по x и t. Графически представить зависимости. Объяснить полученные результаты. б). Выяснить влияние источника и величины коэффициента ncykle на получаемое решение. Объяснить полученные результаты. 4. Смоделировать зависимость потенциала для случая ненулевых граничных условий, основываясь на лекционном примере. Представить результат в виде графика «поверхность»: а). Выяснить влияние величины коэффициента ched на получаемое решение. Объяснить полученные результаты. б). Вычислить координатную зависимость потенциала (х,y), создаваемого системой зарядов, расположенных в точках с координатами в виде символа 1) , 2) , 3) П, 4) Г, 5) L, 6) , 7) , 8) , 9) Т, 10) H, 11) , 12) E . в). Выяснить путём моделирования влияние величины шага на квадратной сетке на решение. Графически представить зависимости. Объяснить полученные результаты. Контрольные вопросы 1. Записать и пояснить уравнение Пуассона. 2. Записать и пояснить конечноразностное выражение, соответствующее уравнению Пуассона. 3. Какие функции пакета MathCad используются для решения уравнения Пуассона? Пояснить назначение аргументов этих функций. 4. Какие функции пакета MathCad используются для решения уравнений в частных производных?