diff options
author | eug-vs <eugene@eug-vs.xyz> | 2022-05-26 12:36:31 +0400 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2022-05-26 12:36:31 +0400 |
commit | 5881e6fbd2086028014519cd0e1ea0a01a3ca896 (patch) | |
tree | c65d669e06068535f950d2dac664aa7f46f88ee5 | |
parent | 55275c2e83809d2a1a5f76012c960e0a1b6d5320 (diff) | |
download | CFD-SIMPLE-5881e6fbd2086028014519cd0e1ea0a01a3ca896.tar.gz |
report: discussion of algorithm
-rw-r--r-- | src/report/report.tex | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/report/report.tex b/src/report/report.tex index a2625be..b66b64a 100644 --- a/src/report/report.tex +++ b/src/report/report.tex @@ -263,6 +263,26 @@ \clearpage +\section{Детальный разбор алгоритма} +Метод называется полунеявным, т.к мы отбросили слагаемое $\sum a_{nb} u_{nb}'$. Оно представляет собой неявное влияние поправки давления на скорость; поправки давления в соседних узлах могут изменять соседние скорости, тем самым также создавая поправку к скорости к рассматриваемой точке. + +Отбрасывание этого слагаемого было бы непозволительно, если бы оно приводило к получению неточных решений дискретных форм уравнений движения и неразрывности. Так получается, что решение, к которому сходится такой итерационный процесс, не содержит неточностей, вызванных отбрасыванием этого члена. В решении мы получаем поле давления такое, что поле скорости удовлетворяет уравнению неразрывности. Детали построения $p'$ не оказывают влияния на правильность решения. + +Рассмотрим теперь последнюю итерацию, после которой мы объявим сходимость. К этому моменту у нас уже есть, в результате всех предыдущих итераций, некоторое поле давления. Используя его как $p^*$, мы решим уравнения движения чтобы получить $u^*, v^*$. Из этого поля скорости, мы вычислим массовый расход $b$ для уравнения поправки давления. Так как это последняя итерация, значение $b$ будет практически нулевым на всех контрольных объёмах. Тогда, $p' = 0$ по всей сетке будет решением уравнения поправки давления, а значения $u^*, v^*$ будут являться правильными значениями компонент скорости. Поэтому тот факт, что $b$ устремляется в ноль говорит нам о полученном решении. И конечно, это решение никак не содержит отклонений вызванных аппроксимациями, использованными для $p'$, т.к мы по факту не используем $p'$ в последней итерации. + +Таким образом, массовый расход $b$ является полезным индикатором сходимости. Итерации следует продолжать, пока значение $b$ на всей сетке не станет достаточно малым. + +Учитывая всё вышесказанное, уравнение поправки давления можно рассматривать как лишь промежуточный алгоритм, который приводит нас к правильному полю давления, и не отклоняет от точного решения. Если итерационный процесс сходится, все алгоритмы для $p'$ будут приводить к одинаковому решению. + +Скорость сходимости, однако, зависит от этого алгоритма. Если мы отбросим слишком много слагаемых, то можем и вообще потерять сходимость. + +Алгоритм нахождения $p'$, используемый нами, также склонен приводить к расхождению процесса, если не использовать релаксацию. Достаточно будет задать коэффициент релаксации для $u^*, v^*$ около $0.5$. Для давления будем использовать $\alpha_p = 0.8$: + +\begin{equation} + p = p^* + \alpha_p \cdot p' +\end{equation} + + \chapter{Результаты} Все результаты получены при $Re = 400$: |