modeltableSe

Tabular effort source of the Modelica bond graph library

Extends from Interfaces.ActiveOnePort.

Information

The tabular effort source is an active OnePort element. It inherits the effort and flow variables from the active OnePort. The tabular effort to be generated is modeled as a two-dimensional parameter table plus a set of two scalar parameters.

The effort source has its causality stroke away from the source.


Potential variables:

 e:          Bondgraphic effort variable

 f:          Bondgraphic flow variable, normalized positive for flows out of the model


Parameters:

 table:      Two-dimensional table with supporting values (default value = [0, 0; 1, 1; 2, 4])

 offset:     Offset of time function to be generated (default value = 0)

 startTime:  Start time of time function to be generated (default value = 0)


The model generates an effort source by linear interpolation in a table. The time points and effort values are stored in a matrix table[i,j], where the first column table[:,1] contains the time points, and the second column contains the effort to be interpolated. The table interpolation has the following proporties:

  • The time points need to be monotonically increasing.
  • Discontinuities are allowed, by providing the same time point twice in the table.
  • Values outside of the table range, are computed by extrapolation through the last or first two points of the table.
  • If the table has only one row, no interpolation is performed and the voltage value is just returned independantly of the actual time instant, i.e., this is a constant voltage source.
  • Via parameters startTime and offset the curve defined by the table can be shifted both in time and in the voltage.
  • The table is implemented in a numerically sound way by generating time events at interval boundaries, in order to not integrate over a discontinuous or not differentiable points.


Example:

   table = [0  0
            1  0
            1  1
            2  4
            3  9
            4 16]
If, e.g., time = 1.0, the effort e =  0.0 (before event), 1.0 (after event)
    e.g., time = 1.5, the effort e =  2.5,
    e.g., time = 2.0, the effort e =  4.0,
    e.g., time = 5.0, the effort e = 23.0 (i.e. extrapolation).

Parameters

TypeNameDefaultDescription
Real[:,:]table[0, 0; 1, 1; 2, 4]Table matrix (time = first column, voltage = second column)
Realoffset0Offset of time function
Modelica.SIunits.TimestartTime0Start time of time function

Components

TypeNameDefaultDescription
Modelica.Blocks.Sources.TimeTableTimeTable1