forked from Nek5000/NekDoc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathboundaryc.tex
227 lines (203 loc) · 9.6 KB
/
boundaryc.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
\subsection{Boundary Conditions}\label{sec:boundary}
The boundary conditions for the governing equations
given in the previous section are now described.
%Note that if the boundary conditions (for any field variable)
%are nonzero, the inhomogeneities can either be defined as constant, or as fortran functions of
%appropriate parameters such as space, time, temperature, etc.
%In this case, the user is responsible for using relevant variables in all
%fortran function definitions.
The boundary conditions can be imposed in various ways:
\begin{itemize}
\item when the mesh is generated with \texttt{genbox}, as will be explained in Section~\ref{sec:genbox}
\item when the .rea file is read in PRENEK or directly in the .rea file
\item directly in the .rea file
\item in the subroutine \texttt{userbc}
\end{itemize}
The general convention for boundary conditions in the .rea file is
\begin{itemize}
\item upper case letters correspond to Primitive boundary conditions, as given in Table~\ref{tab:primitiveBCf, tab:primitiveBCt}
\item lower case letters correspond to user defined boundary conditions, see Table~\ref{tab:userBCf,tab:userBCt}
\end{itemize}
Since there are no supporting tools that will correctly populate the .rea file with the appropriate values, temperature, velocity, and flux boundary conditions are typically lower case and values must be specified in the \texttt{userbc} subroutine in the .usr file. %In this case PARAMs in the .rea file are dummies.
\subsection{Fluid Velocity}
Two types of boundary conditions are applicable to the
fluid velocity : essential (Dirichlet) boundary
condition in which the velocity is specified;
natural (Neumann) boundary condition in which the traction
is specified.
For segments that constitute the boundary \(\partial \Omega_f\), see Fig.~\ref{fig:domains},
one of these two types of boundary conditions must be
assigned to each component of the fluid velocity.
The fluid boundary condition can be {\em all Dirichlet}
if all velocity components of \(\bu\) are
specified; or it can be {\em all Neumann} if all traction components
\({\bf t} = [-p {\bf I} + \mu (\nabla \bu +
(\nabla \bu)^{T})] \cdot {\bf n}\), where
\({\bf I}\) is the identity tensor, \({\bf n}\) is the unit normal
and \(\mu\) is the dynamic viscosity, are specified;
or it can be {\em mixed Dirichlet/Neumann}
if Dirichlet and Neumann conditions are selected for different
velocity components.
Examples for all Dirichlet, all Neumann and mixed Dirichhlet/Neumann
boundaries are wall, free-surface and symmetry, respectively.
If the nonstress formulation is selected, then traction
is not defined on the boundary.
In this case, any Neumann boundary condition imposed must be homogeneous;
i.e., equal to zero.
In addition, mixed Dirichlet/Neumann boundaries must be aligned with
one of the Cartesian axes.
For flow geometry which consists of
a periodic repetition of a particular geometric unit,
the periodic boundary conditions can be imposed,
as illustrated in Fig.~\ref{fig:domains}.
\begin{table}
\begin{tabular}{ |l|l|l|l| }
\hline
Identifier & Description & Parameters&No of Parameters\\ \hline \hline
P & periodic & periodic element and face & 2 \\
V & Dirichlet velocity & u,v,w &3 \\
O & outflow & - &0 \\
W & wall (no slip) & - & 0 \\
F & flux & flux & 1\\
SYM & symmetry & - & 0\\
A & axisymmetric boundary & - & 0\\
MS & moving boundary & - & 0\\
ON & Outflow, Normal & - & 0\\
E & Interior boundary & Neighbour element ID & 2\\
\hline
\end{tabular}
\caption{Primitive boundary conditions (flow velocity)}\label{tab:primitiveBCf}
\end{table}
\begin{table}
\begin{tabular}{ |l|l| }
\hline
Identifier & Description\\ \hline \hline
v & user defined Dirichlet velocity\\
t & user defined Dirichlet temperature\\
f & user defined flux\\
\hline
\end{tabular}
\caption{User defined boundary conditions (flow velocity)}\label{tab:userBCf}
\end{table}
%\begin{itemize}
%\item 'MS ' (fs-hydro)
%\item 'O '
%\item 'ON ' (blasius)
%\item 'S ' (solid.rea)
%\end{itemize}
\paragraph*{}
The open(outflow) boundary condition ("O") arises as a natural boundary condition from the variational formulation of Navier Stokes. We identify two situations
\begin{itemize}
\item In the non-stress formulation, open boundary condition ('Do nothing')
\begin{equation}
[-p\vect I + \nu(\nabla \vect u)]\cdot \vect n=0
\end{equation}
\item In the stress formulation, free traction boundary condition
\begin{equation}
[-p\vect I + \nu(\nabla \vect u+\nabla \vect u^T)]\cdot \vect n=0
\end{equation}
\item the symmetric boundary condition ("SYM") is given as
\begin{eqnarray}
\vect u \cdot \vect n&=&0\ ,\\
(\nabla \vect u \cdot \vect t)\cdot \vect n&=&0
\end{eqnarray}
where \(\vect n\) is the normal vector and \(\vect t\) the tangent vector. If the normal and tangent vector are not aligned with the mesh the stress formulation has to be used.
\item the periodic boundary condition ("P") needs to be prescribed in the .rea file since it already assigns the last point to first via \(\vect u(\vect x)=\vect u(\vect x + L) \), where \(L\) is the periodic length.
\item the wall boundary condition ("W") corresponds to \(\vect u=0\).
\end{itemize}
%
%\begin{figure}
%\vspace{8.5in}
%\end{figure}
%
For a fully-developed flow in such a configuration, one can
effect great computational efficiencies by considering the
problem in a single geometric unit (here taken to be of
length L), and requiring periodicity of the field variables.
Nek5000 requires that the pairs of sides (or faces, in
the case of a three-dimensional mesh) identified as periodic
be identical (i.e., that the geometry be periodic).
For an axisymmetric flow geometry, the axis boundary
condition is provided for boundary segments that lie
entirely on the axis of symmetry.
This is essentially a symmetry (mixed Dirichlet/Neumann)
boundary condition
in which the normal velocity and the tangential traction
are set to zero.
For free-surface boundary segments, the inhomogeneous
traction boundary conditions
involve both the surface tension coefficient \(\sigma\)
and the mean curvature of the free surface.
\subsubsection{Passive scalars and Temperature}
The three types of boundary conditions applicable to the
temperature are: essential (Dirichlet) boundary
condition in which the temperature is specified;
natural (Neumann) boundary condition in which the heat flux
is specified; and mixed (Robin) boundary condition
in which the heat flux is dependent on the temperature
on the boundary.
For segments that constitute the boundary
\(\partial \Omega_f' \cup \partial \Omega_s'\) (refer to Fig. 2.1),
one of the above three types of boundary conditions must be
assigned to the temperature.
The two types of Robin boundary condition for temperature
are : convection boundary conditions for which the heat
flux into the domain depends on the heat transfer coefficient
\(h_{c}\) and the difference between the environmental temperature
\(T_{\infty}\) and the surface temperature; and radiation
boundary conditions for which the heat flux into the domain
depends on the Stefan-Boltzmann constant/view-factor
product \(h_{rad}\) and the difference between the fourth power
of the environmental temperature \(T_{\infty}\) and the fourth
power of the surface temperature.
\begin{table}
\begin{tabular}{ |l|l|l|l| }
\hline
Identifier & Description & Parameters&No of Parameters\\ \hline \hline
T & Dirichlet temperature/scalar & value &1 \\
O & outflow & - &0 \\
P & periodic boundary & - & 0\\
I & insulated (zero flux) for temperature& & 0\\
\hline
\end{tabular}
\caption{Primitive boundary conditions (Temperature and Passive scalars)}\label{tab:primitiveBCt}
\end{table}
\begin{table}
\begin{tabular}{ |l|l| }
\hline
Identifier & Description\\ \hline \hline
t & user defined Dirichlet temperature\\
c & Newton cooling\\
f & user defined flux\\
\hline
\end{tabular}
\caption{User defined boundary conditions (Temperature and Passive scalars)}\label{tab:userBCt}
\end{table}
\paragraph*{}
\begin{itemize}
\item open boundary condition ("O")
\begin{equation}
k(\nabla T)\cdot \vect n=0
\end{equation}
\item insulated boundary condition ("I")
\begin{equation}
k(\nabla T)\cdot \vect n=0
\end{equation}
where \(\vect n\) is the normal vector and \(\vect t\) the tangent vector. If the normal and tangent vector are not aligned with the mesh the stress formulation has to be used.
\item the periodic boundary condition ("P") needs to be prescribed in the .rea file since it already assigns the last point to first via \(\vect u(\vect x)=\vect u(\vect x + L) \), where \(L\) is the periodic length.
\item Newton cooling boundary condition ("c")
\begin{equation}
k(\nabla T)\cdot \vect n=h(T-T_{\infty})
\end{equation}
\item flux boundary condition ("f")
\begin{equation}
k(\nabla T)\cdot \vect n=f
\end{equation}
\end{itemize}
%\subsubsection*{Passive scalars}
The boundary conditions for the passive scalar fields
are analogous to those used for the temperature field.
Thus, the temperature boundary condition
menu will reappear for each passive scalar field so that the
user can specify an independent set of boundary conditions
for each passive scalar field.