Использование сеточных методов для решения задач механики сплошной среды. Петрусев А.С. - 50 стр.

UptoLike

Составители: 

(по Y, при выключенном X). Ошибки отыскиваются и
устраняются аналогично вышеуказанному.
Следующим пунктом является переход к двумерной задаче.
Как и одномерную, её начинают с уравнений неразрывности и
движения. В случае неустойчивости её причину локализуют
переходя к циклическим краевым условиям по обеим
направлениям. Выявить место ошибки можно снова тем же
способом - отключением и
подключением членов. Наиболее
вероятной причиной неустойчивости на этом этапе является
неправильное расщепление краевых условий.
Добившись безусловной устойчивости уравнений
гидродинамики, подключают остальные уравнения в той же
последовательности, что и для одномерной задачи. Как
правило, для остальных уравнений переход к двумерности не
столь критичен, как для уравнений неразрывности и движения.
На
этом заканчивается этап грубой отладки программы.
Следующим этапом является тонкая отладка - проведение
тестовых расчётов, сравнение с экспериментом, контроль
точности и т.д..
п.5.Вычислительная погрешность.
Отдельной задачей является контроль вычислительной
погрешности, что требует разработки стратегии выбора
временного шага. Последнее для высокоустойчивых
безитерационных алгоритмов является далеко не тривиальной
проблемой. Для
задач сплошной среды возможен алгоритм
выбора шага на основе контроля локальной ошибки временной
аппроксимации (апостериорная оценка погрешности),
аналогично тому, как это делается при интегрировании ОДУ.
Однако вычисление дополнительных членов для контроля
погрешности является слишком громоздким и дорогостоящим,
из-за чего такой контроль на практике обычно не
применяется. В случае использования неявных
итерационных
алгоритмов достаточно эффективным средством выбора
временного шага может служить контроль числа внутренних
итераций. Если число внутренних итераций, требуемых для
сходимости с заданной погрешностью, превосходит некоторую
величину, временной шаг уменьшают, в противном случае -
увеличивают. Для безитерационных алгоритмов такой контроль
неприменим, но его аналогом является прямая проверка
малости отклонения нелинейных операторов
от их
линеаризации:
A(w
^
)-A(w)-
DA(w)
D(u)
(u
^
-u)
||
A(w
^
)-A(w)
<ε
В простейшем случае следует следить за тем, чтобы
относительное изменение всех (или некоторых) счётных
величин на шаге не превосходило заданного значения |u
^
/u-1|<ε.
(по   Y,   при   выключенном   X).   Ошибки  отыскиваются   и
устраняются аналогично вышеуказанному.
     Следующим пунктом является переход к двумерной задаче.
Как и одномерную, её начинают с уравнений неразрывности и
движения. В случае неустойчивости её причину локализуют
переходя    к  циклическим    краевым   условиям   по   обеим
направлениям. Выявить место ошибки можно снова тем же
способом - отключением и подключением членов. Наиболее
вероятной причиной неустойчивости на этом этапе является
неправильное расщепление краевых условий.
     Добившись     безусловной     устойчивости     уравнений
гидродинамики, подключают остальные уравнения в той же
последовательности, что и для одномерной задачи. Как
правило, для остальных уравнений переход к двумерности не
столь критичен, как для уравнений неразрывности и движения.
     На этом заканчивается этап грубой отладки программы.
Следующим этапом является тонкая отладка - проведение
тестовых расчётов, сравнение с экспериментом, контроль
точности и т.д..


п.5.Вычислительная погрешность.

     Отдельной задачей является контроль вычислительной
погрешности,    что    требует     разработки    стратегии   выбора
временного      шага.        Последнее    для      высокоустойчивых
безитерационных алгоритмов является далеко не тривиальной
проблемой. Для задач сплошной среды возможен алгоритм
выбора шага на основе контроля локальной ошибки временной
аппроксимации       (апостериорная        оценка      погрешности),
аналогично тому, как это делается при интегрировании ОДУ.
Однако   вычисление      дополнительных    членов    для   контроля
погрешности является слишком громоздким и дорогостоящим,
из-за   чего    такой      контроль    на   практике    обычно   не
применяется. В случае использования неявных итерационных
алгоритмов     достаточно       эффективным    средством     выбора
временного шага может служить контроль числа внутренних
итераций. Если число внутренних итераций, требуемых для
сходимости с заданной погрешностью, превосходит некоторую
величину, временной шаг уменьшают, в противном случае -
увеличивают. Для безитерационных алгоритмов такой контроль
неприменим, но его аналогом является прямая проверка
малости     отклонения        нелинейных    операторов     от    их
линеаризации:
⎪ ^         DA(w) ^
⎪A(w)-A(w)- D(u) (u -u)⎪⎪
⎪                       ⎪
                          <ε
     |A(w^)-A(w)|
В   простейшем  случае   следует  следить  за   тем,   чтобы
относительное  изменение   всех  (или   некоторых)   счётных
величин на шаге не превосходило заданного значения          ^
                                                           |u
/u-1|<ε.