Using DSolve with a boundary condition at -Infinity
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!
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} *)