Каковы основные принципы создания движущейся сетки?

13

Я заинтересован в реализации движущейся сетки для задачи адвекции-диффузии. Методы Adaptive Moving Mesh Methods дают хороший пример того, как сделать это для уравнения Бюргера в 1D, используя конечно-разностную модель. Сможет ли кто-нибудь предложить работающий пример решения одномерного уравнения адвекции-диффузии с использованием конечно-разностного метода с подвижной сеткой?

Например, в консервативной форме уравнение имеет вид

ut=(a(x)u+dUИкс)Икс

где - скорость (функция пространства). Начальные условия могут указывать (например) виды потока, движущиеся слева направо (например, вдоль трубы), где начальное условие имеет резкий градиент.и ( 0 , х )a(Икс)U(0,Икс)

Как решить проблему равнораспределения для движущейся сетки (возможно, с помощью алгоритма Де Бура или другого подхода)? Я хочу реализовать это сам на Python, так что, если ваш ответ может быть легко переведен в код, тем лучше!


Старый вопрос до щедрости

  1. Каковы основные подходы для создания адаптивной сетки на основе свойств системы? Должен ли я использовать поток в качестве меры, где большие градиенты?
  2. Потому что я ищу итеративное решение. Я полагаю, что важно интерполировать от старой сетки к новой сетке, каков обычный подход?
  3. Мне было бы очень интересно увидеть проработанный пример для простой задачи (например, уравнения адвекции).

Немного предыстории о специфике проблемы. Я моделирую 1D связанную систему уравнений,

UTзнак равноaU2UИкс2+бUUИкс+еU(Икс,U,v,вес)vTзнак равноav2vИкс2+бvvИкс+еv(Икс,U,v,вес)весTзнак равноaUUИкс+avvИкс+евес(Икс,U,v,вес)

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

Пример решения

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

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

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

boyfarrell
источник
Из того, что я понял, ваш разрыв - довольно стабильная особенность системы в том, что она может двигаться, но она всегда где-то есть (поправьте меня, если я ошибаюсь). По этой причине вы можете рассмотреть возможность использования движущейся сетки, а не ее уточнения. Намного проще программировать себя. [Эта книга] (books.google.com/books?isbn=1441979166) является хорошим справочным материалом.
Даниэль Шаперо
Да, он должен быть довольно стабильным (прерывистым), он может слегка перемещаться во время развертки времени и может стать слегка асимметричным при приближении к устойчивому состоянию. Я предполагаю, что мог бы использовать неоднородную (неадаптивную) сетку с точками, сгруппированными в центре, а не что-то более сложное Я не знал о различных методах адаптации сетки. Книга кажется хорошей, хотя для строгой реализации движущейся сетки еще предстоит немало работы. Я надеялся на «быстрое решение»!
boyfarrell

Ответы:

4

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

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

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

часрпрпчаспрчас

час

час

р

Вместо того, чтобы вносить локальные топологические изменения в сетку и ее связность, r-адаптивные методы вносят локальные изменения в разрешение, перемещая местоположения фиксированного общего числа точек сетки.

п

Очень популярный метод адаптации сетки в методе конечных элементов, а не метод конечных объемов или метод конечных элементов. Это уменьшает ошибку в решении путем обогащения полинома интерполирующих функций с тем же порядком геометрических элементов. Здесь нет новой сетки, геометрии, которую нужно вычислить, и еще одним преимуществом этого метода является то, что он может лучше приближать нерегулярные или изогнутые границы с меньшей чувствительностью соотношение сторон и перекос. Из-за этого это очень известно в структурном применении.

DряvяNграмм-sоUрсеs-ое-граммряd-adaпTaTяоN

1.FеaTUре-бasеd-adaпTaTяоN Функциональный подход, основанный на широко распространенном подходе к адаптации сетки, использует особенность решения в качестве движущей силы для адаптации сетки. Они часто используют особенности решения, такие как градиенты решения и кривизна решения. Области потока, которые имеют большие градиенты решения, разрешаются с большим количеством точек, а области минимальной значимости укрупняются. Это приводит к уточнению области, которая является физически специфической, такой как пограничный слой, удары, разделительные линии, точки застоя и т. Д. В некоторых случаях уточнение на основе градиента может фактически увеличить ошибку решения, поэтому существуют некоторые проблемы, касающиеся адаптации на основе признаков, например робастность и др.

2.TрUNсaTяоN-еррор-бasеd-adaпTяоN Ошибка усечения - это разница между дифференциальным уравнением в частных производных и его дискретным уравнением. Ошибка усечения является более подходящим подходом, чтобы найти место, где должна произойти адаптация. Общая концепция адаптации на основе ошибок усечения заключается в равномерном распределении ошибок по области моделирования для уменьшения общей ошибки дискретизации. Для простых уравнений оценка ошибки усечения является самой простой работой, но для сложных схем это сложный, поэтому для этой цели необходим другой подход. Для простых схем дискретизации ошибка усечения может быть вычислена напрямую. Для более сложных схем, где прямая оценка усечения затруднена, необходим подход для оценки ошибки усечения.

3.AdJояNT-бasеd-adaпTaTяоN

Всего наилучшего!

рееереNсеs:-

[1] Фидковски Кшиштоф Дж. И Дармофал Дэвид Л. Обзор оценки ошибок на основе результатов и адаптации сетки в вычислительной динамике жидкости. AIAA Journal, 49: 673–694, 2011.

[2] Джон Тэннехилл Ричард Плетчер и Дейл Андерсон. Вычислительная механика жидкости и теплообмен. Тейлор и Фрэнсис, 1997.

