       Nonhomogeneous Wave Equation with NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg121677] Nonhomogeneous Wave Equation with NDSolve
• From: Jiwan Kim <hwoarang.kim at gmail.com>
• Date: Sun, 25 Sep 2011 05:42:24 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com

```Hello, mathgroup.

I want to ask you how to solve the nonhomogeneous wave equation.
I know that usual wave equation is very simple to handle.
However, problem in this code is a source function, G[z,t] and the boundary
condition.
Experiment conditions are as following.
There is 1-dim slab {z,0,L}.
If the heat pulse exert on left edge z=0, we got the evolution of electron
(Te[z,t]) and lattice temperature (Tl[z,t]) in the slab.
I have got these temperature profile using NDSolve.
And the G[z,t] of the wave equation is proportional to the Tl[z,t].
I think that here is the problem.
The source function of the wave equation is given by dG[z,t]/dz.
However, dG[0,t]/dz is not possible because z=0 is left boundary of the
slab.
I think that this kind of problem is well known one.
How can I solve this. Is there anything that I am wrong..?
Here is the code.
Plz, help me.

(* Properties of Nickel, Converted to nm and ps *)
Remove["Global`*"];
\[Rho] = 8910;(* mass density : kg/m^3 *)
v = 4.08;(* sound velocity : nm/ps *)
\[Beta] = 1.34 10^-5;(* linear expansion : /K *)
B = 1.8 10^11; (* bulk modulus : Pa *)
\[Gamma] =
1.065 10^3; (* 6000 electron heat cap. at 300 K : 3.19 10^5 J/m^3K *)
\

Cl = 3.95 10^6; (* lattice heat cap. : 3.95 10^6 J/m^3K = 26.1 \
J/mol.K *)
g = 4.4 10^5; (* coupling constant : 4.4 10^17 W/m^3.K *)
K = 91 10^6; (* thermal conductivity : 91 W/m.K -> 91 10^18 *)
\[Xi]1 = 13.5; (* pump absorption depth: nm *)
\[Xi]2 = 14.5; (* probe absorption depth: nm *)
I0 = 3 10^10; (* 6.1 10^13 J/m^2.pulse(ps) -> 6.6 10^22 *)
pulwth = 0.15 ; (* 150 fs *)
\[Sigma] = pulwth/(2 (2 Log)^0.5);
S[t_] := I0 Exp[-t^2/(2 \[Sigma]^2)];
pow[z_, t_] := 1/\[Xi]1 S[t] Exp[-z/\[Xi]1]; (* W/m^3 *)
L = 400; (* sample thickness : nm *)
solution =
NDSolve[{\[Gamma] Te[z, t] D[Te[z, t], t] ==
K D[Te[z, t], z, z] - g (Te[z, t] - Tl[z, t]) + pow[z, t],
Cl D[Tl[z, t], t] == g (Te[z, t] - Tl[z, t]),
Te[z, -5] == Tl[z, -5] == 300,
Te[L, t] == 300, (D[Te[z, t], z] /. z -> 0) == 0}, {Te, Tl}, {z,
0, L}, {t, -5, 50}, MaxSteps -> Infinity,
MaxStepSize -> {0.3, 0.03}, Method -> "ImplicitRungeKutta"][]
Plot3D[Tl[z, t] /. solution, {z, 0, 100}, {t, -1, 50},
PlotRange -> All]
G[z_, t_] = 3 \[Beta] B/\[Rho] ( Tl[z, t] - 300) /. solution;
Plot3D[G[z, t], {z, 0, L}, {t, -5, 50}, PlotRange -> All]

solution2 =
NDSolve[ D[u[z, t], t, t] == v^2 D[u[z, t], z, z] - D[G[z, t], z],
v^2 (D[u[z, t], z] /. z -> 0) - G[0, t] == 0, u[L, t] == 0,
u[z, -5] == 0, {u}, {z, 0, L}, {t, -5, 50}, MaxSteps -> Infinity,
Method -> "ImplicitRungeKutta"][]
Plot3D[u[z, t] /. solution2, {z, 0, L}, {t, -5, 50}]

--
-----------------------------------------------------------------------------
Institute of Physics and Chemistry of Materials Strasbourg (IPCMS)
Department of Ultrafast Optics and Nanophotonics (DON)
23 rue du Loess, B.P. 43,
67034 STRASBOURG Cedex 2, France

```

• Prev by Date: Re: 1-liner wanted
• Next by Date: Re: A fast way to compare two vectors
• Previous by thread: Re: Elementwise Matrix Subtraction
• Next by thread: plotting equations