Я читал в Интернете некоторые ресурсы о методах Галеркина для решения проблем PDE, но мне что-то неясно. Следующее - мой собственный рассказ о том, что я понял.
Рассмотрим следующую краевую задачу (BVP):
где - оператор линейного дифференцирования 2-го порядка, - область BVP, - граница области, а - линейный дифференциальный оператор 1-го порядка. Выражение как приближение вида:
где - это набор функций, которые мы будем использовать для приближения . Подставляя в БВП:
Поскольку наше приближение не является точным, остаток не точно равен нулю. В методе Галеркина-Ритца-Роли мы минимизируем относительно набора аппроксимирующих функций, требуя . следовательноR ⟨ R , г я ⟩ = 0
Поэтому, чтобы найти коэффициенты , мы должны решить матричное уравнение:
Мой вопрос: как мне включить граничные условия в это?
РЕДАКТИРОВАТЬ: Первоначально вопрос сказал, что был линейный дифференциальный оператор 2-го порядка. Я изменил его на линейный дифференциальный оператор 1-го порядка.
scicomp
! Наша политика в отношении кросс-постинга соответствует политике других сайтов Stack Exchange . Разрешается кросс-пост, если вы задаете один и тот же вопрос (более или менее) для разных аудиторий. Разрешается задать свой вопрос для переноса на другой сайт через некоторое время, если вы чувствуете, что ваш вопрос не получает удовлетворительного (или вообще) ответа на сайте, где он был первоначально опубликован.math
пользователи, отвечающие на ваш вопрос, также не являютсяscicomp
пользователями, они не получат должную оценку или атрибуцию за свой ответ здесь,scicomp
если вы скопируете егоmath
и наоборот, и наоборот.math
был удален. Очевидно, вы были правы, оставив вопрос здесь. Я получил очень полезные ответы.Ответы:
Быстрые и общие ответы без математических абстракций. Есть несколько вариантов наложения граничных условий, например
Строго говоря, метод Галеркина требует, чтобы вы выбрали набор базисных функций, которые удовлетворяют BC проблемы (например, путем базисной рекомбинации и / или расщепления аппроксимации с u 0, отвечающей за неоднородные решения, и u N частичная сумма, основанная на базисных функциях, удовлетворяющих однородным условиям)uh=u0+uN u0 uN
Методы штрафа / множители Лагранжа, где по существу добавляется штрафной член, включающий граничное условие, например, A + где B - матрица, отвечающая за дискретное граничное условие, а b p - за неоднородные члены. В пределе τ → ∞ условия сильно навязаны, а в противном случае они наложены слабо. Выбор τ влияет на кондиционирование системы.τ∗B=b+τ∗bp B bp τ→∞ τ
Метод Тау, при котором происходит обмен ряда уравнений (модификация строк в системе Галеркина) с дискретными версиями граничных условий, которые затем применяются явно. Примечание: одним из вариантов также является переопределение систем дополнительными граничными условиями.
Перед дискретизацией (метод Ритца) переписать формулировку Галеркина с помощью теоремы расхождения Гаусса, чтобы преобразовать интегралы объема в граничные интегралы, а затем включить (точные или приближенные) граничные условия непосредственно в формулировку перед дискретизацией.
Наконец, используя связь между узловыми / модальными разложениями, можно также получить узловой метод Галеркина, где решением системы являются коэффициенты базиса Лагранжа, а не модальный базис.
источник
Одна возможность состоит в том, чтобы собрать системную матрицу и правый боковой вектор b с заданными степенями свободы как неизвестными, как любая другая степень свободы. Затем, и б модифицируются путем обнуления строк и столбцов , связанные с предписанными степенями свободы, и положить одну в соответствующем диагональный элемент, и соответствующим образом модифицировать RHS вектор б .A b A b b
Когда вы обнуляете строки, вставляете одну в диагональ и меняете правое число, чтобы обеспечить выполнение предписанного значения, система больше не будет симметричной. Вот почему вы обнуляете столбцы и изменяете правый вектор для учета предписанного значения.b
Другая возможность заключается в добавление очень большое число (обычно 1e10) к диагонали прописывают степени свободы , а затем установить запись RHS к р * ˉ у , где ˉ U является предписанным значением этих степеней свободы.p u¯ u¯
источник
Общая проблема работы с граничными условиями с помощью метода конечных элементов может быть довольно сложной. Но если:
такова, что единственное наложение S ( u ) = 0 на форму u состоит в том, что оно равно некоторому f ( x , y ) на δ Ω .S(u) S(u)=0 u f(x,y) δΩ
Вы можете найти элементы так, чтобы целиком находился на границах различных элементов.δΩ
это на самом деле очень просто. Ваше уравнение:
необходимо заменить на ( ⟨
где правый вектор представляет граничные условия.b
Чтобы определить , установите элементы вашего базиса, которые определяют значение u на δ Ω, равными любым значениям, которые им необходимы для удовлетворения граничных условий. В ⟨ L [ г J ] , г я ⟩ , вы должны исключить их из г J , но не г я (элементы в соответствующем эти функции уже определен, поэтому они не должны быть включены в матрице уравнение). Затем установите ⟨ R , г я ⟩ = N Σb u δΩ ⟨L[gj],gi⟩ gj gi a качестве матричного уравнения, а значения элементовЬдолжен появиться прямо как внутренние продуктыLдействующего на вашем ваш интерьер основы с элементами вашего пограничный базис.
источник
Вот метод, известный как базисная рекомбинация , который не был упомянут в настоящей теме. Я цитирую книгу Дж. П. Бойда «Спектральные методы Чебышева и Фурье», 2-е изд., Глава 6.5.
Далее идет мое собственное объяснение:
После того, как вы сделали все граничные условия однородными, вы можете перейти к расширению базиса (которое, я полагаю, делается с точки зрения базиса продуктов):
Теперь наступает решающий шаг : используя основуφя( х ) которая уже удовлетворяет БК сама по себе, т.е. φ'я( х ) |х = х0= 0 для всех я BC (преобразованной) двумерной задачи выполняются автоматически ! Базисные наборы этого и аналогичного вида могут быть найдены, например, с помощью процедуры, называемой «базисная рекомбинация» (которая часто используется в сочетании с методами коллокации).
Обратите внимание, что это та точка, где однородные граничные условия действительно имеют значение, потому что в противном случае нужно будет наложить дополнительные ограничения. Например, предположим, что мы будем работать с "= 1 условие выше, и, соответственно, попробуем использовать базу с φ'я( х ) |х = х0= 1 , потом
Приятной особенностью всего этого подхода является то, что он работает на относительно абстрактном уровне. Необходимыми ингредиентами являются только линейность оператора BC и анзац в терминах основных функций продукта. Как таковой, он также применим к приблизительным методам.
источник