Group Abstract Group Abstract

Message Boards Message Boards

0
|
14.3K Views
|
13 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Solve 2D Wave equation with DSolve?

Posted 9 years ago
POSTED BY: till johann
13 Replies
Posted 9 years ago

Actually i was just playing around with these equations, checking out how i can use mathematica to gain a deeper understanding, so my problem isn't really clearly defined. I didn't expect the solution would be so complicated though. Polar coordinates seem to be the way to go, i will try my hand on that.

POSTED BY: till johann
Attachments:
POSTED BY: Hans Dolhaine

Solve 2D Wave equation with DSolve?

sorry. hit the wrong key. discard this

POSTED BY: Hans Dolhaine
Posted 9 years ago

Thanks for your answers, this has helped me a lot! Im curious how you came up with the first solution Hans? Also, Is there a way to use the product ansatz to "transform" one complex DSolve computation into several simpler ones?(Sorry if this goes beyond the scope of this discussion)

POSTED BY: till johann

See

Partial Differential Equations With Mathematica (Physics Series) (Englisch) Gebundene Ausgabe – Januar 1993

von Dimitri Vvedensky (Autor)

https://www.amazon.de/Partial-Differential-Equations-Mathematica-Physics/dp/0201544091/ref=sr_1_1?ie=UTF8&qid=1481669125&sr=8-1&keywords=vvedensky+partial

and: is your problem confined to a certain region? your ic seems to show that you could look for solutions on a (perhaps inifinite) disk. then you should try polar coordinates. I think in this case the radial solutions are Bessel functions and sums of Bessel functions. Perhaps you can develop the Exp[ - r^2 ] in a series of Bessels and then you have a solution with your ic.

That would not be convenient due to the series, but......

POSTED BY: Hans Dolhaine

With

ww = w0 Exp[I A t]
uu = u0 Exp[I Sqrt[A^2 - B^2] x]
vv = v0 Exp[ I B y]

and

f = uu vv ww // FullSimplify

you have a solution to the wave equation (but not for the ic ).

Another solution is (you may take +t as well)

f = ff[(Cos[a] x + Sin[a] y - t)]
D[f, x, x] + D[f, y, y] - D[f, t, t] // Simplify

and then, to come somewhat "nearer" to your ic

f = Exp[(Cos[a] x + Sin[a] y - t)^2]
D[f, x, x] + D[f, y, y] - D[f, t, t] // Simplify
POSTED BY: Hans Dolhaine

I tried it again with "appropriate" numbers of ic's and bc's, but without success.

Perhaps you should tackle your problem with the old fashioned method of a product Ansatz

u[ x, y, t ] =f1[ x ] f2 [y ] f3 [ t ]

POSTED BY: Hans Dolhaine
Posted 9 years ago
POSTED BY: till johann
Posted 9 years ago

Sounds like progress. I'll play around a bit more when I get home from work.

POSTED BY: Eric Meyers
Posted 9 years ago
POSTED BY: Eric Meyers
Posted 9 years ago

I didn't have much luck with DSolve, but I did with NDSolve. Please have a look at the boundary and initial conditions. You should have 2 boundary conditions for x, 2 boundary conditions for y, and 2 initial condition equations for t. I made some up. These could be other things.

Clear[L, c, weq2, bc2, ic2, sol2, u, x, y, t, m, n]
weq2 = Laplacian[u[x, y, t], {x, y}] == D[u[x, y, t], {t, 2}]

bc2 = {u[x, Pi, t] == 0, u[x, 0, t] == 0, u[0, y, t] == 0, 
  u[Pi, y, t] == 0}
ic2 = {u[x, y, 0] == Sin[m x] Sin[n y], 
  Derivative[0, 0, 1][u][x, y, 0] == 0}

sol2 = DSolve[{weq2, bc2, ic2}, u[x, y, t], {x, y, t}, 
  Assumptions -> {Element[m | n , Integers]} ]

DSolve failed to find a solution. I had no trouble doing the same for 1D, but 2D it just isn't happy. Maybe someone can figure that out. So on with NDSolve

nsol2 = NDSolve[{weq2, bc2, ic2} /. {m -> 2, n -> 2}, 
  u, {x, 0, Pi}, {y, 0, Pi}, {t, 0, 5}]

ListAnimate[
 Table[Plot3D[u[x, y, t] /. nsol2, {x, 0, \[Pi]}, {y, 0, \[Pi]}, 
   AxesLabel -> Automatic, 
   PlotRange -> {{0, \[Pi]}, {0, \[Pi]}, {-1, 1}}], {t, 0, 5}]]

You should get an animation with time ....

enter image description here

POSTED BY: Eric Meyers

Interesting.

I don't get an error message, but neither a solution.....

DSolve[{-
\!\(\*SuperscriptBox["u", 
TagBox[
RowBox[{"(", 
RowBox[{"0", ",", "0", ",", "2"}], ")"}],
Derivative],
MultilineFunction->None]\)[x, y, t] + 
\!\(\*SuperscriptBox["u", 
TagBox[
RowBox[{"(", 
RowBox[{"0", ",", "2", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[x, y, t] + 
\!\(\*SuperscriptBox["u", 
TagBox[
RowBox[{"(", 
RowBox[{"2", ",", "0", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[x, y, t] == 0, 
  u[x, y, 0] == E^(-x^2 - y^2), 
\!\(\*SuperscriptBox["u", 
TagBox[
RowBox[{"(", 
RowBox[{"0", ",", "0", ",", "1"}], ")"}],
Derivative],
MultilineFunction->None]\)[x, y, 0] == 0, u[x, 0, 0] == 0, 
  u[0, y, 0] == 0}, u, {x, y, t}]
POSTED BY: Hans Dolhaine
Posted 9 years ago
POSTED BY: till johann
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard