3 Fixed typo edited Jun 21 '16 at 12:40 Michael E2 160k1313 gold badges219219 silver badges518518 bronze badges The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence on Pr is continuous.) Pr = 0.72; polh72pohl72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence on Pr is continuous.) Pr = 0.72; polh72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence on Pr is continuous.) Pr = 0.72; pohl72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  2 Clarification edited Jun 21 '16 at 4:16 Michael E2 160k1313 gold badges219219 silver badges518518 bronze badges The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence on Pr is continuous.) Pr = 0.72; polh72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence is continuous.) Pr = 0.72; polh72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence on Pr is continuous.) Pr = 0.72; polh72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]  1 answered Jun 20 '16 at 19:34 Michael E2 160k1313 gold badges219219 silver badges518518 bronze badges The problem is with the default starting initial conditions used by the shooting method in NDSolve. The shooting method is where FindRoot is being used internally, so the OP's error message is a strong hint that this is the problem. Getting convergence in a nonlinear system can depend greatly on the starting conditions. Having luckily solved the system for Pr = 0.72, we can use its initial conditions as starting values for Pr = 0.6. We hope that it will be suitably close. (If not, we could have tried solving for, say, Pr = 0.66 and edged our way bit by bit to 0.6, hoping that the dependence is continuous.) Pr = 0.72; polh72 = 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}]; Pr = 0.6; 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}, Method -> {"Shooting", "StartingInitialConditions" -> Thread[{f[0], f'[0], f''[0], T[0], T'[0]} == ({f[0], f'[0], f''[0], T[0], T'[0]} /. First@pohl72)]}]  Plot: 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"]