Re: Simple PDE with side conditions

• To: mathgroup at smc.vnet.net
• Subject: [mg115474] Re: Simple PDE with side conditions
• Date: Tue, 11 Jan 2011 19:24:29 -0500 (EST)

```Hi,

I've come to realize my equation should have been set up as
In[1]:= {u[t], v[t]} /.
DSolve[{ D[u[t], t] == -v[t], D[v[t], t] == u[t], u[0] == x,
v[0] == y}, {u, v}, t] // First // FullSimplify

Then the answer comes out as:
Out[1]= {x Cos[t] - y Sin[t], y Cos[t] + x Sin[t]}

Thanks Steve & Oliver,
Dave

-----Original Message-----
From: Oliver Ruebenkoenig
Sent: Tuesday, January 11, 2011 3:59 AM
To: mathgroup at smc.vnet.net
Subject: [mg115474] [mg115452] Re: Simple PDE with side conditions

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,