Вроде бы, такая постановка задачи не нова, но нигде в известных учебниках по численным методам не написано, как аппроксимировать дельта-функцию на практике в сеточных задачах.
Подведу итог своим поискам, вдруг кто-то заинтересуется или столкнётся с такой задачей. Никакой особенной специфики включения дельта-функции в разностные схемы нет. Если есть конвективные члены, то используйте только монотонные схемы, поскольку решения быстропеременные из-за влияния точечного источника. Я использовал явно-неявную схему.
Рабочие варианты аппроксимации дельта-функции даны во многих научных статьях. Для широкого интервала точек см., например, статью Waldén J. On the approximation of singular source terms in differential equations // Numerical Methods for Partial Differential Equations. – 1999. – Т. 15. – №. 4. – С. 503-520. Я взял пятиточечную именно оттуда.
Как я понял, что всё верно? Очень просто. Решил прямую задачу при некоем значении параметра, затем взял это решение и по нему с помощью решения сопряжённого уравнения восстановил исходное значение параметра. Значения почти совпали: 0.69 - исходное значение параметра, 0.74
0.11 получилось для серии из 29 численных экспериментов, в которых сильно варьировали другие параметры. От дробности сетки результат не зависел.
Ещё мне на почту написал очень крутой спец из ВШЭ Владимир Гордин, увидев мой вопрос на ресрчгейте. Он дал вот такой совет:
Цитата:
Разностные схемы хорошо работают на гладких решениях, к каковым дельта-функция не относится.
Тут нужна комбинация аналитики и вычислений.
Сначала найдем аналитическое решение
с коэффициентом К, зафиксированным в точке особенности.
Это дело нехитрое - преобразование Фурье и Лапласа - дело сделано.
Теперь разность
удовлетворяет уравнению с гладкой правой частью. Его и вычисляйте разностями.
Я его не использовал, мне это показалось слишком сложным для моего слабого ума. Дай бог, поможет кому-то.