Re: Mixed Algebraic/differential system
- To: mathgroup@smc.vnet.net
- Subject: [mg11491] Re: Mixed Algebraic/differential system
- From: Axel Gallrein <axel@hp835.pi.tu-berlin.de>
- Date: Fri, 13 Mar 1998 12:21:36 -0500
- Organization: Technical University Berlin
- References: <6e81cb$n7v@smc.vnet.net>
SR Thomas wrote: > > Dear MathGroup, > > I want to work out an algorithm for a mixed algebraic/ode system such > as: > > y'[t]=f(y,t) > is system of odes and > g(y)=0 > is a set of algebraic constraints that must be satisfied at all times. > [snip] Your problem seems not quite correct stated. Assuming f(t,y) is sufficienty well behaved then for a given starting point (t0,y0) there is only one solution, at least for a while, and it either does or doesn't satisfy g(y)=0. What you probably have is F : R x R^n x R^n -> R^n with F(t,y,y') = 0 y(t0) = y0 (1) and the Jacobian of F with respect to y' [F_(y')] singular like in y' = f(t,y,z), f : R x R^ny x R^nz -> R^ny 0 = g(t,y,z), g : R x R^ny x R^nz -> R^nz, g_z regular y(t0) = y0 z(t0) = z0 (2) (1) is generally called a Differetial-Algebraic-System and analytically one charaterizes it with a differetial index di, meaning the number of differentiations with respect to t one has to perform on F in order to generate (possibly involving algebraic operations) the so called Underlying ODE y' = h(t,y). For example, differentiate in (2) 0 = g(t,y,z) once and you get 0 = g_t(t,y,z) + g_y(t,y,z) y' + g_z(t,y,z) z' Rewrite (2) to [ E 0 ] [ y ]' [ f(t,y,z) ] [ g_y(t,y,z) g_z(t,y,z) ] [ z ] = [ -g_t(t,y,z) ] y(t0) = y0 z(t0) = z0 Since g_z is regular, so is the whole matrix and one produces [ y ]' [ E 0 ]^(-1) [ f(t,y,z) ] [ z ] = [ g_y(t,y,z) g_z(t,y,z) ] [ -g_t(t,y,z) ] [ y ] [ y0 ] [ z ](t0) = [ z0 ] which is an ODE. So for (2) we have di = 1. See if you can produce the UODE ( it gets harder the higher di and the bigger your system is). If you have to do numerics, things get complicated. A numerical approximation of the UODE will not satisfy the original constraint 0 = g(t,y,z) (This is called drift). But it gets even worse. Thus a second index, the pertubation index pi, is introduced... This is getting to long, so please look at E.Hairer,Ch.Lubich,M.Roche: 'The Numerical Solution of Differential- Algebraic Systems by Runge-Kutta Methods', Springer-Verlag, 1989. Ciao, Axel -- =================================================== Axel Gallrein Tel...........(49)-(30)-314 23 176 Fasanenstr. 46 ...........(49)-(30)-881 99 95 10719 Berlin Fax...........(49)-(30)-314 21 694 Germany Email...axel@hp835.pi.tu-berlin.de =================================================== In case my employer does not state one, the above printed opinion just might be his. ------------------------------------------