Re: PDE backward solution problem

• To: mathgroup at smc.vnet.net
• Subject: [mg117094] Re: PDE backward solution problem
• From: schochet123 <schochet123 at gmail.com>
• Date: Wed, 9 Mar 2011 07:02:12 -0500 (EST)
• References: <ikt6ff\$cp\$1@smc.vnet.net>

```Concerning question 3, yes it does help to look at the linearized
equations. Linearizing around constant states via
Normal[Series[equationsForSolution/.n[j_] -> (c[j] + eps nn[j][#1, #2]
&),{eps,0,1}]
yields a linear parabolic system. You should therefore expect that the
full nonlinear equations will behave like a parabolic system.

This means that the answer to question 1 is: No you cannot expect
NDSolve to be able to solve the equations backwards in time. To see
why, consider the standard parabolic equation D[u[t,x],t]==c^2
D[u[t,x],x,x]. In Fourier space, the solution multiplies each mode
E^(I k x)  by E^(-c^2 k^2 t). If t is negative then this multiplier is
extremely large for large values of k, and even tends to positive
infinity as k goes to infinity. Hence the solution does not exist for
negative times unless the initial data is chosen in a very special
manner, such as having only a finite number of Fourier modes.

For a finite difference approximation on a uniform grid we can still
describe the solution in terms of Fourier modes, but the highest
possible value of k is Pi/h, where h denotes the grid spacing. This
highest Fourier mode is the one that takes alternate values 1,-1,1,-1,
etc at successive grid points. Solving backwards in time, this mode
will be multiplied by E^(c^2 Pi^2 (-t)/h^2), which quickly becomes
enormous for (-t) larger than O(h^2). The default NDSolve method uses
uniform grids, and seems to select the number of grid points, and
hence the value of h, according to the complexity of the initial data,
which makes good sense. If a reasonably large number of grid points
are used, and/or the value of c is moderately large, then it would not
be surprising that the solution can be computed only for (-t) of the
order of O(10^(-6)).

If you want to see this effect in a simple case, try running
NDSolve[{D[u[t, x], t] == -D[u[t, x], x, x], u[t, 1] == u[t, -1],
u[0, x] == Sin[Pi x]}, u, {t, 0, 1}, {x, -1, 1}]
Although the initial data has been selected to make the solution to
the PDE remain nicely behaved, numerical errors produce small
coefficients of higher Fourier modes such as the one with k equal to
Pi/h, and the enormous growth of that mode soon makes it tremendously
larger than the Fourier mode of the true solution.

To avoid this problem, can't you simply run the calculation forward in
time for a slightly smaller time to make up for the delay.?

Steve

On Mar 5, 1:23 pm, Arturas.A... at tfai.vu.lt wrote:
> I am trying to solve ambipolar diffusion PDE (following approach of
> Philip Rosenau and Eli Turkel, Physica Scripta Vol. 31, 207-209,
> 1985). Unfortunatelly so far I had no expierence dealing with PDE
> solvers. My attempts follows
>
> The problems start when we try to solve this equations backward in
> time. We need this because fitted initial distribution was measured
> with some delay. So we want to look how this distribution might look
> fraction of second before. Unfortunatelly Mathematica PDE solver refuses =
to
> solve that way, claiming that singularity had formed. Sure it have to
> form at some moment, however time scale looks unrealistic (Mathematica so=
lves
> backward to 10^-6 s only). So, my questions are
>
> 1) Does it is possible to get some solution, say 1/1000 fraction of
> second before?
>
> 2) We have small boundary and initial condition mismatch at t=0 (the =

> function is not strictly 0 at point x=bp). How similar mismaches
> practically are resolved in other similar PDE problems?
>
> 3) And the naive one. Can this nonlinear problem be classified as
> being "elliptic", "parabolic" or some other kind, or this
> classification is not possible for general nonlinear PDEs.  In other =

> words, can  linearization in principle help to determine the kind of =

> this PDE? Does this would help to choose the right options in Mathematica=
?
>

```

• Prev by Date: Re: evaluation-- one or many levels, your thoughts?
• Next by Date: Re: Royalty free runtime for Mathematica
• Previous by thread: PDE backward solution problem
• Next by thread: case sensitive auto-completion in Mathematica 8?