summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2022-05-26 11:49:41 +0400
committereug-vs <eugene@eug-vs.xyz>2022-05-26 11:49:51 +0400
commit55275c2e83809d2a1a5f76012c960e0a1b6d5320 (patch)
treedafe568a85e251609fca90fe7ac3d4324d1bf945
parent519da34ae60842b248997f04daaf21d98e7f572a (diff)
downloadCFD-SIMPLE-55275c2e83809d2a1a5f76012c960e0a1b6d5320.tar.gz
report: difficulty chapter
-rw-r--r--src/report/images/control-volume-u.pngbin0 -> 12169 bytes
-rw-r--r--src/report/images/zigzag-pressure-field-2d.pngbin0 -> 19043 bytes
-rw-r--r--src/report/images/zigzag-pressure-field.pngbin0 -> 3062 bytes
-rw-r--r--src/report/presentation.tex34
-rw-r--r--src/report/report.tex96
5 files changed, 98 insertions, 32 deletions
diff --git a/src/report/images/control-volume-u.png b/src/report/images/control-volume-u.png
new file mode 100644
index 0000000..ab30377
--- /dev/null
+++ b/src/report/images/control-volume-u.png
Binary files differ
diff --git a/src/report/images/zigzag-pressure-field-2d.png b/src/report/images/zigzag-pressure-field-2d.png
new file mode 100644
index 0000000..e5d6f8e
--- /dev/null
+++ b/src/report/images/zigzag-pressure-field-2d.png
Binary files differ
diff --git a/src/report/images/zigzag-pressure-field.png b/src/report/images/zigzag-pressure-field.png
new file mode 100644
index 0000000..512ae80
--- /dev/null
+++ b/src/report/images/zigzag-pressure-field.png
Binary files differ
diff --git a/src/report/presentation.tex b/src/report/presentation.tex
new file mode 100644
index 0000000..c5bb39d
--- /dev/null
+++ b/src/report/presentation.tex
@@ -0,0 +1,34 @@
+\documentclass{beamer}
+
+\usepackage[english,russian]{babel}
+\usepackage[utf8x]{inputenc}
+\graphicspath{ {./src/report/images/} }
+
+\title{Численное моделирование течения в плоском канале}
+\author{Соколов Евгений}
+
+\begin{document}
+
+\maketitle
+
+\begin{frame}{Постановка задачи}
+Рассматривается движение несжимаемой вязкой жидкости с постоянными характеристиками, такими как плотность $\rho$ и динамический коэффициент вязкости $\mu$. Считается, что поток двумерный и стационарный.
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=0.8\textwidth]{flow-scheme}
+ \caption{Схема течения}
+\end{figure}
+\end{frame}
+
+\begin{frame}{Метод решения}
+ Для реализации алгоритма используется шахматная сетка. Её особенностью является то, что она не обязательно рассчитывает все переменные в одних и тех же узловых точках (при желании можно использовать для каждой зависимой переменной свою сетку).
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=0.5\textwidth]{staggered-grid}
+ \caption{Шахматная сетка}
+\end{figure}
+\end{frame}
+
+
+\end{document}
+
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}
\]