Solving 2D scalar wave equation?

• To: mathgroup at smc.vnet.net
• Subject: [mg60294] Solving 2D scalar wave equation?
• From: AES <siegman at stanford.edu>
• Date: Sat, 10 Sep 2005 06:46:43 -0400 (EDT)
• Organization: Stanford University
• Sender: owner-wri-mathgroup at wolfram.com

```Can any of the math or DE eqn gurus on the NG give me pointers to
references on algorithms or recommended numerical procedures for solving
the 2D scalar wave equation in space and time, given an initial space
distribution at t = 0?  I don't particularly want a canned package --
more like references to guidance and education on how to set up and do
the job myself.

To define the problem more precisely, I want to plop an arbitrarily
shaped blob of radiation u0[x,y] down in the middle of a theoretically
unbounded flat planar waveguide -- that is, this "waveguide" is bounded
and single mode in the perpendicular (z) direction, but has no finite
boundaries in the transverse (x and y) directions -- at t=0, and then
watch as this blob u[x,y,t] travels in time in the x,y space; spreads
out in that space; and likely splits into multiple blobs because the
initial distribution contains multiple kx and ky propagation vector
components.

Assuming this waveguide supports a 2D TE wave I think I can reduce
Maxwell's eqns to a 2D scalar wave eqn

( d^2/dx^2 + d^2/dy^2 -  mu eps d^2/dt^2 ) u[x,y,t] == 0

and I'm further willing to assume that all the components of the blob
have the same carrier frequency w0 so that I can write

u[x,y,t] = u1[x,y,t] X Exp[I w0 t]

with u1 being "slowly varying" in t.  The blob will in general have
multiple initial transverse kx and ky vector components, however, so I
can't make a similar approximation in the x and y coordinates

I know a fair amount about algorithms for collimated laser beam
propagation, and also guided optical waveguide propagation, both of
these being cases where there is a dominant k vector to the radiation so
that one can make paraxial-wave or small-angle approximations.  I've
never encountered the totally unguided "blob" problem, however, and am
looking for somewhere to get started.

Thanks for any pointers.

```