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 "Nonlinear RC Ladder"

(→‎Data: Fixes based on comments by Maria)
(Added Dimensions and Citaiton section, more references and some fixes.)
Line 6: Line 6:
 
==Description==
 
==Description==
   
  +
The nonlinear RC-ladder is an electronic test circuit introduced in <ref name="chen99"/>.
The nonlinear RC-ladder is an electronic test circuit introduced in<ref>Y. Chen, "<span class="plainlinks">[http://hdl.handle.net/1721.1/9381 Model Reduction for Nonlinear Systems]</span>", Master Thesis, 1999.</ref><ref>Y. Chen and J. White, "<span class="plainlinks">[https://tesla.physics.purdue.edu/quantum/files/chen_mor_icmsm2000.pdf A quadratic method for nonlinear model order reduction]</span>", Int. conference on modelling and simulation of Microsystems semiconductors, sensors and actuators, 2000.</ref>.
 
This nonlinear first-order system models a resistor-capacitor network that exhibits a distinct nonlinear behaviour caused by the nonlinear resistors consisting of a parallel connected resistor with a diode.
+
This nonlinear first-order system models a resistor-capacitor network that exhibits a distinct nonlinear behavior caused by the nonlinear resistors consisting of a parallel connected resistor with a diode.
   
 
<figure id="fig:nrcl">[[File:nrcl.png|400px|thumb|right| Nonlinear RC-Ladder]]</figure>
 
<figure id="fig:nrcl">[[File:nrcl.png|400px|thumb|right| Nonlinear RC-Ladder]]</figure>
   
   
==Model==
+
===Model===
   
The underlying model is given by a ([[List_of_abbreviations#SISO|SISO]]) gradient system of the form<ref>M. Condon and R. Ivanov, "<span class="plainlinks">[http://dx.doi.org/10.1007/s00332-004-0617-5 Empirical balanced truncation for nonlinear systems]</span>", Journal of Nonlinear Science 14(5):405--414, 2004.</ref>:
+
The underlying model is given by a ([[List_of_abbreviations#SISO|SISO]]) gradient system of the form <ref name="condon04"/>:
   
 
:<math>
 
:<math>
Line 24: Line 24:
 
</math>
 
</math>
   
where the nonlinearity <math>g(x):\mathbb{R} \to \mathbb{R}</math> is given by:
+
where the <math>g</math> is a mapping <math>g(x):\mathbb{R} \to \mathbb{R}</math>:
  +
 
:<math>
 
:<math>
g(x) = \exp(40x) + x - 1
+
g(x_i) = g_D(x_i) -1 + x_i,
 
</math>
 
</math>
   
  +
which combines the effect of a [[wikipedia:Diode|diode]] and a resistor.
==Input==
 
  +
  +
===Nonlinearity===
  +
The nonlinearity <math>g_S</math> models a diode as a nonlinear resistor,
  +
based on the [[wikipedia:Diode_modelling#Shockley_diode_model|Shockley model]] <ref name="reis14"/>:
  +
  +
:<math>
  +
g_D(x_i) = i_S (\exp(u_P x_i) - 1),
  +
</math>
  +
  +
with material parameters <math>i_S > 0</math> and <math>u_P > 0</math>.
  +
  +
For this benchmark the parameters are selected as: <math>i_S = 1</math> and <math>u_P = 40</math> as in <ref name="chen99"/>.
  +
  +
 
===Input===
   
As external input several alternatives are presented in<ref>M. Condon and R. Ivanov, "<span class="plainlinks">[http://dx.doi.org/10.1108/03321640410510730 Model Reduction of Nonlinear Systems]</span>", COMPEL 23(2): 547--557, 2004</ref>, which are listed next.
+
As external input several alternatives are presented in <ref name="chen00"/>, which are listed next.
 
A simple step function is given by:
 
A simple step function is given by:
 
:<math>
 
:<math>
Line 42: Line 58:
 
</math>
 
</math>
   
Additional input sources are given by conjunction of sine waves with different periods:
+
Additional input sources are given by conjunction of sine waves with different periods <ref name="condon04a"/>:
 
:<math>
 
:<math>
 
u_3(t) = \sin(2\pi 50t)+\sin(2\pi 1000t),
 
u_3(t) = \sin(2\pi 50t)+\sin(2\pi 1000t),
Line 50: Line 66:
 
u_4(t) = \sin(2\pi 50t) \sin(2\pi 1000t).
 
u_4(t) = \sin(2\pi 50t) \sin(2\pi 1000t).
 
</math>
 
</math>
 
   
 
==Data==
 
==Data==
   
A sample procedural MATLAB implementation of order N is given by:
+
A sample procedural MATLAB implementation of order <math>N</math> is given by:
   
 
<div class="thumbinner" style="width:540px;text-align:left;">
 
<div class="thumbinner" style="width:540px;text-align:left;">
 
<source lang="matlab">
 
<source lang="matlab">
   
  +
function [f,B,C] = nrc(N)
 
%% Procedural generation of "Nonlinear RC Ladder" benchmark system
 
%% Procedural generation of "Nonlinear RC Ladder" benchmark system
   
% nonlinearity
+
% nonlinearity
g = @(x) exp(40.0*x) + x - 1.0;
+
g = @(x) exp(40.0*x) + x - 1.0;
   
A0 = sparse(N,N);
+
A0 = sparse(N,N);
A0(1,1) = 1;
+
A0(1,1) = 1;
   
A1 = spdiags(ones(N-1,1),-1,N,N) - speye(N);
+
A1 = spdiags(ones(N-1,1),-1,N,N) - speye(N);
A1(1,1) = 0;
+
A1(1,1) = 0;
   
A2 = spdiags([ones(N-1,1);0],0,N,N) - spdiags(ones(N,1),1,N,N);
+
A2 = spdiags([ones(N-1,1);0],0,N,N) - spdiags(ones(N,1),1,N,N);
   
% input matrix
+
% input matrix
B = sparse(N,1);
+
B = sparse(N,1);
B(1,1) = 1;
+
B(1,1) = 1;
   
% output matrix
+
% output matrix
C = sparse(1,N);
+
C = sparse(1,N);
C(1,1) = 1;
+
C(1,1) = 1;
  +
 
% vector field and output functional
 
f = @(x) -g(A0*x) + g(A1*x) - g(A2*x);
  +
  +
end
   
% vector field and output functional
 
xdot = @(x) -g(A0*x) + g(A1*x) - g(A2*x) + B*u;
 
y = @(x) C*x;
 
 
</source>
 
</source>
 
</div>
 
</div>
  +
  +
Here the nonlinear part of the vectorfield is realized in a vectorized form as a [[wikipedia:Closure_(computer_programming)|closure]].
  +
  +
==Dimensions==
  +
  +
System structure:
  +
:<math>
  +
\begin{align}
  +
\dot{x}(t) &= f(x(t)) + Bu(t) \\
  +
y(t) &= Cx(t)
  +
\end{align}
  +
</math>
  +
  +
System dimensions:
  +
  +
<math>f : \mathbb{R}^N \to \mathbb{R}^N</math>,
  +
<math>B \in \mathbb{R}^{N \times 1}</math>,
  +
<math>C \in \mathbb{R}^{1 \times N}</math>.
  +
  +
==Citation==
  +
  +
To cite this benchmark, use the following references:
  +
  +
* For the benchmark itself and its data:
  +
::The MORwiki Community. '''Nonlinear RC Ladder'''. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Nonlinear_RC_Ladder
  +
  +
@MISC{morwiki_modgyro,
  +
author = {The {MORwiki} Community},
  +
title = {Nonlinear RC Ladder},
  +
howpublished = {{MORwiki} -- Model Order Reduction Wiki},
  +
url = {<nowiki>http://modelreduction.org/index.php/Nonlinear_RC_Ladder</nowiki>},
  +
year = {2018}
  +
}
  +
  +
* For the background on the benchmark: <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morChe99 morChe99]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morChe99 BibTeX]</span>)
   
 
==References==
 
==References==
   
<references/>
+
<references>
  +
  +
<ref name="chen99">Y. Chen, "<span class="plainlinks">[http://hdl.handle.net/1721.1/9381 Model Reduction for Nonlinear Systems]</span>", Master Thesis, 1999.</ref>
  +
 
<ref name="chen00">Y. Chen and J. White, "<span class="plainlinks">[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.8951&rep=rep1&type=pdf A quadratic method for nonlinear model order reduction]</span>", Int. conference on modelling and simulation of Microsystems semiconductors, sensors and actuators, 2000.</ref>
  +
  +
<ref name="condon04">M. Condon and R. Ivanov, "<span class="plainlinks">[https://doi.org/10.1007/s00332-004-0617-5 Empirical balanced truncation for nonlinear systems]</span>", Journal of Nonlinear Science 14(5):405--414, 2004.</ref>
  +
  +
<ref name="condon04a">M. Condon and R. Ivanov, "<span class="plainlinks">[https://doi.org/10.1108/03321640410510730 Model Reduction of Nonlinear Systems]</span>", COMPEL 23(2): 547--557, 2004</ref>
  +
  +
<ref name="reis14">T. Reis. "<span class="plainlinks">[https://doi.org/10.1007/978-3-319-08437-4_2 Mathematical Modeling and Analysis of Nonlinear Time-Invariant RLC Circuits]</span>", In: Large-Scale Networks in Engineering and Life Sciences. Modeling and Simulation in Science, Engineering and Technology: 125--198, 2014.</ref>
  +
  +
</references>
   
 
==Contact==
 
==Contact==

Revision as of 11:02, 8 March 2018


Description

The nonlinear RC-ladder is an electronic test circuit introduced in [1]. This nonlinear first-order system models a resistor-capacitor network that exhibits a distinct nonlinear behavior caused by the nonlinear resistors consisting of a parallel connected resistor with a diode.

Nonlinear RC-Ladder


Model

The underlying model is given by a (SISO) gradient system of the form [2]:


\dot{x}(t) = \begin{pmatrix} -g(x_1(t)) - g(x_1(t) - x_2(t)) \\ g(x_1(t)-x_2(t)) - g(x_2(t)-x_3(t)) \\ \vdots \\ g(x_{k-1}(t) - x_k(t)) - g(x_k(t) - x_{x+1}(t)) \\ \vdots \\ g(x_{N-1}(t) - x_N(t)) \end{pmatrix}+\begin{pmatrix}u(t) \\ 0 \\ \vdots \\ 0 \\ \vdots \\ 0 \end{pmatrix},

y(t) = x_1(t),

where the g is a mapping g(x):\mathbb{R} \to \mathbb{R}:


g(x_i) = g_D(x_i) -1 + x_i,

which combines the effect of a diode and a resistor.

Nonlinearity

The nonlinearity g_S models a diode as a nonlinear resistor, based on the Shockley model [3]:


g_D(x_i) = i_S (\exp(u_P x_i) - 1),

with material parameters i_S > 0 and u_P > 0.

For this benchmark the parameters are selected as: i_S = 1 and u_P = 40 as in [1].


Input

As external input several alternatives are presented in [4], which are listed next. A simple step function is given by:


u_1(t)=\begin{cases}0 & t < 4 \\ 1 & t \geq 4 \end{cases},

an exponential decaying input is provided by:


u_2(t) = e^{-t}.

Additional input sources are given by conjunction of sine waves with different periods [5]:


u_3(t) = \sin(2\pi 50t)+\sin(2\pi 1000t),

u_4(t) = \sin(2\pi 50t) \sin(2\pi 1000t).

Data

A sample procedural MATLAB implementation of order N is given by:

function [f,B,C] = nrc(N)
%% Procedural generation of "Nonlinear RC Ladder" benchmark system

  % nonlinearity
  g = @(x) exp(40.0*x) + x - 1.0;

  A0 = sparse(N,N);
  A0(1,1) = 1;

  A1 = spdiags(ones(N-1,1),-1,N,N) - speye(N);
  A1(1,1) = 0;

  A2 = spdiags([ones(N-1,1);0],0,N,N) - spdiags(ones(N,1),1,N,N);

  % input matrix
  B = sparse(N,1);
  B(1,1) = 1;

  % output matrix
  C = sparse(1,N);
  C(1,1) = 1;

  % vector field and output functional
  f = @(x) -g(A0*x) + g(A1*x) - g(A2*x);

end

Here the nonlinear part of the vectorfield is realized in a vectorized form as a closure.

Dimensions

System structure:


\begin{align}
\dot{x}(t) &= f(x(t)) + Bu(t) \\
y(t) &= Cx(t)
\end{align}

System dimensions:

f : \mathbb{R}^N \to \mathbb{R}^N, B \in \mathbb{R}^{N \times 1}, C \in \mathbb{R}^{1 \times N}.

Citation

To cite this benchmark, use the following references:

  • For the benchmark itself and its data:
The MORwiki Community. Nonlinear RC Ladder. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Nonlinear_RC_Ladder
   @MISC{morwiki_modgyro,
    author = {The {MORwiki} Community},
    title = {Nonlinear RC Ladder},
    howpublished = {{MORwiki} -- Model Order Reduction Wiki},
    url = {http://modelreduction.org/index.php/Nonlinear_RC_Ladder},
    year = {2018}
   }

References

  1. 1.0 1.1 Y. Chen, "Model Reduction for Nonlinear Systems", Master Thesis, 1999.
  2. M. Condon and R. Ivanov, "Empirical balanced truncation for nonlinear systems", Journal of Nonlinear Science 14(5):405--414, 2004.
  3. T. Reis. "Mathematical Modeling and Analysis of Nonlinear Time-Invariant RLC Circuits", In: Large-Scale Networks in Engineering and Life Sciences. Modeling and Simulation in Science, Engineering and Technology: 125--198, 2014.
  4. Y. Chen and J. White, "A quadratic method for nonlinear model order reduction", Int. conference on modelling and simulation of Microsystems semiconductors, sensors and actuators, 2000.
  5. M. Condon and R. Ivanov, "Model Reduction of Nonlinear Systems", COMPEL 23(2): 547--557, 2004

Contact

Christian Himpe