Как объединить граничные условия с методом Галеркина?


21

Я читал в Интернете некоторые ресурсы о методах Галеркина для решения проблем PDE, но мне что-то неясно. Следующее - мой собственный рассказ о том, что я понял.

Рассмотрим следующую краевую задачу (BVP):

L[u(x,y)]=0on(x,y)Ω,S[u]=0on(x,y)Ω

где L - оператор линейного дифференцирования 2-го порядка, - область BVP, - граница области, а - линейный дифференциальный оператор 1-го порядка. Выражение как приближение вида:ΩR2ΩSu(x,y)

u(x,y)i=1Naigi(x,y)

где - это набор функций, которые мы будем использовать для приближения . Подставляя в БВП:giu

iaiL[gi(x,y)]=R(a1,...,aN,x,y)

Поскольку наше приближение не является точным, остаток не точно равен нулю. В методе Галеркина-Ритца-Роли мы минимизируем относительно набора аппроксимирующих функций, требуя . следовательноR R , г я= 0RRR,gi=0

R,gi=j=1NajL[gj],gi=0

Поэтому, чтобы найти коэффициенты , мы должны решить матричное уравнение:ai

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0

Мой вопрос: как мне включить граничные условия в это?

РЕДАКТИРОВАТЬ: Первоначально вопрос сказал, что был линейный дифференциальный оператор 2-го порядка. Я изменил его на линейный дифференциальный оператор 1-го порядка.S[u]


1
Беко, добро пожаловать scicomp! Наша политика в отношении кросс-постинга соответствует политике других сайтов Stack Exchange . Разрешается кросс-пост, если вы задаете один и тот же вопрос (более или менее) для разных аудиторий. Разрешается задать свой вопрос для переноса на другой сайт через некоторое время, если вы чувствуете, что ваш вопрос не получает удовлетворительного (или вообще) ответа на сайте, где он был первоначально опубликован.
Джефф Оксберри

Тем не менее, кросс-пост обычно считается оскорбительным поведением. Если вы посмотрите список бета-сайтов в Зоне 51, многие из них все еще находятся в публичной бета-версии после года. Мы все еще будем здесь некоторое время (по крайней мере, в более длительном масштабе времени, чем требуется для ответа на большинство вопросов на этом сайте). Кроме того, если mathпользователи, отвечающие на ваш вопрос, также не являются scicompпользователями, они не получат должную оценку или атрибуцию за свой ответ здесь, scicompесли вы скопируете его mathи наоборот, и наоборот.
Джефф Оксберри

1
Вы уверены, что также является оператором второго порядка? В общем, это не корректная проблема. Например, если , то вы запрашиваете в который имеет ужасно неуникальные решения (например, решение PDE в любой более крупной области с любыми граничными условиями также является решением). Обычно мы просимS = L L u = 0 ˉ Ω S (возможно, нелинейный) оператор первого порядка. SS=LLu=0Ω¯S
Джед Браун

2
Даже если , вы все еще ищете неуникальные решения. Рассмотрим, является ли L оператором Лапласа, а S - любым другим линейным оператором второго порядка. Тогда любой у такого , что U = K для некоторой константы вектора к может быть добавлен к раствору , чтобы сделать другое решение. SLLSuu=kk
Дан

1
@ GeoffOxberry Для вашего спокойствия, дубликат вопроса mathбыл удален. Очевидно, вы были правы, оставив вопрос здесь. Я получил очень полезные ответы.
becko

Ответы:


15

Быстрые и общие ответы без математических абстракций. Есть несколько вариантов наложения граничных условий, например

Строго говоря, метод Галеркина требует, чтобы вы выбрали набор базисных функций, которые удовлетворяют BC проблемы (например, путем базисной рекомбинации и / или расщепления аппроксимации с u 0, отвечающей за неоднородные решения, и u N частичная сумма, основанная на базисных функциях, удовлетворяющих однородным условиям)uh=u0+uNu0uN

  • Методы штрафа / множители Лагранжа, где по существу добавляется штрафной член, включающий граничное условие, например, A + где B - матрица, отвечающая за дискретное граничное условие, а b p - за неоднородные члены. В пределе τ условия сильно навязаны, а в противном случае они наложены слабо. Выбор τ влияет на кондиционирование системы.τB=b+τbpBbpττ

  • Метод Тау, при котором происходит обмен ряда уравнений (модификация строк в системе Галеркина) с дискретными версиями граничных условий, которые затем применяются явно. Примечание: одним из вариантов также является переопределение систем дополнительными граничными условиями.

  • Перед дискретизацией (метод Ритца) переписать формулировку Галеркина с помощью теоремы расхождения Гаусса, чтобы преобразовать интегралы объема в граничные интегралы, а затем включить (точные или приближенные) граничные условия непосредственно в формулировку перед дискретизацией.

  • Наконец, используя связь между узловыми / модальными разложениями, можно также получить узловой метод Галеркина, где решением системы являются коэффициенты базиса Лагранжа, а не модальный базис.


1
Я думаю, это λ , не так ли? τλ
Шухало

Ага. исправленный.
Аллан П. Энгсиг-Каруп

1
Должно ли оно гласить: «Метод Галеркина требует, чтобы вы выбрали набор базовых функций, которые удовлетворяют БК проблемы»?
KNL

@knl: Я тоже так думаю, тогда как другое предложение не имеет смысла. Я сделаю правку.
Дэвид Хай

7

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