[3] JD Jr. Андерсон. Вычислительная жидкость dyanamics: основы с приложениями. McGraw Hill Inc., 1995.

[4] Рой Кристофер Дж. Стратегии вождения адаптации сетки в CFD. На 47-м совещании AIAA по аэрокосмическим наукам, включая Форум «Новые горизонты» и Аэрокосмическую экспозицию, 2009 г.

[5] McRae Scott D. Алгоритмы и проблемы адаптации сетки переопределения. Вычислительные методы в прикладной механике и технике, 189: 1161–1182, 2000.

[6] Иваненко Сергей Александрович, Азаренок Борис Николаевич и Тан Тао. Адаптивный метод перераспределения сетки по схеме Годунова. Comm. математика наук, 1: 152–179.

[7] Ахмади Маджид и Гали Вахид С. Моделирование невязкого потока в каскадах с использованием метода конечных объемов с адаптацией раствора. В CASI 6-й Аэродинамический Симпозиум, 1997.

[8] Ясак Х. и Госман А.Д. Автоматический контроль разрешения для метода конечных объемов, часть 1: апостериорные оценки ошибок. Числовой теплообмен, Тейлор и Фрэнсис, 38: 237–256, 2000.

[9] Ясак Х., Госман А.Д. Автоматический контроль разрешения для метода конечных объемов, часть 2: адаптивное уточнение и укрупнение сетки. Числовой перенос тепла, Тейлор и Фрэнсис, 38: 257–271, 2000.

[10] Томпсон Дэвид С. Сони Бхарат К., Кумуллил Рой и Торнбург Хью. Решение адаптивных сеточных стратегий на основе точечного перераспределения. Вычислительные методы в прикладной механике и технике, 189: 1183–1204, 2000.

[11] Вендитти Дэвид А. и Дармофал Дэвид Л. Сопряженная оценка ошибок и адаптация сетки для функциональных выходов: приложение к квазиодномерному потоку. Журнал вычислительной физики, 164: 204–227, 2000.

[12] Баласубраманян Р. и Ньюман Дж. К. Сравнение адаптации сетки на основе сопряженных и основанных на характеристиках функциональных выходов. Международный журнал для численных методов в жидкостях, 53: 1541–1569, 2007.

[13] Хартманн Ральф. Оценка ошибок и сопряженная адаптация в аэродинамике. В Европейской конференции по вычислительной гидродинамике, 2006.

Shainath
источник
Этот первый абзац взят из «Вычислительной динамики жидкостей: введение». Вероятно, следует упомянуть это. Но это обзор, спасибо. Вы когда-нибудь применяли адаптацию к проблеме адвекции, это в основном то, что я пытаюсь решить?
boyfarrell
@boyfarrell, Да, это правда, на самом деле я взял все это из своего отчета «Адаптация к сетке» как часть моей курсовой работы, где я правильно привел ссылки. Здесь трудно добавить так много ссылок, поэтому я пропустил это. Если хотите, я поделюсь с вами всеми ссылками. Да, я планирую использовать адаптацию сетки как часть моей исследовательской работы, но еще не начал. Всего наилучшего!
Shainath
Просмотр литературы - действительно хороший способ начать, спасибо, что поделились!
boyfarrell
@boyfarrell, я добавил ссылки на свой ответ, которые я использовал для приведенного выше описания. Всего наилучшего
Shainath
3

Я искал хорошие ответы на это. Я работаю с многоуровневыми адаптивными сетками, где я использую какой-то критерий для уточнения. Люди, занимающиеся FEM, пользуются довольно дешевыми (в вычислительном отношении) строгими оценками ошибок, которые они используют в качестве критерия уточнения. Для нас, занимающихся FDM / FVM, мне не повезло найти такие оценки.

В этом контексте, если вы хотите быть строгими в отношении уточнения, то есть уточнения, основанного на некоторой оценке фактической ошибки, ваш (почти) единственный выбор - это Richardson Extrapolation. Это то, что, например, использовалось Бергером и Олигером (1984) для их блочно-структурированного гиперболического решателя AMR. Методология является общей в том смысле, что вы можете использовать экстраполяцию Ричардсона практически для любой проблемы. Единственная проблема заключается в том, что это дорого, особенно для временных проблем.

За исключением экстраполяции Ричардсона, все остальные критерии (по моему скромному мнению) являются специальными. Да, вы можете установить определенный порог для «количества интереса» и уточнить его. Вы могли бы использовать потоки или производные некоторого количества, чтобы предупредить некоторый большой градиент и использовать это. Или, если вы отслеживаете интерфейс, вы можете уточнить, насколько вы близки к интерфейсу. Все это очень дешево, конечно, но в них нет ничего строгого.

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

GradGuy
источник
Спасибо, что поделились своим опытом. Да, кажется, что делать это строго довольно сложно. Поскольку моя проблема относительно проста (только 1D и т. Д.). Сначала я попробую фиксированный (неоднородный) гирд. Хотя я очень соблазнен для реализации некоторого мягкого подхода с подвижной сеткой . Если вы делали подвижную сетку раньше, насколько легко это реализовать, скажем, для уравнения переноса?
boyfarrell
@boyfarrell Я не уверен, что такое движущаяся сетка . Это как одномерная сетка, где расстояние между точками может меняться во времени?
GradGuy
Просто посмотрите на ссылку, предложенную Дэниелом Шаперо (выше), « Адаптивные методы движущейся сетки» . Кажется интересным
boyfarrell
2

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

Максим Уманский
источник
Спасибо, что поделились своим опытом. Я думаю ты прав; Возможно, я мог бы просто использовать непостоянную сетку в этом случае, потому что разрыв остается более или менее в одном и том же месте. Вы бы согласились?
boyfarrell