Re: Simple PDE with side conditions
- To: mathgroup at smc.vnet.net
- Subject: [mg115452] Re: Simple PDE with side conditions
- From: Oliver Ruebenkoenig <ruebenko at wolfram.com>
- Date: Tue, 11 Jan 2011 06:59:10 -0500 (EST)
On Tue, 11 Jan 2011, schochet123 wrote: > Unfortunately, Mathematica cannot solve this (yet?). > > Note that the functional equation is not needed since the solution is > determined by the PDE plus the initial condition. > > However, at least in version 7, NDSolve does not seem to solve > first-order PDEs in three independent variables. Even the "trivial" > problem You can solve this with NDSolve in version 7: L = 4; sol = NDSolve[{ D[u[t, x, y], t] + D[u[t, x, y], x] == 0 , u[t, -L, y] == u[t, L, y] , u[t, x, -L] == u[t, x, L] , u[0, x, y] == Exp[-(x^2 + y^2)] }, u, {t, 0, 1}, {x, -L, L}, {y, -L, L}] Manipulate[ Plot3D[u[t, x, y] /. First[sol], {x, -L, L}, {y, -L, L}, PlotRange -> All], {t, 0, 1}] > > DSolve[{D[u[t, x, y], t] + D[u[t, x, y], x] == 0, > u[0, x, y] == 0}, u, {t, x, y}] > > does not get solved, although if you remove all the appearances of ",y" it is solved. > > Can someone with version 8 check if there have been any improvements in that version? > > Steve > > > > > On Sunday, January 9, 2011 9:17:44 AM UTC+2, Dave wrote: >> Hi everybody, >> >> I'm trying to have Mathematica 7 solve a simple partial differential equation >> with an initial condition and a function composition condition. >> So my input is: >> >> In[1]:= T[f_] := D[f, t] >> >> In[2]:= X[f_] := -y*D[f, x] + x*D[f, y] >> >> In[3]:= DSolve[{ T[f[t, x, y]] == X[f[t, x, y]], >> f[0, x, y] == {x, y}, >> f[t, f[s, x, y][[1]], f[s, x, y][[2]]] == f[t + s, x, y]}, >> f[t, x, y], >> {t, x, y}] >> >> However Mathematica returns with: >> >> DSolve::conarg:The arguments should be ordered consistently >> Out[3]= DSolve[{Derivative[1, 0, 0][f][t, x, y] == >> x*Derivative[0, 0, 1][f][t, x, y] - >> y*Derivative[0, 1, 0][f][t, x, y], f[0, x, y] == {x, y}, >> f[t, s, x] == f[s + t, x, y]}, f[t, x, y], {t, x, y}] >> >> Now I know what the function f[t,x,y] is and I can verify that >> it satisfies my conditions: >> >> In[4]:= f[t_, x_, y_] = {x *Cos[t] - y* Sin[t], x* Sin[t] + y* Cos[t]} >> >> In[5]:= { T[f[t, x, y]] == X[f[t, x, y]], f[0, x, y] == {x, y}, >> f[t, f[s, x, y][[1]], f[s, x, y][[2]]] == >> f[t + s, x, y]} // Simplify >> >> Out[5]= {True, True, True} >> >> The question is -- how can I have Mathematica solve this problem. >> >> Thanks, >> Dave Snead > > >