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.