Удовлетворение граничных условий для области

kachokslava

Есть область D, внутренности какой-то причудливой формы (дырки, включения, трещины граница тоже причудливой формы. Построена триангуляция. Ну например:

Решается урчп:

Как обычно, задача сводится к минимизации функционала:

изменения физических свойств материалов на границе включений и трещины автоматически будут учтены в уравнении (разрывность коэффициентов k_x и k_y).
Я вот всё никак не могу понять, как учесть два граничных условия:
\phi=0 на внешней границе и \phi=\phi_0 на внутренней границе (границе дырки)

vovatroff

Если минимизировать функционал при наличии краевых условий -
то, наверное, методом множителей Лагранжа.
Хотя непонятно, зачем нужно именно минимизировать функционал.
Может, нужно просто численно решить краевую задачу?
Как-то невнятно сформулирован вопрос.
На всякий случай: вариационные методы в краевых задачах
весьма популярно изложены в книжках. Есть, к примеру,
книжка Ректориса, очень доступная.

kachokslava

Я смотрел во многих книжках. Везде, где повествование затрагивает эти темы говорится примерно следующее (Зенкевич, МКЭ в технике):


(выделение жёлтым - моё).
Может, действительно легко - значит, я туплю и действительно всё лежит на поверхности.
просветите

vovatroff

Вопрос в том, что именно вам нужно.
Понять для себя?
Понять, чтобы сдать?
Решить конкретную задачу?
То, что в тексте сказано про условие б
я и имел в виду. Добавляется поверхностный
интеграл с множителем Лагранжа перед ним.
Думаю, что точно так же можно учесть условие а).
Я посмотрю, если надо.

vovatroff

Я глянул бегло по книжкам. Самый простой ответ: краевое условие на
поверхности учитывается, когда квадратичный функционал
относительно первых производных интегрированием по частям
сводится к виду (\phi, (L\phi-Q где L - дифференциальный
оператор второго порядка в вашем уравнении. Варьирование
этого выражения по \phi как раз и дает исходный дифур.
В процессе интегрирования по частям именно граничные условия
и срабатывают, причем разные - по-разному. От одних граничных
условий может остаться интеграл от \phi по границе, от других -
интеграл от производной по нормали и т.д. Поскольку вид
уравнения задан, разным краевым условиям должны
соответствовать разные функционалы. Они будут
различаться прибавлением к одному и тому же объемному интегралу
тех или иных поверхностных интегралов, умноженных на коэффициенты.
То есть функционал как бы подгоняется под вид дифура с учетом
краевого условия и тех членов, которые появятся при интегрировании
по частям.
Не уверен, что это именно то, что вам хотелось услышать.
Если что - спрашивайте, будет время - отвечу еще.

kachokslava

Мне нужно понять для себя чтобы решить класс задач.
Сдавать это не нужно.
мне всё ещё не понятно, как удовлетворить условиям типа а)

vovatroff

Я понял. Я попробую набросать вам простейшие ситуации.
Если надо решить задачу, то, скорее всего, нужно использовать численные методы.
Например, конечно-разностные или вариационные (скажем, метод Ритца или
метод конечных элементов).
В конечно-разностных методах вы просто берете заданное вам значение функции
на границе, и используете его для разностной оценки производных во внутренних
узлах. Условие а) здесь как раз идеально подходит для этой цели. С условием б)
посложнее, поэтому люди и выкручиваются разными способами.
В вариационных методах можно попробовать выбрать базис так, чтобы условие
а) на границе было автоматически выполнено. Это особенно просто, когда условие
на границе - однородное: \phi=0. Тогда берете базис из функций, обращающихся в нуль
на границе, и любые решения, построенные как линейные комбинации функций базиса,
автоматически будут таковы же.
Вот простешие примеры учета условия а) в численных методах. Еще примеры?

kachokslava





После вычисления коэффициентов матрицы K я делаю следующую вещь:
для граничных узлов заменяю коэффициенты следующим образом

K F
.....0.0.0.0.1.0.0.0.0....... 0


