Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: original meaning of System` functions
  • Next by Date: Re: FittedModel Objects... How does Mathematica do it?
  • Previous by thread: Re: Simple PDE with side conditions
  • Next by thread: Re: Simple PDE with side conditions