4

I am new into Modelica/Dymola-modeling. I started to model fluid models for my master-thesis (pipes, heaters, control). My professor suggested: Check the eigenvalues of the systems and the ratio of them (and if the systems is stiff). So did the following:

  • Linear analysis
  • Full linear analysis
  • SimulationSetup: linearizeAtInitial = false; t_linearize = 1000 (that the system is in operation mode (after initialization)

The simulation restuls are Ok.

But the linear analysis says: The system is not stable --> what does that mean?

And regarding eigenvalues i get the following result:

enter image description here

I have to say that I am not really into numerics. So these are my questions:

  1. Does that mean that the system has 23 eigenvalues?
  2. If I want to specify how "stiff" the system is, I guess i have to check the biggest and smallest value?
  3. What are the eigenvalues 12-23 --> not stable, not stabilizable, not detectable?

Any recommendations for a (simple) introduction book/chapter that explains general things like :linearication of Models, eigenvalues, etc.?

Thank you very much for your help.

Matias
  • 581
  • 1
  • 5
  • 16

1 Answers1

5

An eigenvalue with real part < 0 is stable; and the ratio between the smallest one and the largest one can be seen as the "stiffness".

An eigenvalue with real part > 0 is clearly instable.

Eigenvalues with real part == 0 are more complicated; they are written as "not stable" - but are on the border between stable and instable.

Since the imaginary parts are also zero they are pure integrators, and a fluid tank that can be seen as an integrator; which explains why you have so many eigenvalues at zero. (If the imaginary part is non-zero they are un-damped oscillators.)

Thus I would skip the zero eigenvalues in the analysis.

The "detectable/controllable" refer to the case when your model have outputs and inputs (and stabilizable is a combination of them).

Hans Olsson
  • 11,123
  • 15
  • 38
  • Thank you very much! A few more detailed questions: a) What does the column T[s] mean? With the setting t_linearize = 1000 I thought the system is checked at that time. Or is this column the time-constant ( so far I thought that the time-constant = the eigenvalue)? b) Lets assume I want to model a storage-tank, a few pipes and 2 pressure boundaries. After an initialization phase (first 20sec fast dynamics) the system dynamics (change mass-flow, temperature) are similar for the simulation time. If i want to assess the stiffness of the system, would you set t_linearize > 20 (f.i 100)? Thank you – Matias Dec 02 '16 at 09:45
  • 1
    The time-column are the time-constants which are the inverses of the eigenvalues (somewhat more complicated for complex ones). Since the time-constants are no more than 1000 the t_linearize=1000 should work. However, t_linearize is also influenced by non-linearities, and the linearization does not detect those - but as long as the system is in stationarity they don't change. – Hans Olsson Dec 02 '16 at 11:18
  • Thank you very much again! But actually the 11 eigenvalue has a time-constant that is more than 1000 - so in that case i would need to incrase t_lineaize i guess. – Matias Dec 02 '16 at 13:29
  • If the time-constant is 1100s and you simulate 1000s it is likely good enough. Note that exactly 1100s isn't special - the perturbation (if it exists) decays as exp(-t/1100s). – Hans Olsson Dec 02 '16 at 15:58