Partial Differential Equations 7.3 Hyperbolic Equations: 7.3-2 D'Alembert's Method
Partial Differential Equations 7.3 Hyperbolic Equations: 7.3-2 D'Alembert's Method
= c
2
2
2
x
u
ct x
ct x
ds s g ) (
*
(7.3-2)
where f
*
and g
*
denote the odd extension of f(x) and g(x). The reason why the odd extension
is used can be deduced from the Fourier solution of (7.3-1) with g(x) = 0.
u(x,t) =
1 n
n
b
sin(
L
n
x)cos(
L
cn
t)
From the trigonometric identity
sin()cos( ) =
2
1
[sin( ) + sin( + )]
sin(
L
n
x)cos(
L
cn
t) =
2
1
{ sin[
L
n
(x ct)] + sin[
L
n
(x + ct)]}
u(x,t) =
2
1
1 n
n
b
{ sin[
L
n
(x ct)] + sin[
L
n
(x + ct)]}
Therefore, u(x,t) has the form
26
u(x,t) =
2
1
[f
*
(x ct) + f
*
(x + ct)]
At t = 0, u(x,0) = f(x) =
1 n
n
b
sin(
L
n
x) = f
*
(x)
The above function is an odd extension of f(x) with period 2L.
The dAlemberts solution can be obtained by a transformation of variables so that u(x, t) will
become u(, ) where
= x + ct, = x ct.
The new independent variables are substituted into equation (7.3-1) by applying the chain
rule
t
u
=
u
t
+
u
t
= c
u
c
u
x
u
=
u
x
+
u
x
=
u
+
u
2
2
t
u
=
,
_
t
u
t
+
,
_
t
u
t
= c
,
_
u
c
u
c
c
,
_
u
c
u
c
2
2
t
u
= c
2
2
2
u
2c
2
u
2
+ c
2
2
2
u
Similarly
2
2
x
u
=
2
2
u
+ 2
u
2
+
2
2
u
Substitute
2
2
t
u
and
2
2
x
u
into
2
2
t
u
= c
2
2
2
x
u
to obtain
2c
2
u
2
= 2c
2
u
2
u
2
= 0
,
_
u
= 0
u
= () u(, ) =
d ) (
+ F()
27
Hence u(, ) = F() + G(), where G() =
d ) (
In terms of x and t
u(x, t) = F(x + ct) + G(x ct) (7.3-2)
From the initial displacement u(x,0) = f(x)
F(x) + G(x) = f(x)
From the initial velocity
t
u
(x,0) = g(x)
u(, ) = F() + G()
t
u
=
d
dF
t
+
d
dG
t
= x + ct, = x ct
t
= c;
t
= c
At t = 0,
d
dF
=
dx
dF
= F(x);
d
dG
=
dx
dG
= G(x)
Hence
t
u
x
x
o
dx x F ) ( '
x
x
o
dx x G ) ( '
=
c
1
x
x
o
ds s g ) (
We obtain
F(x) G(x) [F(x
o
) G(x
o
)] =
c
1
x
x
o
ds s g ) (
Let k(x
o
) = F(x
o
) G(x
o
)
F(x) G(x) = k(x
o
) +
c
1
x
x
o
ds s g ) (
F(x) and G(x) can be solved from the above equation and the initial displacement F(x) + G(x)
= f(x).
28
F(x) =
2
1
f(x) +
c 2
1
x
x
o
ds s g ) (
+
2
1
k(x
o
)
G(x) =
2
1
f(x)
c 2
1
x
x
o
ds s g ) (
2
1
k(x
o
)
Replacing x by x + ct for F(x) and x by x ct for G(x), we obtain
F(x + ct) =
2
1
f(x + ct) +
c 2
1
+ct x
x
o
ds s g ) (
+
2
1
k(x
o
)
G(x ct) =
2
1
f(x ct)
c 2
1
ct x
x
o
ds s g ) (
2
1
k(x
o
)
G(x ct) =
2
1
f(x ct) +
c 2
1
o
x
ct x
ds s g ) (
2
1
k(x
o
)
The final solution is then
u(x, t) = F(x + ct) + G(x ct)
u(x, t) =
2
1
[f(x ct) + f(x + ct)] +
c 2
1
ct x
ct x
ds s g ) (
When the initial velocity is zero, dAlembert solution is simply
u(x, t) =
2
1
[f(x ct) + f(x + ct)]
Geometrically, the above solution of the wave equation is an average of two waves traveling
in opposite directions with shapes determined from the initial displacement.
Example 7.3-2. ____________________________________
An infinite string is subjected to the initial displacement
f(x) =
2
9 1
02 . 0
x +
Find an expression for the subsequent motion of the string if it is released from rest. The
tension is 20 N and the mass per unit length is 5 10
-4
kg/m.
Solution
29
u(x, t) =
2
1
[f(x ct) + f(x + ct)] =
2
1
2
) ( 9 1
02 . 0
ct x +
+
2
1
2
) ( 9 1
02 . 0
ct x + +
c
=
=
4 10 5
20
= 200 m/s
u(x, t) =
2
1
2
) 200 ( 9 1
02 . 0
t x +
+
2
1
2
) 200 ( 9 1
02 . 0
t x + +
Table 7.3-2 lists the Matlab program to plot the wave motion in Figure 7.3-4.
__________ Table 7.3-2 Matlab program to plot u(x,t) at various time ___________
% Plot u for example 7.3-2 at various t
%
x=-20:.02:20;
%
% Label the time t for each displacement u, the character vector ax hold the data
%
ax='t=0.00t=0.01t=0.02t=0.04t=0.06t=0.08';tv=.01*[0 1 2 4 6 8];
%
% Set y-coordinate from -1 to 1
%
x1=[0 0];y1=[-0.02 0.02];x2=[-20 20];y2=[0 0];
for i=1:6;
t=tv(i);xpt2=9*(x+200*t).^2;xmt2=9*(x-200*t).^2;
%
% Extract the time from ax, label axi is used for x-axis label for the time
%
ib=1+(i-1)*6;ie=ib+5;
axi=ax(ib:ie);
u=0.5*(.02./(1+xpt2)+.02./(1+xmt2));
%
% Divide the plot window into 3 rows and 2 columns using subplot command
%
subplot(3,2,i),plot(x,u,x1,y1,x2,y2)
xlabel(axi);ylabel('u')
end
30
-20 -10 0 10 20
-0.02
0
0.02
t=0.00
u
-20 -10 0 10 20
-0.02
0
0.02
t=0.01
u
-20 -10 0 10 20
-0.02
0
0.02
t=0.02
u
-20 -10 0 10 20
-0.02
0
0.02
t=0.04
u
-20 -10 0 10 20
-0.02
0
0.02
t=0.06
u
-20 -10 0 10 20
-0.02
0
0.02
t=0.08
u
Figure 7.3-4. Plot of u(x, t) =
2
1
2
) 200 ( 9 1
02 . 0
t x +
+
2
1
2
) 200 ( 9 1
02 . 0
t x + +
at various t.
Example 7.3-3 _______________________________
'
1
3
1
20
) 1 ( 3
3
1
0
10
3
) (
x
x
x x
x f
Figure 7.3-5 Initial shape of the string in Example 7.3-2
Figure 7.3-2 shows the initial displacement u(x,t) of a string stretched along the x-axis
between x = 0 and x = 1. The string is free to vibrate in a fixed plane through the x-axis.
a) Use dAlemberts solution to determine the shape of the string at times t =
3
and
3
2
if it
is released from rest, given that c = 1/.
b) Determine the first time when the string returns to its initial shape.
31
x
u ( x , t )
0
1
0 . 1
u ( x , 0 ) = f ( x )
Solution
a) Since the string is released from rest,
t
u
(x,0) = g(x) = 0
The shape of the string at any time t is given from dAlemberts solution by
u(x,t) =
2
1
[f
*
(x ct) + f
*
(x + ct)]
f
*
(x) is the odd extension of the original string and is shown over the interval 1 x 1 in
Figure 7.3-6a.
At t =
3
, u(x,t) =
2
1
[f
*
(x 1/3) + f
*
(x + 1/3)]
The graph of f
*
(x + 1/3) is obtained by translating the graph of f
*
(x) to the left by 1/3 unit.
The graph of f
*
(x 1/3) is obtained by translating the graph of f
*
(x) to the right by 1/3 unit.
The shape of the string at time t =
3
and
3
2
b) Determine the first time when the string returns to its initial shape.
The string returns to its initial shape when
2
1
[f
*
(x t/) + f
*
(x + t/)] = f
*
(x)
Since f
*
(x) is 2-periodic, when t/ = 2 the string returns to its initial shape.
We now will show that the simple algorithm
1 + n
i
u
=
n
i
u
1 +
+
n
i
u
1
1 n
i
u
matches the dAlembert solution
u(x,t) =
2
1
[f
*
(x + ct) + f
*
(x ct)] = F(x + ct) + G(x ct)
We need
n
i
u that represents u value at x = x
i
= ix and at t = t
n
= nt.
33
Since c
x
t
= 1 ct = x, we have
ct = ct
n
= nct = nx
Therefore
n
i
u
= F(x
i
+ ct
n
) + G(x
i
ct
n
)
n
i
u = F(ix + nx) + G(ix nx)
n
i
u = F[(i + n)x)] + G[(i n)x)]
From the above expression, we obtain
1 + n
i
u = F{[(i + (n+1)x)]} + G{[(i (n+1)x)]}
If the formula
1 + n
i
u =
n
i
u
1 +
+
n
i
u
1
1 n
i
u matches the dAlembert solution we will have
n
i
u
1 +
+
n
i
u
1
1 n
i
u
= F{[(i + (n+1)x)]} + G{[(i (n+1)x)]}
From the expression
n
i
u = F[(i + n)x)] + G[(i n)x)], we can write similarly
n
i
u
1 +
= F[(i + 1 + n)x)] + G[(i + 1 n)x)]
n
i
u
1
= F[(i 1 + n)x)] + G[(i 1 n)x)]
1 n
i
u = F[(i + n 1)x)] + G[(i n + 1)x)]
Since both F and G are linear function of x, F(a) + F(b) = F(a + b) and G(a) + G(b) = G(a +
b)
n
i
u
1 +
+
n
i
u
1
1 n
i
u
= F[(i + 1 + n)x) + (i 1 + n)x) (i + n 1)x]
+ G[(i + 1 n)x) + (i 1 n) (i n + 1)x)]
n
i
u
1 +
+
n
i
u
1
1 n
i
u
= F{[(i + (n+1)x)]} + G{[(i (n+1)x)]} =
1 + n
i
u
Thus, the solution to the wave equation is given exactly by
1 + n
i
u
=
n
i
u
1 +
+
n
i
u
1
1 n
i
u
34