Начиная с уравнения адвекции в форме сохранения.
где - скорость, зависящая от пространства, а u - концентрация вида, которая сохраняется.
Дискретизация потока (где поток , определенный на краях ячеек между точками сетки) дает, u t = 1
Используя первый порядок против ветра, мы приближаем потоки как
который дает, ut=1
Если был постоянным, то это сведется к известной схеме против ветра, т.е. u t = a.
Мой вопрос: как мы можем относиться к непостоянным коэффициентам уравнения переноса? Скорость определяется в клеточных центрах, поэтому простой подход будет следующим:
Это мой предпочтительный подход, потому что он очень прост в реализации.
Однако мы могли бы также использовать (я предполагаю) схему усреднения для определения скорости на краях ячейки,
В книге Левека он говорит:
Но после этого он не особо уточняет. Какой общий подход?
Я решаю проблему сохранения (я использую уравнение адвекции в качестве уравнения неразрывности), поэтому я хочу убедиться, что после применения дискретизации свойство сохранения сохраняется. Я хотел бы избежать каких-либо скрытых сюрпризов в отношении этих переменных коэффициентов! У кого-нибудь есть общие замечания и рекомендации?
Обновление Ниже приведены два действительно хороших ответа, и я могу выбрать только один :(
источник
Под последовательным я подразумеваю, что единственное условие, которому должна удовлетворять интерполяция, это
Другими словами, до тех пор, пока ваш метод интерполяции непрерывен за пределами ячейки, ваша дискретизация гарантированно останется консервативной.
Это может не показаться большой проблемой здесь в 1D (и не должно), но может вызвать проблемы на грубых интерфейсах на многоуровневых сетках AMR.
источник
Чтобы понять, почему это так, рассмотрим, что аналитическое определение консервативного
Если наша дискретность имеет вид
источник