12

I would like to solve a simple 2nd-order ODE with one of the boundary conditions defined at $ -\infty $. The ODE I am looking to solve is:

$$ w''(z)-2i\pi^2w(z)=0 $$

with the corresponding boundary conditions:

$$ w(z=-\infty)=0, \; w'(z=0)=0+i\dfrac{\tau_{0}}{\mu}. $$

My attempt at a solution using DSolve is as follows:

DSolve[{-2 I \[Pi]^2 w[z] + (w^\[Prime]\[Prime])[z] == 0, 
w[-Infinity] == 0, w'[0] == 0 + I Subscript[\[Tau], 0]/\[Mu]}, w[z],z]

but I only get an empty set of curly brackets as an output. I checked the rest of my snipet of code without the w[-Infinity]==0 boundary condition, and that works as expected; therefore, I know that this is a problem with the boundary condition at $z=-\infty$. I am looking for methods with which I can solve simple ODE's with boundary conditions at infinity, and any help would be greatly appreciated.

xzczd
  • 65,995
  • 9
  • 163
  • 468
Kaszt
  • 345
  • 2
  • 10

2 Answers2

11

This is the solution of your equation without the boundary conditions:

sol = DSolve[-2 I \[Pi]^2 w[z] + w''[z] == 0, w[z], z] // ExpToTrig //
   ComplexExpand

(*  {{w[z] -> 
   C[1] Cos[\[Pi] z] Cosh[\[Pi] z] + C[2] Cos[\[Pi] z] Cosh[\[Pi] z] +
     C[1] Cos[\[Pi] z] Sinh[\[Pi] z] - C[2] Cos[\[Pi] z] Sinh[\[Pi] z] + 
    I (C[1] Cosh[\[Pi] z] Sin[\[Pi] z] - C[2] Cosh[\[Pi] z] Sin[\[Pi] z] + 
       C[1] Sin[\[Pi] z] Sinh[\[Pi] z] + C[2] Sin[\[Pi] z] Sinh[\[Pi] z])}}  *)

Now let us take its limit at z->-Infinity:

Limit[w[z] /. sol, z -> -\[Infinity]]

(* {ComplexInfinity}  *)

Let us now try this limit at C[1]=0 and C[2]=0:

Limit[w[z] /. sol /. {C[1] -> 0}, z -> -\[Infinity]]

(* ComplexInfinity *)

Limit[w[z] /. sol /. {C[2] -> 0}, z -> -\[Infinity]]

(*  0  *)

The latter gives us what we need, therefore, C[2]=0.

Let us now implement the second boundary condition:

    Solve[(D[(w[z] /. sol /. C[2] -> 0), z] /. z -> 0) == I*t/m, C[1]]

(*  {{C[1] -> ((1/2 + I/2) t)/(m \[Pi])}}  *)

Done. Have fun!

Alexei Boulbitch
  • 39,397
  • 2
  • 47
  • 96
  • Nice post. I have not see you in a while, I hope you are all good. Regards. – user21 Nov 10 '16 at 09:19
  • @user21 Thank you, I am fine. – Alexei Boulbitch Nov 10 '16 at 12:40
  • What if some linear combination of the coefficients is zero, but both C[1]and C[2] are non-zero? Then you can't find the solution by testing simple cases. In this particular problem we are lucky: the correct boundary condition at infinity is C[2]==0 instead of Pi C[1]-7C[2]==0 or something. – Joonas Ilmavirta Nov 10 '16 at 16:21
  • @JoonasIlmavirta With sol = w[z] /. DSolve[-2 I \[Pi]^2 w[z] + w''[z] == 0, w[z], z][[1]]' check how does List @@ sol look like and the perform Limit[#, z -> -Infinity] & /@ List @@ sol - this explains why C[2]=0 and gives a hint how to proceed with less trivial cases. – corey979 Nov 10 '16 at 21:52
  • @Joonas Ilmavirta In the case you mentioned one needs to invent an approach. It is exactly the point, where science turns into art. – Alexei Boulbitch Nov 11 '16 at 08:36
2

This method is somewhat similar to Alexei's. We first solve the equation with the boundary condition (b.c.) at 0 i.e. the b.c. DSolve can handle:

generalsol = 
 DSolve[{-2 I π^2 w[z] + w''[z] == 0, w'[0] == 0 + (I Subscript[τ, 0])/μ}, 
   w[z], z][[1, 1, -1]]

(* ((1/2 - I/2) E^((-1 - 
I) π z) ((1 + I) π μ C[1] + (1 + I) E^((2 + 2 I) π z) π μ C[
 1] - I Subscript[τ, 0]))/(π μ) *)

This solution involves E^((-1 - I) π z), which shouldn't exist in a solution that goes to 0 at -Infinity, so coefficient of E^((-1 - I) π z) should be 0. To make the coefficient clearer, let's Collect:

Collect[generalsol, Exp[_], Simplify]
(* E^((1 + I) π z) C[1] + 
 E^((-1 - I) π z) (C[1] - ((1/2 + I/2) Subscript[τ, 0])/(π μ)) *)

Apparently, C[1] - ((1/2 + I/2) Subscript[τ, 0])/(π μ) should be equal to 0, so the particular solution satisfies the b.c. at -Infinity is:

sol = Function[z, #] &[
  E^((1 + I) π z) C[1] /. C[1] -> ((1/2 + I/2) Subscript[τ, 0])/(π μ)]

(* Check: *)
{-2 I π^2 w[z] + w''[z] == 0, w[-∞] == 0, 
   w'[0] == 0 + (I Subscript[τ, 0])/μ} /. w -> sol // Simplify
(* {True, True, True} *)
xzczd
  • 65,995
  • 9
  • 163
  • 468