From 55275c2e83809d2a1a5f76012c960e0a1b6d5320 Mon Sep 17 00:00:00 2001
From: eug-vs <eugene@eug-vs.xyz>
Date: Thu, 26 May 2022 11:49:41 +0400
Subject: report: difficulty chapter

---
 src/report/report.tex | 96 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 64 insertions(+), 32 deletions(-)

(limited to 'src/report/report.tex')

diff --git a/src/report/report.tex b/src/report/report.tex
index 8febe23..a2625be 100644
--- a/src/report/report.tex
+++ b/src/report/report.tex
@@ -1,7 +1,7 @@
 \documentclass[a4paper,14pt]{extreport}
 
 \usepackage{./include/bsumain}
-\usepackage{./include/bsupracticetitle}
+\usepackage{./include/bsudiplomatitle14}
 \usepackage[utf8x]{inputenc}
 \usepackage[hidelinks]{hyperref}
 \usepackage{listings}
@@ -9,8 +9,8 @@
 \graphicspath{ {./src/report/images/} }
 
 \author{Соколов Евгений Викторович}
-\title{Отчет по преддипломной практике \\  Численное моделирование течения в плоском канале}
-\supervisor{Репников Василий Иванович}
+\title{Численное моделирование течения в плоском канале с обратным уступом}
+% \supervisor{Репников Василий Иванович}
 \mentor{Тетерев Александр Владимирович}
 \subfaculty{Кафедра вычислительной математики}
 
@@ -77,43 +77,76 @@
 Здесь необходимо иметь в виду, что в силу отсутствия точной информации о поведении решения на открытой границе В6 условие \ref{eq:boundary_condition} следует рассматривать как приближенное. Это означает, что в процессе итерационного построения решения задачи, исходя из требования баланса массы во всей расчетной области, значения компонент u и v на каждой итерации подвергаются малой корректировке.
 
 \chapter{Метод решения}
-\section{Шахматная сетка}
-	Для реализации алгоритма используется шахматная сетка. Её особенностью является то, что она не обязательно рассчитывает все переменные в одних и тех же узловых точках (при желании можно использовать для каждой зависимой переменной свою сетку).
-	При расположении в шахматном порядке сетке составляющие скорости рассчитываются для точек, лежащих на гранях контрольных объемов. Таким образом, составляющая скорости $u$ вдоль оси $x$ рассчитывается на гранях, перпендикулярных направлению оси $x$.
+\section{Основная сложность}
+Основной сложностью вычисления поля скорости является тот факт, что поле давления неизвестно. Уравнение движения будет содержать разницу между двумя \textbf{чередующимися} узлами сетки, а не \textbf{соседними}. Следствием этого является то что давление берётся на сетке, отличающейся от применённой, из-за чего точность решения может снижаться.
+
+Но есть более серьезная проблема - рассмотрим распределение давления на рисунке. Такое поле давления сложно назвать реалистичным, однако в любой точке $P$ соответствующая разница $P_W - P_E$ обращается в нуль. Сокрушительным последствием этого будет то, что такое поле давления будет \textbf{казаться} однородным, хотя таковым и не является.
 
 \begin{figure}[h]
     \centering
-    \includegraphics[width=0.8\textwidth]{staggered-grid}
-    \caption{Шахматная сетка}
+    \includegraphics[width=0.8\textwidth]{zigzag-pressure-field}
+    \caption{Зигзагообразное поле давления}
 \end{figure}
 
-Следует отмеитть, что по отношению к узловым точкам основной сетки точки, в которых определяются $u$, смещены только в направлении оси $x$.
-	Легко выбрать способ размещения узловых точек для составляющих $v$ и $w$. Ниже показана двумерная сетка, где узловые точки для $u$ и $v$ помещены на соответствующих гранях контрольных объёмов.
+Разница ещё более заметна в двумерном случае. Например, абсолютно случайно выбранное поле давления, распределенное определенным образом, не будет применять давление ни в направлении $x$, ни $y$ оси. И только вдруг такое поле появится в течение итерационного процесса, ничего это уже не остановит вплоть до того, как процесс сойдётся.
+
+Если взять гладкое поле давления, являющееся решением, то можно построить любое количество таких же "зигзагообразных" полей, также являющихся решениями, т.к уравнения движения в этом случае не будут затронуты. Численный метод, допускающий такие абсурдные решения нам не подходит, поэтому нужно искать что-то другое.
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.8\textwidth]{zigzag-pressure-field-2d}
+    \caption{Двумерное зигзагообразное поле давления}
+\end{figure}
+
+\clearpage
+
+\section{Смещённая шахматная сетка}
+  Описанные выше трудности могут быть разрешены, если учесть тот факт, что нам не нужно вычислять все переменные в одних и тех же узлах сетки. Если понадобится, можно использовать отдельную сетку хоть на каждую независимую переменную. Это особенно удобно в случае скорости - распределяя её на сетке, отличной от давления, мы избавляемся от проблемы.
+
+	Для реализации алгоритма будет используется смещённая шахматная сетка. Её особенностью является то, что она не обязательно рассчитывает все переменные в одних и тех же узловых точках. При расположении в шахматном порядке сетке составляющие скорости рассчитываются для точек, лежащих на гранях контрольных объемов. Таким образом, составляющая скорости $u$ вдоль оси $x$ рассчитывается на гранях, перпендикулярных направлению оси $x$.
 
 \begin{figure}[h]
     \centering
     \includegraphics[width=0.8\textwidth]{staggered-grid-2}
