I am trying to solve a fundamental problem in analytical convective heat transfer: laminar free convection flow and heat transfer from a flat plate parallel to the direction of the generating body force.
Brief History of the problem
Effectively: a flat plate is vertical and parallel to the direction of gravity vector. The plate is hot and the ambient is not. Heat transfer occurs from the plate to the ambient through natural convection due to density stratification.
Simon Ostrach, a distinguished scientist in the field of microgravity science solved this problem through a coupled set of equations. In Ostrach's work, these equations were solved by an IBM Card Programmed Electronic Calculator
$$ F''' + 3 FF'' - 2 (F')^2 + H = 0 $$ $$ H'' + 2 \text{Pr} F H' = 0 $$
The Boundary conditions are: $$ F'(0) = F(0) = 0 $$ $$ H(0) = 1 $$ $$ F'(\infty) = H(\infty) = 0 $$
Here, $F$ provides the hydrodynamic solution while $H$ provides the thermal solution with Pr being the Prandtl number which is a property of the fluid that the plate is "immersed" in.
My Mathematica code ... it runs selectively
Clear[max, Pr, T, f, η, p];
max = 50;
Pr = 0.72;
pohl = NDSolve[{f'''[η] + 3 f[η] f''[η] -
2 (f'[η])^2 + T[η] == 0,
T''[η] + 2 Pr f[η] T'[η] == 0, f[0] == f'[0] == 0,
f'[max] == 0, T[0] == 1, T[max] == 0}, {f, T}, {η, max}]
p4 = Plot[{Evaluate[f'[η] /. pohl]}, {η, 0, max},
PlotRange -> All,
PlotLabel ->
Style[Framed["Hydrodynamic development is depicted on this plot"],
10, Blue, Background -> Lighter[Yellow]], ImageSize -> Large,
BaseStyle -> {FontWeight -> "Bold", FontSize -> 18},
AxesLabel -> {"η", "f'[η]"}, PlotLegends -> "Expressions"]
For a Prandtl number of 0.72 (Air) I get a velocity profile ($F'$) as suggested by the Ostrach in his pivotal report. However, for, many Prandtl numbers, the following warning message is sometimes flashed and I get incorrect velocity profiles (negative velocities) per the publication. For instance try Pr=6.
FindRoot::cvmit: Failed to converge to the requested accuracy or precision within 100 iterations. >>
NDSolve::berr: The scaled boundary value residual error of 2.9035865095898766`*^7 indicates that the boundary values are not satisfied to specified tolerances. Returning the best solution found.
I have experimented with the LSODA
method because this system of diff eqs is stiff and LSODA has proven to be a 'magic wand' in the past. What gives? How do I select a method for this problem? I wonder if this is a problem with the method of choice (or default method with no options) or my definition of the "free stream limit" $\infty$.
Pr=0.01
Pr=0.72
Pr=0.6 (what went wrong? Warning message was displayed too...)
Pr = 0.72
also. $\endgroup$max
with50
seems to be too large forPr = 0.6
(andPr = 0.72
in v9),max = 20
solves the problem. I guessmax = 50
can also be used if one manually sets the initial guess of "Shooting" method carefully. BTW, I observed similar problem when solving Young-Laplace equation and found using the asymptotic solution at far field as the boundary a good solution. Does this set of equation owns a analytic asymptotic solution at far field? $\endgroup$F
andH
) will be asymptotic in the far field. I found a mathematica file that uses the Shooting method by expressing one of these coupled variables as an initial condition. Alas, I do not have the time to express this here because of a lack of time today! I'll try to get to it in the evening. $\endgroup$