14  Index Reduction of DAEs Using Dummy Variables

Author
Affiliations

Enrico Bertolazzi

University of Trento, Department of Industrial Engineering

14.1 Introduction

The dummy variable method provides a systematic approach for:

  • Computing the differential index of nonlinear DAEs
  • Transforming high-index problems into solvable forms
  • Handling algebraic constraints through variable substitution

14.2 System Requirements

Initial Formulation

Start with a general implicit DAE:

\bm{F}(\bm{x}, \bm{x}', t) = \bm{0}, \quad \bm{x} \in \Bbb{R}^n

Required Semi-Explicit Form

Restructure to semi-explicit form (see Chapter 5):

\left\{ \begin{aligned} \bm{x}_d' &= \bm{f}(\bm{x}_d, \bm{x}_a, t) \\ \bm{0} &= \bm{g}(\bm{x}_d, \bm{x}_a, t) \end{aligned} \right. \tag{14.1}

Variables:

  • \bm{x}_d \in \Bbb{R}^{n_d}: Differential variables
  • \bm{x}_a \in \Bbb{R}^{n_a}: Algebraic variables (n_d + n_a = n)
NoteCritical Requirement

The algebraic constraints must be linear in \bm{x}_a:

\begin{aligned} \bm{f}(\bm{x}_d, \bm{x}_a, t) & \equiv \bm{f}_0(\bm{x}_d, t) + \bm{A}(\bm{x}_d, t)\bm{x}_a \\ \bm{g}(\bm{x}_d, \bm{x}_a, t) & \equiv \bm{g}_0(\bm{x}_d, t) + \bm{B}(\bm{x}_d, t)\bm{x}_a \end{aligned}

Variable Classification

Partition algebraic variables \bm{x}_a of Equation 14.1

Type Notation Description
Linear \bm{x}_l Appears linearly/absent in constraints
Nonlinear \bm{x}_n Appears nonlinearly in constraints

14.3 Preprocessing

For \bm{x}_n \neq \emptyset:

  1. Introduce dummy derivatives: \bm{x}_n' = \bm{v}_n

  2. Reclassify variables:

    • New differential: (\bm{x}_d, \bm{x}_n)
    • New algebraic: (\bm{x}_l, \bm{v}_n)

Now all the algebraic variables appears linearly. In fact consider the DAE before the preprocessing

\left\{ \begin{aligned} \bm{x}_d' &= \bm{f}_0(\bm{x}_d, \bm{x}_n, t) + \bm{A}(\bm{x}_d,\bm{x}_n,t)\bm{x}_l\\[0.5em] \bm{0} &= \bm{g}_0(\bm{x}_d, \bm{x}_n, t) + \bm{B}(\bm{x}_d,\bm{x}_n,t)\bm{x}_l \end{aligned} \right.

introducing the dummy variables \bm{x}_n' = \bm{v}_n the DAE become

\left\{ \begin{aligned} \begin{pmatrix} \bm{x}_d' \\ \bm{x}_n' \end{pmatrix} &= \begin{pmatrix} \bm{f}_0(\bm{x}_d, \bm{x}_n, t) \\ \bm{0} \end{pmatrix} + \begin{pmatrix} \bm{A}(\bm{x}_d,\bm{x}_n,t) & \bm{0} \\ \bm{0} & \bm{I} \end{pmatrix} \begin{pmatrix} \bm{x}_l \\ \bm{v}_n \end{pmatrix} \\[1em] \bm{0} &= \bm{g}_0(\bm{x}_d, \bm{x}_n, t) + \bm{B}(\bm{x}_d,\bm{x}_n,t)\bm{x}_l \end{aligned} \right.

and defining

  • New differential: \widetilde{\bm{x}}_d = (\bm{x}_d, \bm{x}_n)

  • New algebraic: \widetilde{\bm{x}}_a = (\bm{x}_l, \bm{v}_n)

  • \widetilde{\bm{f}}_0(\widetilde{\bm{x}}_d,t) = \begin{pmatrix} \bm{f}_0(\bm{x}_d, \bm{x}_n, t) \\ \bm{0} \end{pmatrix}

  • \widetilde{\bm{A}}(\widetilde{\bm{x}}_d,t) = \begin{pmatrix} \bm{A}(\bm{x}_d,\bm{x}_n,t) & \bm{0} \\ \bm{0} & \bm{I} \end{pmatrix}

  • \widetilde{\bm{g}}_0(\widetilde{\bm{x}}_d,t) =\bm{g}_0(\bm{x}_d, \bm{x}_n, t)

  • \widetilde{\bm{B}}(\widetilde{\bm{x}}_d,t) = \begin{pmatrix} \bm{B}(\bm{x}_d,\bm{x}_n,t) & \bm{0} \end{pmatrix}

the DAE become

\left\{ \begin{aligned} \widetilde{\bm{x}}_d' &= \widetilde{\bm{f}}_0(\widetilde{\bm{x}}_d,t) + \widetilde{\bm{A}}(\widetilde{\bm{x}}_d,t)\widetilde{\bm{x}}_a \\[1em] \bm{0} &= \widetilde{\bm{g}}(\widetilde{\bm{x}}_d,t) + \widetilde{\bm{B}}(\widetilde{\bm{x}}_d,t)\widetilde{\bm{x}}_a \end{aligned} \right.

Example 14.1 Consider the following DAE system:

\begin{aligned} x' &= u \\ y' &= v \\ 2u' + v' + 2tx\lambda &= t \\ u' + 2v' - \lambda &= 1 - t \\ tx^2 - y^2 &= 1 \end{aligned}

Here:

  • \{x, y, u, v\} are differential variables
  • \lambda is an algebraic variable that appears only linearly
  • \bm{x}_n = \emptyset, \bm{x}_l = \{\lambda\}

This system satisfies the requirements of the dummy variable method.

After preprocessing we can assume that DAE can be written as

\left\{ \begin{aligned} \bm{x}'_d &= \bm{f}(\bm{x}_d,t) + \bm{A}(\bm{x}_d,t)\bm{x}_a \\ \bm{0} &= \bm{g}(\bm{x}_d,t) + \bm{B}(\bm{x}_d,t)\bm{x}_a \\ \end{aligned} \right.

where we have separation of differential and algebraic variables and algebraic variables appears linearly.

Figure 14.1: Preprocessing of the DAEs

14.4 Index reduction algorithm

The index reduction algorithm now work as for the index reduction for nonlinear DAE (see Section 13.4) but working with the matrix \bm{B}(\bm{x}_d,t).

Step 1: Check if \bm{B}(\bm{x}_d,t) is Singular

The constraints are written as:

\bm{B}(\bm{x}_d,t) \bm{x}_a = -\bm{g}(\bm{x}_d,t),

Compute the determinant:

  • If \det(\bm{B}(\bm{x}_d,t)) \neq 0, then \bm{B}(\bm{x}_d,t) is invertible

    • the DAE is of index 1: \bm{x}_a = -\bm{B}(\bm{x}_d,t)^{-1}\bm{g}(\bm{x}_d,t)

    • Terminate the procedure.

  • If \det(\bm{B}(\bm{x}_d,t)) = 0

    • \bm{B}(\bm{x}_d,t) is singular

    • the DAE is of index >1.

    • Proceed to the next step.

Step 2: Decompose the linear system

Determine the rank of \bm{B}(\bm{x}_d,t), denoted as r = \operatorname{rank}(\bm{B}) and define:

  • A basis \bm{Q}_a(\bm{x},t) \in \Bbb{R}^{n_a \times (n_a-k)} for the null space \mathcal{N}(\bm{B}(\bm{x},t)^T), which identifies the algebraic constraints that can be differentiated. This basis satisfies:

    • \bm{B}(\bm{x}_d,t)^T\bm{Q}_a(\bm{x}_d,t) = \bm{0} or equivalently

    • \bm{Q}_a(\bm{x}_d,t)^T\bm{B}(\bm{x}_d,t) = \bm{0}.

  • A matrix \bm{Q}_d(\bm{x}_d,t) \in \Bbb{R}^{n_a \times k} that completes \bm{Q}_a(\bm{x}_d,t) to a full basis, ensuring that: \bm{Q}(\bm{x}_d,t) = \begin{pmatrix} \bm{Q}_d(\bm{x}_d,t), \bm{Q}_a(\bm{x}_d,t) \end{pmatrix} is non-singular.

By multiplying the original constraints by \bm{Q}(\bm{x}_d,t)^T, we obtain:

  • Part that contains \bm{x}_a: \color{blue} \bm{B}_d(\bm{x}_d,t) \bm{x}_a = -\bm{g}_d(\bm{x}_d,t), where: \begin{aligned} \bm{B}_d(\bm{x}_d,t) &= \bm{Q}_d(\bm{x}_d,t)^T \bm{B}(\bm{x}_d,t), \\ \bm{g}_d(\bm{x}_d,t) &= \bm{Q}_d(\bm{x}_d,t)^T\bm{g}(\bm{x}_d,t). \end{aligned}

  • Part free of \bm{x}_a: \color{blue} \bm{g}_a(\bm{x},t) = \bm{0}, where: \bm{g}_a(\bm{x}_d,t) = \bm{Q}_a(\bm{x}_d,t)^T\bm{g}(\bm{x}_d,t). Since \bm{Q}_a(\bm{x}_d,t)^T \bm{B}(\bm{x}_d,t) = \bm{0}, no algebraic variables appear in this equation.

Step 4: Differentiate the Algebraic Constraints

The algebraic constraints must be differentiated to reveal hidden differential equations:

\frac{\mathrm{d}}{\mathrm{d}t} \bm{g}_a(\bm{x}_d,t) = \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial t} + \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \bm{x}_d^\prime(t) = \bm{0}.

Rewriting, the constraints becomes:

\begin{pmatrix} \bm{B}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \end{pmatrix} \bm{x}_d^\prime = - \begin{pmatrix} \bm{g}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial t} \end{pmatrix}.

and using \bm{x}'_d = \bm{f}(\bm{x}_d,t) + \bm{A}(\bm{x}_d,t)\bm{x}_a can be rewritten as

\begin{pmatrix} \bm{B}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \end{pmatrix} \bm{A}(\bm{x}_d,t)\bm{x}_a = - \begin{pmatrix} \bm{g}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial t} \end{pmatrix} - \begin{pmatrix} \bm{B}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \end{pmatrix} \bm{f}(\bm{x}_d,t)

or better

\begin{pmatrix} \bm{B}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \end{pmatrix} \bm{A}(\bm{x}_d,t) \bm{x}_a = - \begin{pmatrix} \bm{g}_d(\bm{x}_d,t) + \bm{B}_d(\bm{x}_d,t)\bm{f}(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial t} +\dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d}\bm{f}(\bm{x}_d,t) \end{pmatrix}

Defining:

\begin{aligned} \widetilde{\bm{B}}(\bm{x}_d,t) &= \begin{pmatrix} \bm{B}_d(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d} \end{pmatrix} \bm{A}(\bm{x}_d,t), \\ \widetilde{\bm{g}}(\bm{x}_d,t) &= \begin{pmatrix} \bm{g}_d(\bm{x}_d,t) + \bm{B}_d(\bm{x}_d,t)\bm{f}(\bm{x}_d,t) \\[1em] \dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial t} +\dfrac{\partial\bm{g}_a(\bm{x}_d,t)}{\partial\bm{x}_d}\bm{f}(\bm{x}_d,t) \end{pmatrix} \end{aligned}

we obtain a new constraint part of the DAE:

\widetilde{\bm{B}}(\bm{x}_d,t) \bm{x}_a = -\widetilde{\bm{g}}(\bm{x}_d,t).

notice that the DAE is still in the form with linear algebraic constraints.

Go to step 1.

The differentiation index is the number of times Step 4 is performed plus one before reaching an index 1 DAE.

Figure 14.2: Index reduction by dummy variables