Anonymous
×
Create a new article
Write your page title here:
We currently have 105 articles on MOR Wiki. Type your article name above or click on one of the titles below and start writing!



MOR Wiki


Building Model
Background
Benchmark ID

buildingModel_n48m1q1

Category

slicot

System-Class

LTI-FOS

Parameters
nstates
48
ninputs

1

noutputs

1

nparameters

0

components

A, B, C

Copyright
License

NA

Creator

Christian Himpe

Editor
Location

NA


Description: Motion Problem in a Building

This benchmark models the displacement of a multi-story building for example during an Earthquake. More details can be found in [1] and [2], [3].

Earthquake Model

Origin

This benchmark is part of the SLICOT Benchmark Examples for Model Reduction[3].

Data

The system matrices A, B, C are available from the SLICOT benchmarks page: build.zip and are stored as MATLAB .mat file.

Here is Python code for loading the matrices (A is stored as a sparse matrix that is mostly full and C is stored as an array of 8-bit unsigned integers):

import numpy as np
from scipy.io import loadmat

mat = loadmat('build.mat')
A = mat['A'].toarray()
B = mat['B']
C = mat['C'].astype(np.float64)

The (A, B, C) represents a second-order system


\begin{align}
  \ddot{q}(t) + E_{so} \dot{q}(t) + K_{so} q(t) &= B_{so} u(t), \\
  y(t) &= C_{so} \dot{q}(t),
\end{align}

as


\begin{align}
  A &=
  \begin{pmatrix}
    0 & I \\
    -K_{so} & -E_{so}
  \end{pmatrix}, \\
  B &=
  \begin{pmatrix}
    0 \\
    B_{so}
  \end{pmatrix}, \\
  C &=
  \begin{pmatrix}
    0 & C_{so}
  \end{pmatrix}
\end{align}

Here is Python code for checking the structure and extracting the second-order matrices:

n = 48
n2 = n // 2

assert np.all(A[:n2, :n2] == 0)
assert np.all(A[:n2, n2:] == np.eye(n2))
assert np.all(B[:n2] == 0)
assert np.all(C[:, :n2] == 0)

Eso = -A[n2:, n2:]
Kso = -A[n2:, :n2]
Bso = B[n2:]
Cso = C[:, n2:]

Dimensions

First differential order

System structure:


\begin{align}
  \dot{x}(t) &= A x(t) + B u(t) \\
  y(t) &= C x(t)
\end{align}

System dimensions:

A \in \mathbb{R}^{48 \times 48}, B \in \mathbb{R}^{48 \times 1}, C \in \mathbb{R}^{1 \times 48}.

Second differential order

System structure:


\begin{align}
  \ddot{x}(t) + E \dot{x}(t) + K x(t) &= B u(t) \\
  y(t) &= C_v \dot{x}(t)
\end{align}

System dimensions:

E, K \in \mathbb{R}^{24 \times 24}, B \in \mathbb{R}^{24 \times 1}, C_v \in \mathbb{R}^{1 \times 24}.

Citation

To cite this benchmark, use the following references:

  • For the benchmark itself and its data:
Niconet e.V., SLICOT - Subroutine Library in Systems and Control Theory, http://www.slicot.org
@MANUAL{slicot_build,
 title =        {{SLICOT} - Subroutine Library in Systems and Control Theory},
 organization = {Niconet e.V.}
 address =      {\url{http://www.slicot.org}},
 key =          {SLICOT}
}
  • For the background on the benchmark:
@ARTICLE{morAntSG01,
 author =       {A.C. Antoulas, D.C. Sorensen and S. Gugercin},
 title =        {A survey of model reduction methods for large-scale systems},
 journal =      {Contemporary Mathematics},
 volume =       {280},
 pages =        {193--219},
 year =         {2001},
 doi =          {10.1090/conm/280}
}

References

  1. A.C. Antoulas, D.C. Sorensen and S. Gugercin. A survey of model reduction methods for large-scale systems. Contemporary Mathematics, 280: 193--219, 2001.
  2. Y. Chahlaoui, P. Van Dooren, A collection of Benchmark examples for model reduction of linear time invariant dynamical systems, Working Note 2002-2: 2002.
  3. 3.0 3.1 Y. Chahlaoui, P. Van Dooren, Benchmark Examples for Model Reduction of Linear Time-Invariant Dynamical Systems, Dimension Reduction of Large-Scale Systems, Lecture Notes in Computational Science and Engineering, vol 45: 379--392, 2005.