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



Convection Reaction: Difference between revisions

Mlinaric (talk | contribs)
Fix Python
Malhotra (talk | contribs)
m infobox string
 
Line 6: Line 6:
[[Category:Sparse]]
[[Category:Sparse]]
[[Category:SISO]]
[[Category:SISO]]
{{Infobox
|Title          = Convection Reaction
|Benchmark ID    = convectionReaction_n84m1q1
|Category        = slicot
|System-Class    = LTI-FOS
|nstates        = 84
|ninputs        = 1
|noutputs        = 1
|nparameters    = 0
|components      = A, B, C
|License        = NA
|Creator        = [[User:Himpe]]
|Editor          =
* [[User:Himpe]]
* [[User:Mlinaric]]
|Zenodo-link    = NA
}}


==Description==
==Description==

Latest revision as of 09:28, 30 November 2023


Convection Reaction
Background
Benchmark ID

convectionReaction_n84m1q1

Category

slicot

System-Class

LTI-FOS

Parameters
nstates
84
ninputs

1

noutputs

1

nparameters

0

components

A, B, C

Copyright
License

NA

Creator

User:Himpe

Editor
Location

NA


Description

This benchmark models a chemical reaction by a convection-reaction partial differential equation on the unit square, given by:

xt=2xy2+2xz2+20xz180x+f(y,z)x(t),

with Dirichlet boundary conditions and discretized with centered difference approximation.

The input vector B is composed of random elements and the output vector equals the input vector C=BT.

More details can be found in [1], [2], [3] and [4], [5].

Origin

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

Data

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

Here is Python code for loading the matrices (A is a sparse matrix of 16-bit integers and B and C are full matrices stored as sparse matrices):

import numpy as np
from scipy.io import loadmat

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

Dimensions

System structure:

x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)

System dimensions:

A84×84, B84×1, C1×84.

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_pde,
 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{Saa88,
 author =       {Y. Saad},
 title =        {Projection and deflation method for partial pole assignment in linear state feedback},
 journal =      {IEEE Transactions on Automatic Control},
 volume =       {33},
 number =       {3},
 pages =        {290--297},
 year =         {1988},
 doi =          {10.1109/9.406}
}

References

  1. P. Raschman, M. Kuhicek, M. Maros. Waves in distributed chemical systems: Experiments and computations. In: New Approaches to Nonlinear Problems in Dynamics - Proceedings of the Asilomar Conference Ground: 271--288, SIAM, 1980.
  2. Y. Saad. Projection and deflation method for partial pole assignment in linear state feedback, IEEE Transactions on Automatic Control, 33(3): 290--297, 1988.
  3. E.J. Grimme. Krylov Projection Methods for Model Reduction. PhD Thesis, University of Illinois at Urbana-Champaign, 1998.
  4. Y. Chahlaoui, P. Van Dooren, A collection of Benchmark examples for model reduction of linear time invariant dynamical systems, Working Note 2002-2: 2002.
  5. 5.0 5.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.