Когда вы обнуляете строки, вставляете одну в диагональ и меняете правое число, чтобы обеспечить выполнение предписанного значения, система больше не будет симметричной. Вот почему вы обнуляете столбцы и изменяете правый вектор для учета предписанного значения.b

Другая возможность заключается в добавление очень большое число (обычно 1e10) к диагонали прописывают степени свободы , а затем установить запись RHS к р * ˉ у , где ˉ U является предписанным значением этих степеней свободы.pu¯u¯


6

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

  • такова, что единственное наложение S ( u ) = 0 на форму u состоит в том, что оно равно некоторому f ( x , y ) на δ Ω .S(u)S(u)=0uf(x,y)δΩ

  • Вы можете найти элементы так, чтобы целиком находился на границах различных элементов.δΩ

это на самом деле очень просто. Ваше уравнение:

необходимо заменить на (

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0
(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=b

где правый вектор представляет граничные условия.b

Чтобы определить , установите элементы вашего базиса, которые определяют значение u на δ Ω, равными любым значениям, которые им необходимы для удовлетворения граничных условий. В L [ г J ] , г я , вы должны исключить их из г J , но не г я (элементы в соответствующем эти функции уже определен, поэтому они не должны быть включены в матрице уравнение). Затем установите R , г я= N ΣbuδΩL[gj],gigjgiaкачестве матричного уравнения, а значения элементовЬдолжен появиться прямо как внутренние продуктыLдействующего на вашем ваш интерьер основы с элементами вашего пограничный базис.

R,gi=j=1NajL[gj],gi=0
bL

Спасибо за ответ, Дэн. Я не понимаю абзаца, который начинается с «Определить ...» (что является важной частью, я думаю). Не могли бы вы сделать это немного более явным? b
Becko

С другой стороны, проблема, которую я пытаюсь решить, удовлетворяет только второму заданному условию: граница представляет собой прямоугольник. Что касается первого условия, граничные условия не указывают значения функции на границе. Граничные условия определяют значения линейных комбинаций производных второго порядка функции (что - то вроде 2 U /х у + б 2 U /х 2 = 0 ) , где , б константы. Также граничные условия однородны. a2u/xy+b2u/x2=0)a,b
becko

@becko: Вы могли бы хотеть быть более ясным о том, что и S в вашем вопросе. Различные типы граничных условий могут обрабатываться по-разному. LS
Дан

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

@becko: Мы могли бы хотеть переместить это в чат , поскольку это становится немного длинным.
Дан

2

Вот метод, известный как базисная рекомбинация , который не был упомянут в настоящей теме. Я цитирую книгу Дж. П. Бойда «Спектральные методы Чебышева и Фурье», 2-е изд., Глава 6.5.

Если задача имеет неоднородные граничные условия, то ее всегда можно заменить эквивалентной задачей с однородными граничными условиями, если граничные условия являются линейными. Первый шаг - выбрать простую функцию B ( x ), которая удовлетворяет неоднородным граничным условиям. Затем можно определить новую переменную v ( x ) и новую форсирующую функцию g ( x ) через u ( x ) v ( x ) + B ( x).

LUзнак равное
В(Икс)v(Икс)грамм(Икс)
U(Икс)v(Икс)+В(Икс)грамм(Икс)е(Икс)-LВ(Икс)
Lvзнак равнограмм
v(Икс)

В(Икс)

Далее идет мое собственное объяснение:

  • ИксU(Икс,Y)|Иксзнак равноИкс0знак равно1.

    В(Икс)

    ИксU(Икс,Y)|Иксзнак равноИкс0знак равно0.
  • После того, как вы сделали все граничные условия однородными, вы можете перейти к расширению базиса (которое, я полагаю, делается с точки зрения базиса продуктов):

    U(Икс,Y) знак равно ΣяJaяJφя(Икс)φJ(Y)
    Применяя соответствующий оператор BC, можно получить
    ИксU(Икс,Y) знак равно ΣяJaяJφя'(Икс)φJ(Y)
    и это должно быть ноль для Иксзнак равноИкс0 согласно приведенному выше примеру.
  • Теперь наступает решающий шаг : используя основуφя(Икс) которая уже удовлетворяет БК сама по себе, т.е. φя'(Икс)|Иксзнак равноИкс0знак равно0 для всех яBC (преобразованной) двумерной задачи выполняются автоматически ! Базисные наборы этого и аналогичного вида могут быть найдены, например, с помощью процедуры, называемой «базисная рекомбинация» (которая часто используется в сочетании с методами коллокации).

  • Обратите внимание, что это та точка, где однородные граничные условия действительно имеют значение, потому что в противном случае нужно будет наложить дополнительные ограничения. Например, предположим, что мы будем работать с "знак равно1условие выше, и, соответственно, попробуем использовать базу с φя'(Икс)|Иксзнак равноИкс0знак равно1, потом

    ИксU(Икс,Y)|Иксзнак равноИкс0 знак равно ΣяJaяJφJ(Y)
    и чтобы сделать это выражение равным 1 для всех Yнужно было бы ограничить коэффициенты разложения aяJтакже. Таким образом, для неоднородных BC есть общий способ применить ограничения к одномерным частям, но использовать его для полной задачи.

Приятной особенностью всего этого подхода является то, что он работает на относительно абстрактном уровне. Необходимыми ингредиентами являются только линейность оператора BC и анзац в терминах основных функций продукта. Как таковой, он также применим к приблизительным методам.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.