Jamie
Jamie

Reputation: 111

Pressure-Impulse-at-One-End, Wave Equation

I am trying to solve the captioned problem numerically using Mathematica, to no avail. Imagine a rod of length L. The speed of sound in the rod is c. A pressure impulse of gaussian shape whose width is comparable to L/c is applied at one end. I would like to solve for the particle displacement function u(t,x) inside the rod. The Mathematica codes are given are follows,

c = 1.0 (*speed of wave*)
L = 1.0 (*length of medium*)
Subscript[P, 0] = 0.0 (*pressure of reservoir at one end*)
Subscript[t, 0] = 5.0*c/L; (*mean time of pressure impulse*)
\[Delta]t = 2.0*c/L; (*Std of pressure impulse*)
K = 1.0; (* proportionality constant, stress-strain *)
Subscript[P, max ] = 1.0; (*max. magnitude of pressure impulse*)
Subscript[P, 1][t_] := 
 Subscript[P, max ]
   PDF[NormalDistribution[Subscript[t, 0], \[Delta]t], t];

PDE = D[func[t, x], t, t] == c^2 D[func[t, x], x, x]
BC1 = -K func[t, 0] == Subscript[P, 1][t]
BC2 = -K func[t, L] == Subscript[P, 0]
IC1 = func[0, 
   x] == (-Subscript[P, 1][0]/K) (x/L) + (-Subscript[P, 0]/K) (1 - x/L)
IC2 = Derivative[1, 0][func][0, x] == 0.0

sol = NDSolve[{PDE, BC1, BC2, IC1, IC2}, 
  func, {t, 0, 2 Subscript[t, 0]}, {x, 0, L}]

The problem is that the program keeps running for minutes without giving any output. Given the simplicity of the problem (i.e. that an analytical solution exists), I think there should be a quicker way to arrive at a numerical solution. Would someone please give me some suggestions?

Upvotes: 0

Views: 201

Answers (1)

Jamie
Jamie

Reputation: 111

Following George's advice, the equation was solved.

BC1 and BC2 given in the question should be modified as follows

BC1 = -kk Derivative[0, 1][func][t, 0] == p1[t]
BC2 = -kk Derivative[0, 1][func][t, ll] == p0

Also t0 and [Delta]t has been modified,

t0 = 2.0*c/ll (*mean time of pressure impulse*)
\[Delta]t = 0.5*c/ll (*Std of pressure impulse*)

The problem can be solved to within the accuracy requirement for the time interval 0 < t < 2 t0. I solved the problem for a longer time interval 0 < t < 4 t0 in order to look for something interesting.

Here is a plot of 3D plot of pressure (versus x and t)

pressure versus time t and spatial coordinate x

Here is a plot of the pressure at one end of the bar where impulse is applied. The pressure is a gaussian, as expected.

pressure at the end of the rod where pressure is applied, versus time

Here is a plot of the pressure in the middle of the bar. Note that although the applied pressure is a gaussian, and the pressure at the other end is held at P0=0, the pressure becomes negative for some time tc.

pressure in the middle of the bar versus time

Upvotes: 1

Related Questions