In [7]:
from IPython.display import Image
"Physical and computational aspects of convective heat transfer"
T. CEBECI, P. BRADSHAW, Springer 1984
Applying assumptions from Prandtl's boundary layer theorem, the Navier-Stokes equations can simplified for the 2D turbulent free jet. The follwoing set of equations depict the continuity, momentum and energy equations, respectively.
With
for the laminar and turbulent case, and similarly we have
for the laminar and turbulent cases of the energy equation. A proper turbulence model has to be selected for the Reynolds' stresses and turbulent diffusion. In this case the Cebeci-Smith model, derived from the Schlichting formula which is based on the mixing length is applied.
Analogy considerations to the molecular viscosity lead to
and for the turbulent diffussivity
With
By analogy with the molecular Prandtl number:
a turbulent Prandtl number can be defined
with
Applying the Falkner-Skan transformation:
the following equations for the 2D laminar heated free jet can be derived:
The boundary conditions are:
The BOX-method of H.B. Keller is a second order accurate discretization scheme for parabolic partial differential equations. Since the boundary layer equations are of parabolic type the scheme is well suited.
The BOX-method consists of four steps:
The order recuction is done by substitution which typically leads to a set of ODEs and one PDE. The ODEs are discretized at the new, unknown position (e.g. space or time), whereas the first oder PDE is discretized halfway between known and unknown quantities.
In this case, steps 3 and 4 are treated in a different way and a solver for a system of nonlinear equations is employed instead.
The solver applied is the fsolve solver from scipy.optimize and is dedicated to large systems of equations forming sparse matrices.
which is a set of 3 ODEs and 2 PDEs, where
The boundary conditions after the substitution are:
The figures below depict the transformed computational mesh at the nozzle exit and the nomenclature of the Keller BOX and associated discretization points for the ODEs and PDEs. In the lower sketch the solution propagation of the PDE is from left to right which corresponds to the flow direction and the parabolic nature of the flow type (downstream disturbances do not affect the upstream solution).
In [8]:
import os
path = 'C:\Dropbox\JET\Documentation'
_file = 'Nozzle_Meshgrid.png'
filename = os.path.join(path, _file)
Image(filename=filename, width=600)
Out[8]:
In [9]:
_file = 'Keller_BOX.png'
filename = os.path.join(path, _file)
Image(filename=filename, width=600)
Out[9]:
Using central differences to dicretize this ODE at the unknown location (see ODE discretization point in above figure) results in:
and likewise for the remaining two ODEs:
The PDE is again discretized using central differences, but now at a point halfway between known and unknown quantities in the center of the "Keller BOX" (see PDE disecretization point in above figure).
The discretization is done one by one for each individual term. For the first term of the momentum equation it is done in a quite verbose way in order to show the process in every detail. In the last line the variables are already separated in terms of known (superscript $n-1$) and unknown (superscript $n$) positions. This is needed later for grouping the coefficients of the unknowns as well as the known terms for the matrix-vector solution procedure ($\matrix{A}\vec{x}=\vec{b}$) for the linear equation system.
Keeping the $( )_{j-1/2}$ terms, the complete discretized reduced order momentum equation now is:
Multiply by 2 and regroup LHS by unknowns and knowns:
The prefactor on the RHS is substitued by $\alpha$:
Resolving the terms on the RHS and indicating knowns and unknowns at the LHS:
Futher rerarrangement and putting all unknowns to the LHS (also those, where knowns and unknowns are combined in a term) and all knowns to the RHS yields the final discretization of the reduced order momentum equation:
The discretization is done again one by one for each individual term, but now without being too verbose.
Discretized energy equation:
Final discretization of the reduced order energy equation with separated knowns and unknowns.
All discretized ODEs and PDEs together:
And the boundary conditions become:
and $(x_1, x_2, x_3, . . . , x_n)$ being the solution vector $x$ we can apply the solver scipy.optimize.fsolve from the scipy package.
In [ ]:
In [ ]:
In [ ]: