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

Difference between revisions of "Mass-Spring-Damper"

(init)
 
 
(3 intermediate revisions by 2 users not shown)
Line 17: Line 17:
 
:<math>
 
:<math>
 
\begin{align}
 
\begin{align}
M \ddot{x}(t) + D \dot{x}(t) + K x(t) + f(\dot{x}(t)) &= B u(t), \\
+
M \ddot{x}(t) + D \dot{x}(t) + K x(t) + f(x(t)) &= B u(t), \\
 
y(t) &= C x(t).
 
y(t) &= C x(t).
 
\end{align}
 
\end{align}
Line 23: Line 23:
   
 
===First Order Representation===
 
===First Order Representation===
  +
  +
The second order system can be represented as a first order system as follows:
   
 
:<math>
 
:<math>
Line 28: Line 30:
 
\begin{pmatrix} 1 & 0 \\ 0 & M \end{pmatrix} \begin{pmatrix} \dot{p} \\ \dot{v} \end{pmatrix} &=
 
\begin{pmatrix} 1 & 0 \\ 0 & M \end{pmatrix} \begin{pmatrix} \dot{p} \\ \dot{v} \end{pmatrix} &=
 
\begin{pmatrix} 0 & 1 \\ K & D \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix} +
 
\begin{pmatrix} 0 & 1 \\ K & D \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix} +
\begin{pmatrix} 0 \\ f(p) \end{pmatrix} + \begin{pmatrix} 0 \\ B \end{pmatrix} \\
+
\begin{pmatrix} 0 \\ f_p(p) \end{pmatrix} + \begin{pmatrix} 0 \\ B_v \end{pmatrix} \\
y &= \begin{pmatrix} C & 0 \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix}
+
y &= \begin{pmatrix} C_p & 0 \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix}
 
\end{align}
 
\end{align}
 
</math>
 
</math>
  +
  +
with the components:
   
 
:<math>
 
:<math>
M = m \begin{pmatrix} 1 \\ & \ddots \end{pmatrix}
+
M = m \begin{pmatrix} 1 \\ & \ddots \end{pmatrix}, \quad
K = k_l \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
+
K_0 = k_l \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
 
D = d \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
 
D = d \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
B = \begin{pmatrix} 0 \\ \vdots \\ 0 \\ 1 \end{pmatrix}, \quad
+
B_v = \begin{pmatrix} 0 \\ \vdots \\ 0 \\ 1 \end{pmatrix}, \quad
C = \begin{pmatrix} 0 & \dots & 0 & 1 \end{pmatrix}, \quad
+
C_p = \begin{pmatrix} 0 & \dots & 0 & 1 \end{pmatrix},
f(p) = -k_n \Big( \begin{pmatrix} 1 & -1 \\ & \ddots & \ddots \end{pmatrix} p \Big)^3 -k_n \Big( \begin{pmatrix} 1 \\ -1 & \ddots \\ & \ddots \end{pmatrix} p \Big)^3
 
 
</math>
 
</math>
  +
  +
and the nonlinear term:
  +
  +
:<math>
 
f_p(p) = -k_n \Big( \begin{pmatrix} 1 & -1 \\ & \ddots & \ddots \end{pmatrix} p \Big)^3 -k_n \Big( \begin{pmatrix} 1 \\ -1 & \ddots \\ & \ddots \end{pmatrix} p \Big)^3
  +
</math>
  +
  +
and thus yielding the classic first order components:
  +
  +
:<math>
  +
E = \begin{pmatrix} 1 & 0 \\ 0 & M \end{pmatrix}, \quad
  +
A = \begin{pmatrix} 0 & 1 \\ K & D \end{pmatrix}, \quad
  +
B = \begin{pmatrix} 0 \\ B_v \end{pmatrix}, \quad
  +
C = \begin{pmatrix} C_p & 0 \end{pmatrix}.
  +
</math>
  +
  +
The parameters for the mass <math>m</math>, linear spring constant <math>k_l</math>, nonlinear spring constant <math>k_n</math>, and damping <math>d</math> are chosen in <ref name="kawano15"/> as <math>m=1</math>, <math>k_l=1</math>, <math>k_n=2</math>, and <math>d=1</math>.
   
   
 
==Data==
 
==Data==
   
  +
The following Matlab code assembles the above described <math>E</math>, <math>A</math>, <math>B</math> and <math>C</math> parameter dependent matrices and the function <math>f</math> for a given number of subsystems <math>N</math>.
  +
  +
<div class="thumbinner" style="width:540px;text-align:left;">
  +
<source lang="matlab">
  +
function [E,A,B,C,f] = msd(N)
  +
  +
U = speye(N); % Sparse unit matrix
  +
T = gallery('tridiag',N,-1,2,-1); % Sparse tridiagonal matrix
  +
H = gallery('tridiag',N,-1,1,0); % Sparse transport matrix
  +
Z = sparse(N,N); % Sparse all zero matrix
  +
z = sparse(N,1); % Sparse all zero vector
  +
  +
E = @(m) [U,Z;Z,m*U]; % Handle to parametric E matrix
  +
A = @(kl,d) [Z,U;kl*T,d*T]; % Handle to parametric A matrix
  +
B = sparse(2*N,1,1,2*N,1);
  +
C = sparse(N,1,1,2*N,1);
  +
f = @(x,kn) [z;-kn*( (H'*x(N+1:end)).^3 - (H*x(N+1:end)).^3)];
  +
end
  +
</source>
  +
</div>
   
   
Line 51: Line 91:
 
System structure:
 
System structure:
   
  +
:<math>
  +
\begin{array}{rcl}
  +
E(m) \dot{x}(t) &=& A(k_l,d)x(t) + f(x(t);k_n) + Bu(t) \\
  +
y(t) &=& Cx(t)
  +
\end{array}
  +
</math>
  +
  +
System dimensions:
   
  +
<math>E \in \mathbb{R}^{2N \times 2N}</math>,
  +
<math>A \in \mathbb{R}^{2N \times 2N}</math>,
  +
<math>B \in \mathbb{R}^{2N \times 1}</math>,
  +
<math>C \in \mathbb{R}^{1 \times 2N}</math>.
   
 
==Citation==
 
==Citation==
Line 64: Line 116:
 
title = {Mass-Spring-Damper System},
 
title = {Mass-Spring-Damper System},
 
howpublished = {hosted at {MORwiki} -- Model Order Reduction Wiki},
 
howpublished = {hosted at {MORwiki} -- Model Order Reduction Wiki},
url = <nowiki>{http://modelreduction.org/index.php/Mass-Spring-Damper}</nowiki>,
+
url = <nowiki>{https://modelreduction.org/morwiki/Mass-Spring-Damper}</nowiki>,
 
year = 2018
 
year = 2018
 
}
 
}
Line 80: Line 132:
 
doi = {10.1007/978-3-319-20988-3}
 
doi = {10.1007/978-3-319-20988-3}
 
}
 
}
 
   
 
==References==
 
==References==
Line 86: Line 137:
 
<references>
 
<references>
   
<ref name="kawano15">Y. Kawano and J.M.A. Scherpen, <span class="plainlinks">[https://doi.org/10.1007/978-3-319-20988-3 Model Reduction by Generalized Differential Balancing]</span>, In: Mathematical Control Theory I: Nonlinear and Hybrid Control Systems, Lecture Notes in Control and Information Sciences 461: 349--362, 2015.</ref>
+
<ref name="kawano15">Y. Kawano and J.M.A. Scherpen, <span class="plainlinks">[https://doi.org/10.1007/978-3-319-20988-3_19 Model Reduction by Generalized Differential Balancing]</span>, In: Mathematical Control Theory I: Nonlinear and Hybrid Control Systems, Lecture Notes in Control and Information Sciences 461: 349--362, 2015.</ref>
   
 
</references>
 
</references>
 
 
==Contact==
 
 
[[User:Himpe]]
 

Latest revision as of 07:34, 17 June 2025

Under Construction.png Note: This page has not been verified by our editors.

Description: Mass-Spring-Damper System

This benchmark is a generalization of the nonlinear mass-spring-damper system presented in [1], which is concerned with modeling the a mechanical systems consisting of chained masses, linear and nonlinear springs, and dampers. The underlying mathematical model is a second order system:


\begin{align}
 M \ddot{x}(t) + D \dot{x}(t) + K x(t) + f(x(t)) &= B u(t), \\
 y(t) &= C x(t).
\end{align}

First Order Representation

The second order system can be represented as a first order system as follows:


\begin{align}
\begin{pmatrix} 1 & 0 \\ 0 & M \end{pmatrix} \begin{pmatrix} \dot{p} \\ \dot{v} \end{pmatrix} &=
\begin{pmatrix} 0 & 1 \\ K & D \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix} +
\begin{pmatrix} 0 \\ f_p(p) \end{pmatrix} + \begin{pmatrix} 0 \\ B_v \end{pmatrix} \\
y &= \begin{pmatrix} C_p & 0 \end{pmatrix} \begin{pmatrix} p \\ v \end{pmatrix}
\end{align}

with the components:


M = m \begin{pmatrix} 1 \\ & \ddots \end{pmatrix}, \quad
K_0 = k_l \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
D = d \begin{pmatrix} -2 & 1 \\ 1 & -2 & \ddots \\ & \ddots & \ddots \end{pmatrix}, \quad
B_v = \begin{pmatrix} 0 \\ \vdots \\ 0 \\ 1 \end{pmatrix}, \quad
C_p = \begin{pmatrix} 0 & \dots & 0 & 1 \end{pmatrix},

and the nonlinear term:


f_p(p) = -k_n \Big( \begin{pmatrix} 1 & -1 \\ & \ddots & \ddots \end{pmatrix} p \Big)^3 -k_n \Big( \begin{pmatrix} 1 \\ -1 & \ddots \\ & \ddots \end{pmatrix} p \Big)^3

and thus yielding the classic first order components:


E = \begin{pmatrix} 1 & 0 \\ 0 & M \end{pmatrix}, \quad
A = \begin{pmatrix} 0 & 1 \\ K & D \end{pmatrix}, \quad
B = \begin{pmatrix} 0 \\ B_v \end{pmatrix}, \quad
C = \begin{pmatrix} C_p & 0 \end{pmatrix}.

The parameters for the mass m, linear spring constant k_l, nonlinear spring constant k_n, and damping d are chosen in [1] as m=1, k_l=1, k_n=2, and d=1.


Data

The following Matlab code assembles the above described E, A, B and C parameter dependent matrices and the function f for a given number of subsystems N.

function [E,A,B,C,f] = msd(N)

    U = speye(N);                     % Sparse unit matrix
    T = gallery('tridiag',N,-1,2,-1); % Sparse tridiagonal matrix
    H = gallery('tridiag',N,-1,1,0);  % Sparse transport matrix
    Z = sparse(N,N);                  % Sparse all zero matrix
    z = sparse(N,1);                  % Sparse all zero vector

    E = @(m) [U,Z;Z,m*U];             % Handle to parametric E matrix
    A = @(kl,d) [Z,U;kl*T,d*T];       % Handle to parametric A matrix
    B = sparse(2*N,1,1,2*N,1);
    C = sparse(N,1,1,2*N,1);
    f = @(x,kn) [z;-kn*( (H'*x(N+1:end)).^3 - (H*x(N+1:end)).^3)];
end


Dimensions

System structure:


\begin{array}{rcl}
E(m) \dot{x}(t) &=& A(k_l,d)x(t) + f(x(t);k_n) + Bu(t) \\
y(t) &=& Cx(t)
\end{array}

System dimensions:

E \in \mathbb{R}^{2N \times 2N}, A \in \mathbb{R}^{2N \times 2N}, B \in \mathbb{R}^{2N \times 1}, C \in \mathbb{R}^{1 \times 2N}.

Citation

To cite this benchmark, use the following references:

  • For the benchmark itself and its data:
The MORwiki Community, Mass-Spring-Damper System. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Mass-Spring-Damper
@MISC{morwiki_msd,
  author =       {{The MORwiki Community}},
  title =        {Mass-Spring-Damper System},
  howpublished = {hosted at {MORwiki} -- Model Order Reduction Wiki},
  url =          {https://modelreduction.org/morwiki/Mass-Spring-Damper},
  year =         2018
}
  • For the background on the benchmark:
@INPROCEEDINGS{morKawS15,
  title =        {Model Reduction by Generalized Differential Balancing},
  author =       {Y. Kawano and J.M.A. Scherpen},
  booktitle =    {Mathematical Control Theory I: Nonlinear and Hybrid Control Systems},
  series =       {Lecture Notes in Control and Information Sciences},
  volume =       {461},
  pages =        {349--362},
  year =         {2015},
  doi =          {10.1007/978-3-319-20988-3}
}

References

  1. 1.0 1.1 Y. Kawano and J.M.A. Scherpen, Model Reduction by Generalized Differential Balancing, In: Mathematical Control Theory I: Nonlinear and Hybrid Control Systems, Lecture Notes in Control and Information Sciences 461: 349--362, 2015.