MathGroup Archive 2010

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

Search the Archive

Re: solve partial differential equations with mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106936] Re: solve partial differential equations with mathematica
  • From: schochet123 <schochet123 at gmail.com>
  • Date: Fri, 29 Jan 2010 07:44:30 -0500 (EST)
  • References: <hjmjiv$fl$1@smc.vnet.net>

The PDEs that DSolve can solve are still mostly single first-order
equations. Other than that, DSolve can find solutions to higher-order
equations in two variables that can be reduced to single first-order
equations (for example, the wave equation in two variables), and can
sometimes find special solutions to particular equations (for example,
traveling wave solutions such as solitons).

The documentation for DSolve explains what PDEs can be solved mostly
by giving examples, so if someone from Wolfram is reading this and is
able to give a more precise description of what PDEs DSolve can solve
it would be helpful.

DSolve does not seem to be able to solve initial-boundary-value
problems even for a first-order PDE

eq1 = {D[u[t, x], t] + D[u[t, x], x] == 0, u[0, x] == a[x],
  u[t, 0] == b[t]}

DSolve[eq1,u,{t,x}]

Nor can it find solutions to the heat equation even with initial data
for which a closed-form solution exists.

eq2 = {D[u[t, x], t] == D[u[t, x], x, x], u[0, x] == E^(-x^2)}

DSolve[eq2,u,{t,x}]

However, a numerical solution can be obtained in cases when a full set
of initial and/or boundary values are given. For example, changing the
equations slightly by picking specific values of the constants, making
the domain finite, and slightly altering the boundary values to make
them consistent with the initial values, consider

eqn = D[u[r, t], t] == D[u[r, t], r, r] - u[r, t]/r

sol = NDSolve[{eqn, u[r, 0] == 0,
   u[0.001, t] == t/Sqrt[10^(-6) + t^2], u[100, t] == 0},
  u, {r, 0.001, 100}, {t, 0, 10}]

uu[r_, t_] = u[r, t] /. sol[[1]]

Plot[uu[5,r],{r,0.001,100}]

Steve


On Jan 26, 1:27 pm, Dino <dinodebla... at gmail.com> wrote:
> I'd like to solve the following partial differential equation with
> Mathematica,
>
> eqn = D[u[r, t], t] == d D[u[r, t], r, r] - k u[r, t]/r
>
> by doing:
>
> DSolve[{eqn, u[r, 0] == 0, u[0.000000001, t] == ui, u[\[Infinity]=
, t]
> == 0}, u[r, t], {r, t}]
>
> d,k and ui are constants.
>
> In DSolve i include also the boundary conditions but I am still not
> able to solve it.
> Do you have any suggestions for solving the problem?
> Thanks very much for your help.
> Dino.



  • Prev by Date: Re: Access to Open Excel Cell
  • Next by Date: Re: looping
  • Previous by thread: solve partial differential equations with mathematica
  • Next by thread: Re: MatrixPlot: range of colors and plot legend?