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
>
>
>