-    \caption{Сетка и узловые точки}
+    \caption{Смещённая шахматная сетка}
 \end{figure}
 
-Прямым следствием введения шахматной сетки является то, что массовый расход через грани контрольного объема можно теперь определять без интреполяции соответствующей состовляющей скорости. Также имеются два важных преимущества: при использовании шахматной сетки только физические поля скорости могут удовлетворять уравнению неразрывности. Другое важное преимущество шахматной сетки заключается в том, что разность давлений между двумя соседними узловыми точками определяет составляющую скорости в точке, расположенной между этими узловыми точками.
+Следует отмеитть, что по отношению к узловым точкам основной сетки точки, в которых определяются $u$, смещены только в направлении оси $x$.
+	Легко выбрать способ размещения узловых точек для составляющих $v$ и $w$. Ниже показана двумерная сетка, где узловые точки для $u$ и $v$ помещены на соответствующих гранях контрольных объёмов.
+
+Прямым следствием введения шахматной сетки является то, что массовый расход через грани контрольного объема можно теперь определять без интреполяции соответствующей состовляющей скорости. Также имеются два важных преимущества: при использовании шахматной сетки только физические поля скорости могут удовлетворять уравнению неразрывности. Другое важное преимущество такой сетки заключается в том, что разность давлений между двумя соседними узловыми точками определяет составляющую скорости в точке, расположенной между этими узловыми точками.
 
 \section{Уравнения количества движения}
-Для расчёта коэффицента диффузии и массого расхода на гранях контрольного объема используется дискеретная формула:
+На рисунке \ref{fig:cvu} представлен контрольный объём для горизонтальной компоненты скорости $u$. Если не брать в расчёт наличие других переменных, он не представляет собой ничего необычного. Однако этот контрольный объём на самом деле \textbf{смещён} относительно контрольного объёма для узла основной сетки $P$. Смещение происходит только в направлении $x$, так что грани, перпендикулярные движению проходят через точки $P$ и $E$. Такое расположение реализует главное преимущество смещённой шахматной сетки - разница $P_P - P_E$ может использоваться для вычисления силы давления, действующей на контрольный объём для $u$.
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.8\textwidth]{control-volume-u}
+    \caption{Контрольный объём для $u$}
+    \label{fig:cvu}
+\end{figure}
+
+Для расчёта коэффициента диффузии и массового расхода на гранях контрольного объема используется дискеретная формула, для $u_e$ она выглядит как:
 
 \begin{equation} \label{eq:momentum1}
-  a_e u_e = \sum a_nb u_nb + b + (p_p - p_E)A_{e^*}.
+  a_e u_e = \sum a_{nb} u_{nb} + b + (p_p - p_E)A_{e^*}.
 \end{equation}
 
-Уравнения количества движения можно решить только в том случае, если поле давления задано или каким-то образом найдено. Если при решении использовать неверное поле давления, найденное поле скорости не будет удовлетворять уравнению неразрывности. Выразим такое поле скорости, полученное с использованием приближенного поля давления $p^*$, через $u^*$, $v^*$.
+Здесь и в дальнейшем индексы $n, e, s, w$ (\emph{North, East, South, West}) обозначают элементы, смещённые в северном, восточном, южном и западном направлении соответственно. Индекс $nb$ (\emph{neighbour}) обозначает каждый из таких соседних элементов.
+
+В уравнении \ref{eq:momentum1} коэффициенты $a_{nb}$ учитывают влияние конвекции и диффузии на гранях контрольного объёма. Слагаемое $b$ представляет собой массовый расход в контрольном объёме. Градиент давления порождает последнее слагаемое - это сила давления действующая на контрольный объём, где $A_e$ - площадь на которую действует это самое давление. В двумерном случае $A_e$ это просто $\Delta y \times 1$.
+
+Здесь и в дальнейшем индексы $n, e, s, w$ (\emph{North, East, South, West}) обозначают элементы, смещённые в северном, восточном, южном и западном направлении соответственно. Индекс $nb$ (\emph{neighbour}) обозначает каждый из таких соседних элементов.
+
+Уравнения количества движения можно решить только в том случае, если поле давления задано или каким-то образом найдено. Если при решении использовать неверное поле давления, найденное поле скорости не будет удовлетворять уравнению неразрывности. Такое поле скорости, рассчитанное с помощью угаданного $p^*$, обозначим как $u^*$ и $v^*$.
 
 Это поле скорости находится в результате решения следующих уравнений:
 
 \begin{equation} \label{eq:momentum2}
