LINUX.ORG.RU

Уравнение Пуассона с периодическими и нетривиальными граничными условиями?

 , ,


1

5

Например, я хочу решать задачу на декартовой сетке постоянного шага где противоположные грани сшиты. При этом, внутри объёма я хочу задать некоторую нетривиальную выколотую область (т.е. внутри этой области никаких значений нет вообще NAN). А на границе области которой задано условие Дирихле. Если бы области не было, то всё решалось бы тривиальным образом. А тут пока не понимаю даже как тут правильно взять Фурье-образ. Собственно вопрос — как к этому вообще подступиться?

$сast AntonI

$сast Evgueni

$сast CrX

★★★★★

Последнее исправление: thunar (всего исправлений: 2)

Не очень понятно в чём именно проблема. То, что задача может быть сложной и не иметь простого аналитического решения это само собой. Но в чём проблема в выколотой области? Внутрь ведь лезть не надо.

Итого, алгоритм:

а) Решаем уравнение без граничных условий, получаем полный набор независимых решений.

б) Из имеющихся решений набираем значения на границе, чтобы удовлетворить условие Дирихле.

Ну или найти функцию Грина и воспользоваться ей.

Если хочется численно задачу решить, то так как это скорее всего электростатика, то лучше для начала поискать уже имеющееся ПО для соответствующих расчётов.

Если это трёхмерия без какой-либо выделенной симметрии, то всё само собой сложно. Надёжное ПО вроде имеется, но стоит оно весьма не гуманно, ну или погружаться в тему.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)

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

alysnix ★★★
()
  1. Если размер не очень большой то расписать все в конечных разностях, свести к СЛАУ и сунуть ее в какой нить решатель СЛАУ. Плюсы - это на самом деле путь наименьшего сопротивления, тут думать вообще не надо ни о чем. Минусы - на больших размерах задачи фурье быстрее.

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

А по фурьям я не большой специалист. Но если задача большая и прям вот оно актуально я могу у коллег на той неделе поспрошать.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от Evgueni

лучше для начала поискать уже имеющееся ПО для соответствующих расчётов.

ТС вообще то сам такое ПО делает на весьма приличном уровне, об том и разговор;-)

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

Ну это вы слишком хорошего мнения обо мне... Впрочем, проверил — и получается что обычный SOR на приодических гран-условиях (вроде?) тоже отрабатывает, хотя сходится медленней чем с Дирихле/Нейманом.

thunar ★★★★★
() автор топика
Ответ на: комментарий от thunar

ЯННП:-(

Если мы получили слау, то чеп её решать это второй вопрос. Первый вопрос - куда ходить глобально, в слау или в фурье.

Периодичность г.у. тут вообще непричем как бы?

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от AntonI

У меня (чому-то) было стойкое убеждение что через СЛАУ задачи с периодическими гранусловиями решать нельзя...

thunar ★★★★★
() автор топика
Ответ на: комментарий от thunar

А, случился срыв покровов…;-)

Я больше скажу - через Фурье можно решать задачи с непериодическими г.у. Во всяком случае эволюционные.

AntonI ★★★★★
()
Ответ на: комментарий от thunar

Вот ведь. По одной оси работает, а если по двум, то лажает. Притом что специально помечаю одну точку условием Дирихле что бы убрать неоднозначность...

thunar ★★★★★
() автор топика
Ответ на: комментарий от AntonI

Да пытаюсь понять где я налажал. У меня вечно какие-то идиотские ошибки... Вспомнил же, что в игрушечной задачке всё вроде работало, а на реальной почему-то разваливается... Ладно, пока через спектральный код сделаю, а разбираться потом буду.

thunar ★★★★★
() автор топика
Последнее исправление: thunar (всего исправлений: 3)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)