Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: NDSolve Unable to find initial conditions that

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116612] Re: NDSolve Unable to find initial conditions that
  • From: "Ali K. Ozdagli" <ozdagli at gmail.com>
  • Date: Mon, 21 Feb 2011 19:29:23 -0500 (EST)

Thanks for your message, Oliver.

I have been aware that, for the NDSolve function, the differential order of
the functions in the initial or boundary conditions should be strictly less
than in the differential equations, IF SolveDelayed->True is not set.

I have been successfully able to solve first order non-linear ordinary
differential equations, where the order of the boundary/initial condition is
the same as the order of the differential equation.

For example, Mathematica successfully solves the following, which I know
because I know the exact solution of this equation for V'[-1] == Infinity,
and the numerical solution produced by Mathematica is super-close to the
actual solution.

NDSolve[{0.04*V[x] == -3*(V'[x])^(1/3) + 0.02*(x + 1)*V'[x], V'[-1] ==
10^10}, V, {x, 0, 1}, MaxSteps -> 10^4, AccuracyGoal -> 8, SolveDelayed ->
True]

I am trying to figure out why I cannot extend this idea to solve a partial
differential equation.

I appreciate any help.

On Mon, Feb 21, 2011 at 5:34 AM, Oliver Ruebenkoenig
<ruebenko at wolfram.com>wrote:

> On Sun, 20 Feb 2011, Ali K. Ozdagli wrote:
>
> > Any help?
> >
> > On Fri, Feb 11, 2011 at 8:25 PM, Ali K. Ozdagli <ozdagli at gmail.com>
> wrote:
> >
> >> Hello all,
> >>
> >> When I write the following to mathematica
> >>
> >> NDSolve[{0.04*u[z, t] == -3*(D[u[z, t], z])^(1/3) + 0.02*z*D[u[z, t], z]
> -
> >> D[u[z, t], t], Derivative[1, 0][u][1, t] == 0, u[z, 0] == 0}, u, {z, 1,
> 2},
> >> {t, 0, 1}, MaxSteps -> 10^4, AccuracyGoal -> 8, SolveDelayed -> True];
> >>
> >> Although the solution is relatively easy, u[z,t]=0, it gives the
> following
> >> errors:
> >>
> >> NDSolve::ibcinc: Warning: Boundary and initial conditions are
> inconsistent.
> >>>>
> >>
> >> NDSolve::icfail: Unable to find initial conditions that satisfy the
> >> residual function within specified tolerances. Try giving initial
> conditions
> >> for both values and derivatives of the functions >>
> >>
> >>
> >> I do not see any inconsistency in the boundary conditions and don't know
> >> why mathematica cannot find a solution.
> >>
> >> Any help is appreciated.
> >>
> >> Best,
> >>
> >> Ali
> >>
> >>
> >
> >
> >
> Ali,
>
> if you use
>
> NDSolve[{0.04*u[z, t] == -3*(D[u[z, t], z])^(1/3) +
>      0.02*z*D[u[z, t], z] -
>      D[u[z, t], t], Derivative[1, 0][u][1, t] == 0, u[z, 0] == 0},
>   u, {z, 1, 2},
>   {t, 0, 1}, MaxSteps -> 10^4, AccuracyGoal -> 8];
>
> you get the following message:
>
> The differential order of the functions in the initial or boundary \
> conditions should be strictly less than in the differential equations.
>
> This means that for the present eqn the boundary condition must
> not contain a derivative.
>
> Oliver
>
>


-- 
Ali K. Ozdagli


  • Prev by Date: Re: Misprint in the Documentation?
  • Next by Date: Re: Chain of packets in MathLink: are packets always strictly ordered?
  • Previous by thread: Color grid with holes in it, to visualize overlapping mappings.
  • Next by thread: Using Notation Package in myPackage