diff options
author | eug-vs <eugene@eug-vs.xyz> | 2022-05-26 11:49:41 +0400 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2022-05-26 11:49:51 +0400 |
commit | 55275c2e83809d2a1a5f76012c960e0a1b6d5320 (patch) | |
tree | dafe568a85e251609fca90fe7ac3d4324d1bf945 | |
parent | 519da34ae60842b248997f04daaf21d98e7f572a (diff) | |
download | CFD-SIMPLE-55275c2e83809d2a1a5f76012c960e0a1b6d5320.tar.gz |
report: difficulty chapter
-rw-r--r-- | src/report/images/control-volume-u.png | bin | 0 -> 12169 bytes | |||
-rw-r--r-- | src/report/images/zigzag-pressure-field-2d.png | bin | 0 -> 19043 bytes | |||
-rw-r--r-- | src/report/images/zigzag-pressure-field.png | bin | 0 -> 3062 bytes | |||
-rw-r--r-- | src/report/presentation.tex | 34 | ||||
-rw-r--r-- | src/report/report.tex | 96 |
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 Binary files differnew file mode 100644 index 0000000..ab30377 --- /dev/null +++ b/src/report/images/control-volume-u.png diff --git a/src/report/images/zigzag-pressure-field-2d.png b/src/report/images/zigzag-pressure-field-2d.png Binary files differnew file mode 100644 index 0000000..e5d6f8e --- /dev/null +++ b/src/report/images/zigzag-pressure-field-2d.png diff --git a/src/report/images/zigzag-pressure-field.png b/src/report/images/zigzag-pressure-field.png Binary files differnew file mode 100644 index 0000000..512ae80 --- /dev/null +++ b/src/report/images/zigzag-pressure-field.png 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} \] |