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.