Запис рівняння Пуассона з кінцевою різницею матрицею з граничними умовами Неймана


15

Мені цікаво вирішити рівняння Пуассона за допомогою підходу з кінцевою різницею. Я хотів би краще зрозуміти, як написати матричне рівняння з граничними умовами Неймана. Хтось перегляне наступне, чи правильно?

Матриця з кінцевою різницею

Рівняння Пуассона,

2у(х)х2=г(х)

можна наблизити за допомогою матричного рівняння з кінцевою різницею,

1(Δx)2Mu^=d^

де - матриця а та - (стовпець) векторів, п × п у d 1 × NMn×нu^d^1×н

Кінцево-різницька матриця рівняння Пуассона

Додавання граничної умови Неймана

Гранична умова Неймана примушує потік знань на межі (тут ми застосовуємо його в лівій частині, де межа знаходиться при ),x=0

у(х=0)х=σ
записує цю граничну умову як центральну кінцеву різницю,

Помилка рівняння. NB. Я спочатку помилився тут, підписав помилку і не ділив на 2. Наступне було виправлено.

у2-у02Δх=σ

Зверніть увагу на введення точки сітки поза вихідним доменом ( ). Цей термін можна усунути, ввівши друге рівняння, u 0 - 2 u 1 + u 2у0

у0-2у1+у2(Δх)2=г1

Рівняння має більшу інформацію через введення нової точки сітки. Це дозволяє нам записати подвійну похідну як границю з точки зору використовуючи центральну кінцеву різницю.u 0у1у0

Частина, в якій я не впевнений

Об'єднавши ці два рівняння можна усунути. Щоб показати робочий, давайте спочатку заздалегідь влаштуємо невідоме,у0

u0=2σΔx+u2u0=(Δx)2d1+2u1u2

Далі вони встановлюються рівними і переставляються у форму,

u2u1(Δx)2=d12+σΔx

Я вибрав цю форму, тому що вона є такою ж формою, як матричне рівняння вище. Зауважте, що терміни діляться на і тут, і в початковому рівнянні. Це правильний підхід?( Δ x ) 2u(Δx)2

Нарешті, використовуючи це рівняння як перший рядок матриці,

Рівняння Пуассона з крайовою умовою Неймана з лівої сторони (виправлено)

Кінцеві думки,

  1. Чи правильна ця заключна матриця?
  2. Чи міг би я скористатися кращим підходом?
  3. Чи існує стандартний спосіб написання цієї матриці?

2
У вашому обчисленні є дві помилки: кінцева різниця по центру має бути поділена на . По-друге, також помиляється, оскільки мінус повинен бути плюсом. 2Δху0=-σΔх+у2
vanCompute


1
Ці питання також добре пояснені в sciencepython.net/1/post/2013/01/…
Євгеній Сергєєв,

Ви можете побачити цей scicomp.stackexchange.com/questions/14306/…
usumdelphini

Відповіді:



1

у0

Відступіться і подумайте про проблему на секунду. Вказуючи рівняння Лапласа, принципово сказано, що кожна точка є середнім значенням її сусідів. Зазвичай це візуалізується як гумовий лист, і допомагає мені думати про ці речі. (Пуассон схожий з більш / менш еластичними точками)

Коли ви визначаєте значення поверхні розчину в самих крайніх краях, ви "забиваєте" лист в просторі в цих точках. Коли ви визначаєте аркуш по його похідній на краях, існує будь-яка кількість рішень, які виконують рівняння, яке переводить аркуш у простір, зберігаючи однакову фактичну форму і, отже, похідні.

у0=0


1
Отже, як правило, рівняння Пуассона вирішується принаймні однією граничною умовою Діріхле, щоб було знайдено унікальне рішення? Я думаю, має сенс, що граничні умови Неймана мають сенс лише тоді, коли включені джерело і раковини, інакше існує нескінченна кількість рішень. Однак якщо я замість цього візьму рівняння дифузії, для правильної фізики потрібні граничні умови Неймана (наприклад, відсутність потоку величини через межу, коли du ​​/ dx = 0). Це мене справді цікавить. Чи є вищевказаний метод правильним підходом до застосування BC Neumann?
boyfarrell

1
Не можна застосовувати BC Neumann з усіх боків вашої паперової сторони. Якщо ви це зробите, у вас не буде унікального рішення. Його потрібно приколоти хоча б на одну сторону.
vanCompute

@meawoppl: Як можна вказати фіксовану точку, роблячи також вирішення прямої матриці?
jvriesem

Зазвичай просто присвоєння точки константі шляхом встановлення лише одного члена підряд 1, решта нуля та значення на РЧС, що відповідає площині рішення, яку ви хочете бачити.
meawoppl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.