Version 1.5 (Dec. 16, 2002)





Added 55 new components. In particular, added new package Thermal.HeatTransfer for modeling of lumped heat transfer, added model LossyGear in Mechanics.Rotational to model gear efficiency and bearing friction according to a new theory in a robust way, added 10 new models in Electrical.Analog and added several other new models and improved existing models.

New components

Continuous.DerDerivative of input (= analytic differentiations)
ExamplesDemonstration examples of the components of this package
Nonlinear.VariableLimiterLimit the range of a signal with variable limits
RealPortReal port (both input/output possible)
IntegerPortInteger port (both input/output possible)
BooleanPortBoolean port (both input/output possible)
SIMOSingle Input Multiple Output continuous control block
IntegerBlockIconBasic graphical layout of Integer block
IntegerMOMultiple Integer Output continuous control block
IntegerSignalSourceBase class for continuous Integer signal source
IntegerMIBooleanMOsMultiple Integer Input Multiple Boolean Output continuous control block with same number of inputs and outputs
BooleanMIMOsMultiple Input Multiple Output continuous control block with same number of inputs and outputs of Boolean type
BusAdaptorsComponents to send signals to the bus or receive signals from the bus
RealToIntegerConvert real to integer signals
IntegerToRealConvert integer to real signals
MaxPass through the largest signal
MinPass through the smallest signal
EdgeIndicates rising edge of Boolean signal
BooleanChangeIndicates Boolean signal changing
IntegerChangeIndicates integer signal changing
IntegerConstantGenerate constant signals of type Integer
IntegerStepGenerate step signals of type Integer
HeatingResistorTemperature dependent electrical resistor
OpAmpSimple nonideal model of an OpAmp with limitation
IdealCommutingSwitchIdeal commuting switch
IdealIntermediateSwitchIdeal intermediate switch
ControlledIdealCommutingSwitchControlled ideal commuting switch
ControlledIdealIntermediateSwitchControlled ideal intermediate switch
IdealOpAmpLimitedIdeal operational amplifier with limitation
IdealOpeningSwitchIdeal opener
IdealClosingSwitchIdeal closer
ControlledIdealOpeningSwitchControlled ideal opener
ControlledIdealClosingSwitchControlled ideal closer
TLine1Lossless transmission line (Z0, TD)
TLine2Lossless transmission line (Z0, F, NL)
TLine2Lossless transmission line (Z0, F)
FunctionIcon for a function
RecordIcon for a record
EnumerationIcon for an enumeration
tempInterpol2temporary routine for vectorized linear interpolation (will be removed)
Examples.LossyGearDemo1Example to show that gear efficiency may lead to stuck motion
Examples.LossyGearDemo2Example to show combination of LossyGear and BearingFriction
LossyGearGear with mesh efficiency and bearing friction (stuck/rolling possible)
Gear2Realistic model of a gearbox (based on LossyGear)
ConversionsConversion functions to/from non SI units and type definitions of non SI units
EnergyFlowRateSame definition as Power
EnthalpyFlowRateReal (final quantity="EnthalpyFlowRate", final unit="W")
Thermal.HeatTransfer1-dimensional heat transfer with lumped elements
TriggeredSamplerTriggered sampling of continuous signals
TriggeredMaxCompute maximum, absolute value of continuous signal at trigger instants
BooleanMIRealMOsMultiple Boolean Input Multiple Real Output continuous control block with same number of inputs and outputs
RealMIBooleanMOsMultiple Real Input Multiple Boolean Output continuous control block with same number of inputs and outputs
TriggeredTrapezoidTriggered trapezoid generator
HysteresisTransform Real to Boolean with Hysteresis
OnOffControllerOn-off controller
CompareTrue, if signal of inPort1 is larger than signal of inPort2
ZeroCrossingTrigger zero crossing of input signal
Blocks.Multiplexer.ExtractorExtract scalar signal out of signal vector dependent on IntegerRealInput index
Tables.CombiTable1DsTable look-up in one dimension (matrix/file) with only single input

Package-specific Changes

  • All example models made encapsulated
  • Upper case constants changed to lower case (cf. Modelica.Constants)
  • Introduced Modelica.SIunits.Wavelength due to typo "Wavelenght"
  • Introduced ModelicaAdditions.Blocks.Logical.Interfaces.Comparison due to typo "Comparision"
  • Changed these components of *.Blocks to block class, which have not been already of block type
  • Changed *.Interfaces.RelativeSensor to partial models

Class-specific Changes


Removed final from quantity attribute for Mass and MassFlowRate.


Implemented avoiding algorithm section, which would lead to expensive function calls.


block Step "Generate step signals of type Real"
        parameter Real height[:]={1} "Heights of steps";
 // parameter Real offset[:]={0} "Offsets of output signals";
// parameter SIunits.Time startTime[:]={0} "Output = offset for time < startTime";
// extends Interfaces.MO          (final nout=max([size(height, 1); size(offset, 1); size(startTime, 1)]));
        extends Interfaces.SignalSource(final nout=max([size(height, 1); size(offset, 1); size(startTime, 1)]));


Replaced usage of built-in function exp by Modelica.Math.exp.


Interface definition changed from

    parameter Real table[:, :]=[0, 0; 1, 1; 2, 4] "Table matrix (time = first column)";


    parameter Real table[:, 2]=[0, 0; 1, 1; 2, 4] "Table matrix (time = first column)";

Did the same for subfunction getInterpolationCoefficients.

Bug in getInterpolationCoefficients for startTime <> 0 fixed:

                end if;
          end if;
          // Take into account startTime "a*(time - startTime) + b"
          b := b - a*startTime;
        end getInterpolationCoefficients;


block BooleanStep "Generate step signals of type Boolean"
        parameter SIunits.Time startTime[:]={0} "Time instants of steps";
        parameter Boolean startValue[size(startTime, 1)]=fill(false, size(startTime, 1)) "Output before startTime";
        extends Interfaces.BooleanSignalSource(final nout=size(startTime, 1));
        for i in 1:nout loop
//   outPort.signal[i] = time >= startTime[i];
          outPort.signal[i] = if time >= startTime[i] then not startValue[i] else startValue[i];
        end for;
end BooleanStep;


Corrected table of values and default for Beta by dividing them by 1000 (consistent with the values used in the NAND-example model):

  • Semiconductors.PMOS
  • Semiconductors.NMOS

Corrected parameter defaults, unit and description for TrapezoidCurrent. This makes the parameters consistent with their use in the model. Models specifying parameter values are not changed. Models not specifying parameter values did not generate trapezoids previously.

Icon layer background changed from transparent to white:

  • Basic.Gyrator
  • Basic.EMF
  • Ideal.Idle
  • Ideal.Short

Basic.Transformer: Replaced invalid escape characters '\\ ' and '\\[newline]' in documentation by '|'.


Removed arrows and names documentation from flanges in diagram layer



Replaced reinit by initial equation


Bug corrected by using modifier stateSelect = StateSelect.prefer as implementation


Attribute fillColor=7 added to Rectangle on Icon layer, i.e., it is now filled with white and not transparent any more.


Replaced reinit by initial equation


Bug corrected by using modifier stateSelect = StateSelect.prefer as implementation


Use stateSelect = StateSelect.prefer.


Improved documentation and coordinate system used for example.


Replaced reinit by initial equation


Definition of connectors Surface_a and Surface_b:
flow SIunits.HeatFlux q; changed to flow SIunits.HeatFlowRate q;


Icon corrected.