# DSolve bvlim error due to Boundary condition at infinity

I am solving an Ode using Mathematica that has boundary condition at infinity which is why Mathematica is showing error message. Please help to tackle this problem.

DSolve[t''[e] + Pr (1 - Exp[-Ke ])/K t'[e] == 0 && t[0] == 1 && t[Infinity] == 0, t, e]


The error message is

DSolve::bvlim: For some branches of the general solution, unable to compute the limit at the given points. Some of the solutions may be lost.

• Are you sure you corrected the ODE? The only change is trivial one to the constant from Pr (1 - Exp[-K η])/η to Pr (1 - Exp[-Ke])/K, so it is still a linear DE with constant coefficients. That does not change the validity of the approaches in Vitaly's and my answers. All it does is put our constants out of step with the question's. – Michael E2 Nov 18 '14 at 12:43
• @Michael , its correct now. – Shaista Kanwal Nov 18 '14 at 12:51
• can I put Pr (1 - Exp[-Ke])/K equal to a since it includes 'e' now which is an independent variable? I wonder how will it give solution in form of required function. – Shaista Kanwal Nov 18 '14 at 12:57
• Then it should be written Pr (1 - Exp[-K e])/K, with a space between the K and the e. Ke would be interpreted as a single symbol. – Michael E2 Nov 18 '14 at 14:07
• Also, DSolve uses the symbol K (and the symbol C) in solving equations. You should probably avoid using K as a variable. Try executing ? K. – Michael E2 Nov 18 '14 at 14:37

If you denote x-independent constant factor as

a = Pr (1 - Exp[-K \[Eta]])/\[Eta]


then

FullSimplify[DSolve[{t''[x] + a t'[x] == 0, t[0] == 1}, t[x], x]]


{{t[x] -> (a + C[1] - E^(-a x) C[1])/a}}

and t[Infinity] == 0 is satisfied if a>0 and C[1] = -a so answer is

E^(-a x)


You can solve these quickly by setting the limit:

Limit[DSolveValue[{t''[x] + a t'[x] == 0, t[0] == 1, t[M] == 0}, t[x], x], M -> \[Infinity], Assumptions -> a > 0]


E^(-a x)

Limit[DSolveValue[{t''[x] + a t'[x] == 0, t[0] == 1, t[M] == 0}, t[x], x], M -> \[Infinity], Assumptions -> a < 0]

1

• Replacing a complicated constant by a symbol like a is good advice, when things are working. (+1) – Michael E2 Nov 17 '14 at 21:08
• Um, I meant when things aren't working. Sigh – Michael E2 Nov 17 '14 at 21:30
• Thanks for your answers. Actually there is some mistake on my end in the question that I have corrected now. The solution of this BVP is given in form of confluent hypergeometric fuction which ist[e] = Exp[-e/K] Subscript[F, 1][Pr/K^2; 1 + Pr/K^2; -(Pr/K^2) Exp[-e K]]/ Subscript[F, 1][Pr/K^2; 1 + Pr/K^2; -(Pr/K^2)] – Shaista Kanwal Nov 18 '14 at 12:29
• t[e] = Exp[-e/K] Subscript[F, 1][Pr/K^2; 1 + Pr/K^2; -(Pr/K^2) Exp[-e K]]/ Subscript[F, 1][Pr/K^2; 1 + Pr/K^2; -(Pr/K^2)] – Shaista Kanwal Nov 18 '14 at 12:34

There is a hint in the error message that the limit cannot be computed. When you have symbolic coefficients, it is possible, even likely, that the existence of the limit depends on them. If we specify the coefficient of t'[e] is positive, we get a result:

Assuming[Pr (1 - Exp[-K η])/η > 0,
DSolve[t''[e] + Pr (1 - Exp[-K η])/η t'[e] == 0 &&
t[0] == 1 && t[Infinity] == 0, t, e]
]

(*  {{t -> Function[{e}, E^((e (-1 + E^(-K η)) Pr)/η)]}}  *)


If it is not positive, then there is no solution:

Assuming[Pr (1 - Exp[-K η])/η < 0,
DSolve[t''[e] + Pr (1 - Exp[-K η])/η t'[e] == 0 &&
t[0] == 1 && t[Infinity] == 0, t, e]
]

(*  {}  *)


Likewise for the boundary case, if the coefficient is zero, which is probably not the case anyway.

Porbably one knows something about the coefficients from the context of the problem in which it arises. If the critical value of the coefficient is not obvious (greater/less than zero in this case), one might inspect the general solution. My eyes are weak so I used a big variable:

t[XXXXXX] /. DSolve[t''[e] + Pr (1 - Exp[-K η])/η t'[e] == 0 && t[0] == 1, t, e] // Simplify
(*
{((-1 + E^(K η)) Pr - E^(K η) (-1 +
E^(((-1 + E^(-K η)) Pr XXXXXX)/η)) η C[1])/((-1 + E^(K η)) Pr)}
*)


The variable XXXXXX appears only in the exponential so the sign of its coefficient will determine whether the limit exists or not. Vitaliy's advice to replace a complicated coefficient with a simple symbol is good, too.