MathGroup Archive 2009

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

Search the Archive

Re: bvdae error when using NDSolve for initial value

  • To: mathgroup at smc.vnet.net
  • Subject: [mg102133] Re: bvdae error when using NDSolve for initial value
  • From: Damon <damonwischik at gmail.com>
  • Date: Thu, 30 Jul 2009 05:33:05 -0400 (EDT)
  • References: <200907280605.CAA14835@smc.vnet.net> <h4p3cr$im5$1@smc.vnet.net>

Many thanks for your helpful answer, which is exactly what I was
looking for.

NDSolve lets me add in identities like w[u]==w1[u]+w2[u] when it is
doing a straightforward "forwards" solution, and it didn't occur to me
that identities like this should not occur in the boundary value
problem. With your explanation, I now understand what the error
message meant.

Damon.


On Jul 29, 5:05 am, Patrick Scheibe <psche... at trm.uni-leipzig.de>
wrote:
> Hi,
>
> your first version works if you replace the line which is no
> differential equation.
>
> {w1'[u] == w1[u] 1/w[u] (w1[u]/w[u])^(1 - \[Epsilon]),
>   w2'[u] == w2[u] 1/w[u] (w2[u]/w[u])^(1 - \[Epsilon]),
>   timer'[u] == (p1 w1[u] + p2 w2[u]), timer[0] == 0, w1[0] ==
= 1.5,
>   w2[0] == 1} /. {p1 -> .01, p2 -> .01, \[Epsilon] -> .5,
>   w[u] -> w1[u] + w2[u]}
> NDSolve[%, {w1, w2, timer}, {u, 0, 11}]
>
> Cheers
> PatrickOn Tue, 2009-07-28 at 02:05 -0400, Damon wrote:
> > I am trying to solve an initial value problem. I am getting the error
> > message "bvdae: Differential-algebraic equations must be given as
> > initial value problems". I don't know what the error means or how to
> > fix my equations. I would be grateful for any help.
>
> > I started with the following differential equations. I want to find
> > the time T when timer[T]==8.3 (or some other arbitrary value), and =
I
> > want to evaluate w1[T] and w2[T] at that time.
>
> > res = NDSolve[{
> > w1'[u]==w1[u] 1/w[u] (w1[u]/w[u])^(1-\[Epsilon]),
> > w2'[u]==w2[u] 1/w[u] (w2[u]/w[u])^(1-\[Epsilon]),
> > w[u]==w1[u]+w2[u],
> > timer'[u]==(p1 w1[u]+p2 w2[u]),
> > timer[0]==0,
> > w1[0]==1.5,
> > w2[0]==1
> > } /. {p1->.01,p2->.01,\[Epsilon]->.5},
> > {w1,w2,w,timer},{u,0,11}
> > ]
>
> > I transformed this into an initial value problem in standard form as
> > follows.
>
> > Clear[w1,w2,timer];
> > res = NDSolve[{
> > w1'[u]==T[u] w1[u] 1/w[u] (w1[u]/w[u])^(1-\[Epsilon]),
> > w2'[u]==T[u] w2[u] 1/w[u] (w2[u]/w[u])^(1-\[Epsilon]),
> > w[u]==w1[u]+w2[u],
> > T'[u]==0,
> > timer'[u]==T[u] (p1 w1[u]+p2 w2[u]),
> > timer[0]==0,
> > w1[0]==1.5,
> > w2[0]==1,
> > timer[1]==8.3
> > } /. {p1->.01,p2->.01,\[Epsilon]->.5},
> > {w1,w2,w,T,timer},{u,0,1}
> > ]
>
> > This gives me the error I quoted at the top of this post. I would be
> > grateful for hints about what I should do to solve my problem.
>
> > Damon.



  • Prev by Date: Re: Slow start to AstronomicalData[]
  • Next by Date: Re: Mathematica syntax in W|A
  • Previous by thread: Re: Re: bvdae error when using NDSolve for initial value
  • Next by thread: Re: bvdae error when using NDSolve for initial value problem