-  a_e u_e^* = \sum a_nb u_nb^* + b + (p_p^* - p_E^*)A_{e^*};
+  a_e u_e^* = \sum a_{nb} u_{nb}^* + b + (p_p^* - p_E^*)A_{e^*};
 \end{equation}
 \begin{equation}
-  a_n u_n^* = \sum a_nb u_nb^* + b + (p_p^* - p_N^*)A_{n^*};
+  a_n u_n^* = \sum a_{nb} u_{nb}^* + b + (p_p^* - p_N^*)A_{n^*};
 \end{equation}
 
 \section{Поправки скорости и давления}
@@ -152,13 +185,13 @@
   u_e = u_e^* + d_e(p_P' - p_E')
 \end{equation}
 \begin{equation}
-  v_n = v_n^* + d_n(p_P' - y_N')
+  v_n = v_n^* + d_n(p_P' - p_N')
 \end{equation}
 
 
 \section{Уравнение для поправки давления}
 Преобразуем уравнение неразрывности в уравнение для поправки давления. Препдположим, что плотность непосредственно зависит от давления. Уравнение неразрывности имеет вид:
-\begin{equation}
+\begin{equation} \label{eq:pcorrect}
   \frac{\partial p}{\partial t} + \frac{\partial (pu)}{\partial x} + \frac{\partial (pv)}{\partial y} + \frac{\partial (pw)}{\partial z} = 0.
 \end{equation}
 
@@ -169,21 +202,20 @@
     \caption{Контрольный объем}
 \end{figure}
 
-Предположим, что значение плотности во всем контрольном объеме равно $p_P$. Также будем считать, что значение массовой скорости на всей грани контрольного объема определяется значение составляющей скорости $u_e$ в точке $e$.
+Предположим, что значение плотности во всем контрольном объеме равно $p_P$. Также будем считать, что значение массовой скорости на всей грани контрольного объема определяется значение составляющей скорости $u_e$ в точке $e$. Тогда проинтегрированная форма уравнения неразрывности \ref{eq:pcorrect} становится:
 
 \begin{equation}
 \begin{split}
-  \frac{(p_P -p_P^0)\Delta x \Delta y \Delta z}{\Delta t} +
-  [(pu)_e - (pu)_w]\Delta y \Delta z +
-  [(pv)_n - (pv)_s]\Delta z \Delta x + \\
-  [(pw)_t - (pw)_b]\Delta x \Delta y = 0
+  \frac{(p_P -p_P^0)\Delta x \Delta y}{\Delta t} +
+  [(pu)_e - (pu)_w]\Delta y +
+  [(pv)_n - (pv)_s]\Delta x
 \end{split}
 \end{equation}
 
 Если теперь вместо всех составляющих скорости подставить выражения из поправочных формул для скорости, то после группировки соответствующих членов получим следующее уравнение для сеточных значений $p’$:
 
 \begin{equation}
-  a_P p_P' = a_E p_E ' + a_W p_W ' + a_N p_N' + a_S p_S ' + a_T p_T ' + a_B p_B ' + b,
+  a_P p_P' = a_E p_E ' + a_W p_W ' + a_N p_N' + a_S p_S ' + b,
 \end{equation}
 
 где
@@ -191,19 +223,19 @@
 \[
 \begin{split}
   \begin{cases}
-  a_E = p_e d_e \Delta y \Delta z; a_W = p_w d_w \Delta y \Delta z; a_N = p_N d_n \Delta z \Delta x; \\
-  a_S = p_s d_s \Delta z \Delta x; a_T = p_t d_t \Delta x \Delta y; a_B = p_b d_b \Delta x \Delta y; \\
-  a_P = a_E + a_W + a_N + a_S + a_T + a_B; \\
+  a_E = p_e d_e \Delta y; \\
+  a_W = p_w d_w \Delta y; \\
+  a_N = p_n d_n \Delta x; \\
+  a_S = p_s d_s \Delta x; \\
+  a_P = a_E + a_W + a_N + a_S; \\
   \end{cases}
 \end{split}
 \]
 
 \[
 \begin{split}
-  b = \frac{(p_P -p_P^0)\Delta x \Delta y \Delta z}{\Delta t} +
-  [(pu^*)_e - (pu^*)_w]\Delta y \Delta z + \\
-  + [(pv^*)_n - (pv^*)_s]\Delta z \Delta x +
-  [(pw^*)_t - (pw^*)_b]\Delta x \Delta y.
+  b = \frac{(p_P -p_P^0)\Delta x \Delta y}{\Delta t} +
+  [(pu^*)_e - (pu^*)_w]\Delta y + [(pv^*)_n - (pv^*)_s]\Delta x
 \end{split}
 \]
 
-- 
cgit v1.2.3

