равномерная или неоднородная сетка

16

Вероятно, это вопрос студенческого уровня, но я не могу сделать его понятным для себя. Почему более точно использовать неоднородные сетки в численных методах? Я думаю в контексте некоторого метода конечных разностей для PDE вида . И предположим, что меня интересует решение в точке x . Итак, я могу видеть, что если я аппроксимирую вторую производную, например, на равномерной сетке с использованием трехточечной аппроксимации, ошибка будет второго порядка O ( h 2 )UT(Икс,T)знак равноUИксИкс(Икс,T)Икс*О(час2), Затем я могу построить неравномерную сетку через отображение и найти коэффициенты для трех точек, которые используются для аппроксимации производной. Я могу сделать разложения Тейлора и снова получить оценку для производной второго порядка , где h - расстояние на равномерной сетке, из которого я получил отображение на неоднородную сетку. Обе оценки содержат производные, и мне не ясно, почему решение было бы более точным на неоднородной сетке, поскольку оно зависит от величины соответствующих производных в оценках ошибок? О(час2)час

Камиль
источник

Ответы:

19

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

При решении уравнения, скажем, линейный конечных элементов, то обычно имеют оценку погрешности от вида или эквивалентно, но в форме, лучше подходящей для следующего: u - u h 2 L 2 ( Ω )C h 4 max

| |U-Uчас| |L2(Ω)СчасМаксимум2| |2U| |L2(Ω),
Однако это переоценка. В самом деле, можно во многих случаях показываютчто ошибка на самом деле вида у - у ч | | 2 л 2 ( Ω )C Σ K Т ч 4 К | | 2 U | | 2 л 2 ( К ) . Здесь K - клетки триангуляции T
| |U-Uчас| |L2(Ω)2СчасМаксимум4| |2U| |L2(Ω)2,
| |U-Uчас| |L2(Ω)2СΣКTчасК4| |2U| |L2(К)2,
КT, Это показывает, что для того, чтобы сделать ошибку небольшой, на самом деле нет необходимости уменьшать максимальный размер ячейки . Скорее всего , наиболее эффективной стратегией будет уравновешивать вклады ошибок cellwise ч 4 K | | 2 U 2 L 2 ( K ) - другими словами, вы должны выбрать час K α | | 2 U - +1 / 2 L 2 ( К ) . Другими словами, локальный размер сетки hчасМаксимумчасК4| |2U| |L2(К)2
часКα| |2U| |L2(К)-1/2,
должно быть маленьким, если решение является грубым (имеет большие производные), и большим, если решение является гладким, и формула выше обеспечивает количественную меру для этого отношения.часК
Вольфганг Бангерт
источник
1
Я хотел бы добавить, что анизотропия наиболее эффективно представлена ​​анизотропным пространством анзаца (то есть анизотропной сеткой). Поскольку анизотропия может не совпадать с некоторой исходной грубой сеткой, изотропный алгоритм AMR может быть очень неэффективным. Анизотропия вызывает некоторые дополнительные проблемы, потому что многие методы не являются одинаково стабильными в отношении пропорций.
Джед Браун
6

Докажите это себе на этом примере. Какова максимальная ошибка при интерполяции sqrt (x) на интервале [0,1] с кусочно-линейной интерполяцией на однородную сетку?

Какова максимальная ошибка при интерполяции на сетке, в которой i-е из n точек задается (i / n) ^ s, а s является тщательно выбранным параметром градации сетки?

Роб Шрайбер
источник
часячася
4

UT(Икс,T)знак равноUИксИкс(Икс,T)UT(Икс,T)знак равно(D(Икс)UИкс(Икс,T))ИксD(Икс)D(Икс)

U(Икс,0)

Томас Климпел
источник
Не могли бы вы уточнить, пожалуйста, какие еще методы вы бы использовали, чтобы, например, «рассмотреть» области разрывов исходных данных?
Камил
@ Камил, я имею в виду две вещи. Первым делом необходимо с достаточной точностью вычислить проекцию исходных данных в «представление, используемое в сетке». (Обычно это такие вещи, как передискретизация или простые аналитические вычисления при скачках скачков.) Я знаю, что это просто хороший стиль и слишком прост, чтобы даже упоминать его, но по моему опыту это часто все, что нужно для устранения проблем, вызванных особенностями в входные данные.
Томас Климпел
Другая вещь, о которой я думаю, - это моделирование части входных данных в качестве граничных условий. Тем не менее, экономия от этого часто меньше, чем в два раза, и граничные условия, как известно, трудно понять, по крайней мере, по моему опыту. Поэтому я бы сказал, что это часто не стоит усилий, чтобы сделать это идеально (или стоит только усилий, если соответствующее расширение проблемы в этом направлении действительно мало, или если вы действительно хотите высокую точность), и просто выбираете примерно правильный Граничное условие и размещение границы достаточно далеко часто работает достаточно хорошо.
Томас Климпел
4

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

Вот что можно попробовать. Решить D (sqrt (x) Du) на [0,1] с однородным Дирихле bcs D - оператор дифференцирования. Используйте конечные элементы или конечные различия в n-точечной равномерной сетке. Сравните с сеткой, в которой i-я точка равна (1 / n) ^ 1.5. Обратите внимание, что наихудшая ошибка для однородной сетки далека от сингулярности и намного больше, чем для градуированной сетки.

Роб Шрайбер
источник