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