# Version_1_5

Version 1.5 (Dec. 16, 2002)

## Library

Modelica/UsersGuide/ReleaseNotes

## Description

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**

Modelica.Blocks. | |

Continuous.Der | Derivative of input (= analytic differentiations) |

Examples | Demonstration examples of the components of this package |

Nonlinear.VariableLimiter | Limit the range of a signal with variable limits |

Modelica.Blocks.Interfaces. | |

RealPort | Real port (both input/output possible) |

IntegerPort | Integer port (both input/output possible) |

BooleanPort | Boolean port (both input/output possible) |

SIMO | Single Input Multiple Output continuous control block |

IntegerBlockIcon | Basic graphical layout of Integer block |

IntegerMO | Multiple Integer Output continuous control block |

IntegerSignalSource | Base class for continuous Integer signal source |

IntegerMIBooleanMOs | Multiple Integer Input Multiple Boolean Output continuous control block with same number of inputs and outputs |

BooleanMIMOs | Multiple Input Multiple Output continuous control block with same number of inputs and outputs of Boolean type |

BusAdaptors | Components to send signals to the bus or receive signals from the bus |

Modelica.Blocks.Math. | |

RealToInteger | Convert real to integer signals |

IntegerToReal | Convert integer to real signals |

Max | Pass through the largest signal |

Min | Pass through the smallest signal |

Edge | Indicates rising edge of Boolean signal |

BooleanChange | Indicates Boolean signal changing |

IntegerChange | Indicates integer signal changing |

Modelica.Blocks.Sources. | |

IntegerConstant | Generate constant signals of type Integer |

IntegerStep | Generate step signals of type Integer |

Modelica.Electrical.Analog.Basic. | |

HeatingResistor | Temperature dependent electrical resistor |

OpAmp | Simple nonideal model of an OpAmp with limitation |

Modelica.Electrical.Analog.Ideal. | |

IdealCommutingSwitch | Ideal commuting switch |

IdealIntermediateSwitch | Ideal intermediate switch |

ControlledIdealCommutingSwitch | Controlled ideal commuting switch |

ControlledIdealIntermediateSwitch | Controlled ideal intermediate switch |

IdealOpAmpLimited | Ideal operational amplifier with limitation |

IdealOpeningSwitch | Ideal opener |

IdealClosingSwitch | Ideal closer |

ControlledIdealOpeningSwitch | Controlled ideal opener |

ControlledIdealClosingSwitch | Controlled ideal closer |

Modelica.Electrical.Analog.Lines. | |

TLine1 | Lossless transmission line (Z0, TD) |

TLine2 | Lossless transmission line (Z0, F, NL) |

TLine2 | Lossless transmission line (Z0, F) |

Modelica.Icons. | |

Function | Icon for a function |

Record | Icon for a record |

Enumeration | Icon for an enumeration |

Modelica.Math. | |

tempInterpol2 | temporary routine for vectorized linear interpolation (will be removed) |

Modelica.Mechanics.Rotational. | |

Examples.LossyGearDemo1 | Example to show that gear efficiency may lead to stuck motion |

Examples.LossyGearDemo2 | Example to show combination of LossyGear and BearingFriction |

LossyGear | Gear with mesh efficiency and bearing friction (stuck/rolling possible) |

Gear2 | Realistic model of a gearbox (based on LossyGear) |

Modelica.SIunits. | |

Conversions | Conversion functions to/from non SI units and type definitions of non SI units |

EnergyFlowRate | Same definition as Power |

EnthalpyFlowRate | `Real (final quantity="EnthalpyFlowRate", final unit="W")` |

Modelica. | |

Thermal.HeatTransfer | 1-dimensional heat transfer with lumped elements |

ModelicaAdditions.Blocks.Discrete. | |

TriggeredSampler | Triggered sampling of continuous signals |

TriggeredMax | Compute maximum, absolute value of continuous signal at trigger instants |

ModelicaAdditions.Blocks.Logical.Interfaces. | |

BooleanMIRealMOs | Multiple Boolean Input Multiple Real Output continuous control block with same number of inputs and outputs |

RealMIBooleanMOs | Multiple Real Input Multiple Boolean Output continuous control block with same number of inputs and outputs |

ModelicaAdditions.Blocks.Logical. | |

TriggeredTrapezoid | Triggered trapezoid generator |

Hysteresis | Transform Real to Boolean with Hysteresis |

OnOffController | On-off controller |

Compare | True, if signal of inPort1 is larger than signal of inPort2 |

ZeroCrossing | Trigger zero crossing of input signal |

ModelicaAdditions. | |

Blocks.Multiplexer.Extractor | Extract scalar signal out of signal vector dependent on IntegerRealInput index |

Tables.CombiTable1Ds | Table 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**

*Modelica.SIunits*

Removed `final`

from quantity attribute for *Mass* and *MassFlowRate*.

*Modelica.Blocks.Math.Sum*

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

*Modelica.Blocks.Sources.Step*

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)]));

*Modelica.Blocks.Sources.Exponentials*

Replaced usage of built-in function `exp`

by Modelica.Math.exp.

*Modelica.Blocks.Sources.TimeTable*

Interface definition changed from

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

to

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;

*Modelica.Blocks.Sources.BooleanStep*

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));equation 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;

*Modelica.Electrical.Analog*

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 '|'.

*Modelica.Mechanics.Rotational*

Removed arrows and names documentation from flanges in diagram layer

*Modelica.Mechanics.Rotational.Interfaces.FrictionBase*

*Modelica.Mechanics.Rotational.Position*

Replaced `reinit`

by `initial equation`

*Modelica.Mechanics.Rotational.RelativeStates*

Bug corrected by using modifier `stateSelect = StateSelect.prefer`

as implementation

*Modelica.Mechanics.Translational.Interfaces.flange_b*

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

*Modelica.Mechanics.Translational.Position*

Replaced `reinit`

by `initial equation`

*Modelica.Mechanics.Translational.RelativeStates*

Bug corrected by using modifier `stateSelect = StateSelect.prefer`

as implementation

*Modelica.Mechanics.Translational.Stop*

Use `stateSelect = StateSelect.prefer`

.

*Modelica.Mechanics.Translational.Examples.PreLoad*

Improved documentation and coordinate system used for example.

*ModelicaAdditions.Blocks.Nonlinear.PadeDelay*

Replaced `reinit`

by `initial equation`

*ModelicaAdditions.HeatFlow1D.Interfaces*

Definition of connectors *Surface_a* and *Surface_b*:`flow SIunits.HeatFlux q;`

changed to `flow SIunits.HeatFlowRate q;`

*MultiBody.Parts.InertialSystem*

Icon corrected.