т.е. значение в этом узле может равнятся только нулю.
И вот тут есть сомнения в правильности такого подхода. ибо если его не делать ("не учитывать граничные условия" то система не должна решаться, но матрица невырождена и решение есть.
или так и должно быть?

vovatroff

Вы знаете - я особенно не вникал в детали, но вас смущают не детали, а общее понимание,
так ведь?
После дискретизации задачи вы получаете неоднородное матричное уравнение, и для
него нужны "граничные условия", чтобы выделить единственное решение. Вы их накладываете,
и получаете единственное решение (критерий - невырожденность матрицы системы).
Если вы их не накладываете (явным образом но матрица все равно невырожденная (как вы
утверждаете то это значит, что они неявным образом все равно наложены - по умолчанию, какие-то, возможно - совершенно ни на что не годные в исходной постановке задачи. Никаких
граничных условий вы не накладываете только в матричной задаче бесконечной размерности; это - формально - отвечало бы бесконечно удаленной границе Г; раз она у вас конечная, то вы где-то свою систему оборвали. Тем или иным способом.

toxin

Да, это правильный подход. Поскольку общие уравнения либо перестают выполняться в граничных точках из-за влияния граничных условий (трещины) либо их добавление приводит к большому числу обусловленности (внутренняя и внешняя граница).
Представь, что в качестве уравнения для граничной точки ты берешь общее уравнение для соседней с ней точки. В это уравнение граничная точка конечно входит, но матрица получится вырожденной. В реальности из-за погрешности схемы получается лишь большое число обусловленности.

Nat21

Поскольку понять уравнение (2.6.1) нету сил, будем считать, что решается уравнение из первого поста.
ибо если его не делать ("не учитывать граничные условия" то система не должна решаться, но матрица невырождена и решение есть. или так и должно быть?
Ответ: так и должно быть, только решение не то.
Дело в том, что полученное таким образом решение является решением задачи минимизации, которая уже не имеет отношения к исходной краевой задаче. Если исходный минимизируемый функционал положительный и невырожденный, то матрица невырождена, а решение единственно. В конце концов можно посмотреть, чему это решение равно на границе – это будет явно не то что надо.
Чтобы получить решение краевой задачи, нужно продифференцировать функционал только по неграничным узлам (которые являются искомыми).
Значения (нули) на границе можно подставить как в функционал, так и в полученные уравнения. Если краевые условия неоднородные – phi_0 на границе, то строим гладкую функцию u0, равную phi_0 на границе и чему угодно внутри. Сдвигаем решение на u0 (делаем замену phi1=phi-u0) и решаем уравнение на phi1 с нулевыми краевыми условиями.

Nat21

С функциями формы согласиться можно, но в качестве базисных выбирают другие. Дело в том, что к одному узлу прилежит несколько функций формы (по одной от каждого треугольника, имеющего этот узел своей вершиной) и они должны браться с одним коэффициентом, а не с разными, чтобы искомая функция была непрерывной. Таким образом, каждому узлу соответствует базисная функция – сумма функций формы, равных 1 в этом узле. Исключение составляет разрез, где узлу будет соответствовать пара базисных функций.

kachokslava

Область: квадрат, с включением-квадратом.
Если учитывать граничное условие (приравнивать к нулю граничные узлы то получается вот такое решение:

Если не учитывать, получается вот так:

(точки наблюдения и направления наблюдений - разные, но в целом поверхности ориентированы одинаково)
интерпретация этого результата как "мы решаем эту же задачу, только для бесконечной области и обозреваем фрагмент решения" мне нравится. Надо осмыслить корректность..
По поводу обозначений.
x_I - координаты. x_1 == x, x_2 == y
"запятая" (****I - дифференцирование по x_I
"немой индекс" - если индекс в слагаемом присутствует дважды, по нему ведётся суммирование: a_i b_i === a_1b_1 + a_2b_2+a_3b_3.... по большим латинским индексам I,J суммирование ведётся от 1 до 2
(2.6.1) - на самом деле два уравнения. для N1 и для N2. рассматривается пока для N1. (для N2 получается аналогично-симметрично заменой x_1 на x_2, и если D - симметричен)
т.е.
( DIJ phi_,JI ==
d/dx( D11 d/dx phi+ D12 d/dy phi) + d/dy (D21 d/dx phi + D22 d/dy phi)
Dij, хоть и константа, не выносится за знак дифференцирования, потому что на границе раздела материалов имеет скачок. (кусочно-постоянная)

vovatroff

интерпретация этого результата как "мы решаем эту же задачу, только для бесконечной области и обозреваем фрагмент решения" мне нравится. Надо осмыслить корректность..
Боюсь, вы ошибаетесь. Получается, что ваша задача внутри области ничего не знает про то, как она устроена за ее пределами. Скажем, коэффициенты уравнения за пределами области могут быть определены по-разному, и от этого вид решения внутри области тоже должен измениться! А у вас он не изменится. Поэтому вы не обозреваете фрагмент решения в бесконечной области, а решаете именно оборванную задачу в данной конкретной области с какими-то граничными условиями, возможно, неявно наложенными и "нефизичными", если вы о них специально не позаботились.
Именно это я имел в виду, а не то, что вы написали.
Оставить комментарий
Имя или ник:
Комментарий: