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.
------------------------------------------