This section summarizes the changes that have been performed on the Modelica standard library. Furthermore, it is explained in Modelica.UsersGuide.ReleaseNotes.VersionManagement how the versions are managed. This is especially important for maintenance (bug fix) releases where the main version number is not changed.
Version 3.2.3  January 23, 2019 
Version 3.2.2  April 3, 2016 
Version 3.2.1  August 14, 2013 
Version 3.2  Oct. 25, 2010 
Version 3.1  August 14, 2009 
Version 3.0.1  Jan. 27, 2009 
Version 3.0  March 1, 2008 
Version 2.2.2  Aug. 31, 2007 
Version 2.2.1  March 24, 2006 
Version 2.2  April 6, 2005 
Version 2.1  Nov. 11, 2004 
Version 1.6  June 21, 2004 
Version 1.5  Dec. 16, 2002 
Version 1.4  June 28, 2001 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Name  Description 

VersionManagement  Version Management 
Version_3_2_3  Version 3.2.3 (January 23, 2019) 
Version_3_2_2  Version 3.2.2 (April 3, 2016) 
Version_3_2_1  Version 3.2.1 (August 14, 2013) 
Version_3_2  Version 3.2 (Oct. 25, 2010) 
Version_3_1  Version 3.1 (August 14, 2009) 
Version_3_0_1  Version 3.0.1 (Jan. 27, 2009) 
Version_3_0  Version 3.0 (March 1, 2008) 
Version_2_2_2  Version 2.2.2 (Aug. 31, 2007) 
Version_2_2_1  Version 2.2.1 (March 24, 2006) 
Version_2_2  Version 2.2 (April 6, 2005) 
Version_2_1  Version 2.1 (Nov. 11, 2004) 
Version_1_6  Version 1.6 (June 21, 2004) 
Version_1_5  Version 1.5 (Dec. 16, 2002) 
Version_1_4  Version 1.4 (June 28, 2001) 
Further development and maintenance of the Modelica Standard Library is performed with two branches on the public GitHub repository of the Modelica Association.
Name: "master"
This branch contains the actual development version, i.e., all bug fixes and new features. New features must have been tested before including them. However, the exhaustive tests for a new version are (usually) not performed. This version is usually only be used by the developers of the Modelica Standard Library and is not utilized by Modelica users.
Name: "maint/3.2.3"
This branch contains the released Modelica Standard Library version (e.g., v3.2.3) where all bug fixes since this release date are included (up to a new release, when becoming available; i.e., after a new release, the previous maintenance versions are no longer changed). These bug fixes might be not yet tested with all test cases or with other Modelica libraries. The goal is that a vendor may take this version at any time for a new release of its software, in order to incorporate the latest bug fixes, without changing the version number of the Modelica Standard Library.
The general contribution workflow is usually as follows:
There are some special guidelines for changes to the maintenance branch.
annotation(version = "3.2.3", versionDate = "20190123", versionBuild = 2, dateModified = "20190123 07:40:19Z", revisionId = "$Format:%h %ci$")The "revisionId" field is a special annotation to mark a properly released (maintenance) version from unreleased commits.
Running the export command "git archive o msl.zip v3.2.3
" will expand the above "revisionId" place holder to something like:revisionId = "c04e23a0d 20190123 12:00:00 +0200$"
As a recommendation, a valid bug fix to the maintenance branch may contain one or more of the following changes.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.2.3 is backward compatible to version 3.2.2, that is models developed with versions 3.0, 3.0.1, 3.1, 3.2, 3.2.1 or 3.2.2 will work without any changes also with version 3.2.3. This version is a "cleanup" with major emphasis on quality improvement and tool compatibility. The goal is that all Modelica tools will support this package and will interpret it in the same way. Short Overview:
The exact difference between package Modelica version 3.2.3 and version 3.2.2 is summarized in a comparison table.
The following new libraries have been added:
Modelica.Magnetic.QuasiStatic.FluxTubes 
This library provides models for the investigation of quasi static electromagnetic devices with lumped magnetic networks
in a comparable way as Modelica.Magnetic.FluxTubes. (This library was developed by Christian Kral). 
Modelica.Electrical.Machines.Examples.ControlledDCDrives 
This library demonstrates the control of a permanent magnet dc machine: current control, speed control and position control
along with the necessary components in sublibrary Utilities. (This library was developed by Anton Haumer). 
The following new components have been added
to existing libraries:
Modelica.Blocks.Interfaces.Adaptors  
FlowToPotentialAdaptor PotentialToFlowAdaptor 
Partial adaptors for generation of FMUs, optionally taking first and second derivative into account, for consistent components in various domains. 
Modelica.Blocks.Math  
Power  Computes the power of the input signal. 
WrapAngle  Wraps the angle signal at the input to the interval ]π, π] or [0, 2π[. 
Pythagoras  This block determines the hypotenuse from the legs or one leg from the hypotenuse and the other leg. 
TotalHarmonicDistortion  This block calculates THD of the signal at the input. 
RealFFT  This block samples the input and calculates the FFT, writing the result to a mat file when the simulation terminates. 
Modelica.Blocks.Routing  
Multiplex  Multiplexer block for arbitrary number of input signals 
DeMultiplex  Demultiplexer block for arbitrary number of output signals 
Modelica.Blocks.Tables  
CombiTable2Dv  Variant of CombiTable2D (table lookup in two dimensions) with vector inputs and vector output 
Modelica.ComplexBlocks.Routing  
Replicator ExtractSignal Extractor ComplexPassThrough 
Complex implementations analogous to the real implementations. 
Modelica.ComplexBlocks.ComplexMath  
Bode  Determine variables of a Bode diagram. 
Modelica.ComplexBlocks.Sources  
RampPhasor  A source of a phasor with constant angle and ramped amplitude. 
Modelica.Electrical.Analog.Basic  
GeneralCurrentToVoltageAdaptor GeneralVoltageToCurrentAdaptor 
Adaptors for the generation of FMUs, optionally taking first and second derivative into account. 
Modelica.Electrical.Analog.Sensors  
MultiSensor  Measures voltage, current and power simultaneously. 
Modelica.Electrical.MultiPhase.Sensors  
MultiSensor  Measures voltage, current and active power for each phase as well as total power simultaneously. 
AronSensor  Measures active power for a threephase system by two singlephase power sensors in an Aron circuit. 
ReactivePowerSensor  Measures reactive power for a threephase system. 
Modelica.Electrical.Machines.Examples  
SMEE_DOL  Electrically excited synchronous machine, starting direct on line via the damper cage, synchronised by increasing excitation voltage. 
SMR_DOL  Synchronous reluctance machine, starting direct on line via the damper cage, synchronised when reaching synchronous speed. 
Modelica.Electrical.Machines.Sensors  
HallSensor  Simple model of a hall sensor, measuring the angle aligned with the orientation of phase 1. 
Modelica.Electrical.PowerConverters.DCAC.Control  
PWM SVPWM IntersectivePWM 
Standard threephase pwm algorithms: space vector and intersective. 
Modelica.Electrical.PowerConverters.DCDC  
ChopperStepUp  Step up chopper (boost converter) model. 
Modelica.Electrical.QuasiStationary.SinglePhase.Sensors  
MultiSensor  Measures voltage, current and apparent power simultaneously. 
Modelica.Electrical.QuasiStationary.MultiPhase.Sensors  
MultiSensor  Measures voltage, current and apparent power for m phases as well as total apparent power simultaneously. 
AronSensor  Measures active power for a threephase system by two singlephase power sensors in an Aron circuit. 
ReactivePowerSensor  Measures reactive power for a threephase system. 
Modelica.Electrical.QuasiStationary.{SinglePhase, MultiPhase}.Sources  
FrequencySweepVoltageSource FrquencySweepCurrentSource 
Voltage source and current source with integrated frequency sweep. 
Modelica.Mechanics.MultiBody  
Visualizers.Rectangle  A planar rectangular surface. 
Modelica.Mechanics.Rotational.Components  
GeneralAngleToTorqueAdaptor GeneralTorqueToAngleAdaptor 
Adaptors for the generation of FMUs, optionally taking first and second derivative into account. Note: These adaptors give the same results as: AngleToTorqueAdaptor TorqueToAngleAdaptor but extend from Modelica.Blocks.Interfaces.Adaptors like adaptors in other domains. 
Modelica.Mechanics.Rotational.Sources  
EddyCurrentTorque  Rotational eddy current brake. 
Modelica.Mechanics.Translational.Components  
GeneralForceToPositionAdaptor GeneralPositionToForceAdaptor 
Adaptors for the generation of FMUs, optionally taking first and second derivative into account. 
Modelica.Mechanics.Translational.Sources  
EddyCurrentForce  Translational eddy current brake. 
Modelica.Magnetic.FundamentalWave.Examples  
A lot of new test examples for fundamental wave machines.  
Modelica.Magnetic.QuasiStatic.FundamentalWave.Sensors  
RotorDisplacementAngle  Measures the rotor displacement angle of a quasistatic machine. 
Modelica.Thermal.HeatTransfer.Components  
GeneralHeatFlowToTemperatureAdaptor GeneralTemperatureToHeatFlowAdaptor 
Adaptors for the generation of FMUs, optionally taking first derivative into account. 
Modelica.Thermal.FluidHeatFlow.Examples  
WaterPump TestOpenTank TwoTanks TestCylinder 
New examples testing and demonstrating the new resp. enhanced components. 
Modelica.Thermal.FluidHeatFlow.Components  
Pipe  A pipe model with optional heatPort which replaces the isolatedPipe and the heatedPipe. 
OpenTank  A simple model of an open tank. 
Cylinder  A simple model of a piston/cylinder with translational flange. 
OneWayValve  A simple one way valve model (comparable to an electrical ideal diode) 
Modelica.Thermal.FluidHeatFlow.Media  
Water_10degC Water_90degC Glycol20_20degC Glycol50_20degC MineralOil 
Several new records defining media properties. 
Modelica.Thermal.FluidHeatFlow.Interfaces.Partials  
SinglePortLeft  Replaces the (now obsolete) partial model Ambient and is also used for Sources.AbsolutePressure. 
SinglePortBottom  Same as SinglePortLeft but with the flowPort at the bottom; used for the new Components.OpenTank model. 
Modelica.Constants  
q  The elementary charge of an electron. 
Modelica.Icons  
FunctionsPackage  This icon indicates a package that contains functions. 
RecordPackage  This icon indicates a package that contains records. 
The following existing components
have been marked as obsolete and will be
removed in a future release:
Modelica.Blocks.Interfaces.Adaptors  
SendReal SendBoolean SendInteger ReceiveReal ReceiveBoolean ReceiveInteger 
Use expandable connectors instead. 
Modelica.StateGraph.Temporary  
SetRealParameter  Use parameter Real instead. 
anyTrue  Use Modelica.Math.BooleanVectors.anyTrue instead. 
allTrue  Use Modelica.Math.BooleanVectors.allTrue instead instead. 
RadioButton  Use future model from Modelica.Blocks.Interaction instead. 
NumericValue  Use Modelica.Blocks.Interaction.Show.RealValue instead. 
IndicatorLamp  Use Modelica.Blocks.Interaction.Show.BooleanValue instead. 
Modelica.Electrical.Digital.Converters  
LogicToXO1 LogicToXO1Z 
Use LogicToX01 or LogicToX01Z instead. 
Modelica.Electrical.Machines  
BasicMachines.Components.BasicTransformer  Use Interfaces.PartialBasicTransformer instead. 
Modelica.Electrical.Spice3.Internal  
BJT  Use BJT2 instead. 
Bjt3.*  Use revised classes instead. 
Modelica.Mechanics.MultiBody  
Examples.Loops.Utilities.GasForce  Use Examples.Loops.Utilities.GasForce2 instead. 
Sensors.TansformAbsoluteVector Sensors.TansformRelativeVector 
Use Sensors.TransformAbsoluteVector or Sensors.TransformRelativeVector instead. 
Visualizers.Ground  Use ground plane visualization of World or Visualizers.Rectangle instead. 
Modelica.Fluid.Icons  
VariantLibrary BaseClassLibrary 
Use icons from Modelica.Icons instead. 
Modelica.Media.Examples  
Tests.Components.*  Use classes from Utilities instead. 
TestOnly.* Tests.MediaTestModels.* 
Use test models from ModelicaTest.Media instead. 
Modelica.Thermal.FluidHeatFlow  
Components.IsolatedPipe Components.HeatedPipe 
Extend from the new pipe model with optional heatPort. 
Interfaces.Partials.Ambient  Extends from SinglePortLeft. 
Modelica.Math  
baseIcon1 baseIcon2 
Use icons from Modelica.Math.Icons instead. 
Modelica.Icons  
Library Library2 GearIcon MotorIcon Info 
Use (substitute) icons from Modelica.Icons, Modelica.Mechanics.Rotational.Icons or Modelica.Electrical.Machines.Icons instead. 
Modelica.SIunits.Conversions.NonSIunits  
FirstOrderTemperaturCoefficient SecondOrderTemperaturCoefficient 
Use Modelica.SIunits.LinearTemperatureCoefficientResistance or Modelica.SIunits.QuadraticTemperatureCoefficientResistance instead. 
The following existing components
have been improved in a
backward compatible way:
Modelica.Blocks.Continuous  
Integrator LimIntegrator 
Added optional reset and set value inputs. 
LimPID  Added an optional feedforward input. 
Modelica.Blocks.Sources  
CombiTimeTable  The time events were not considered at the interval boundaries in case of linear interpolation and nonreplicated sample points. This has been generalized by introduction of the new parameter timeEvents with the default option to always generate time events at the interval boundaries, which might lead to slower, but more accurate simulations. 
BooleanTable IntegerTable 
Added options to set start time, shift time and extrapolation kind, especially to set periodic extrapolation. 
Modelica.Blocks.Tables  
CombiTable1D CombiTable1Ds CombiTable2D 
Added option to set the extrapolation kind and to optionally print a warning in case of extrapolated table input. 
The following existing components have been changed in a nonbackward compatible way:
Modelica.Blocks  
Interfaces.PartialNoise Noise.UniformNoise Noise.NormalNoise Noise.TruncatedNormalNoise Noise.BandLimitedWhiteNoise 
As a sideeffect of the corrected computation in Modelica.Math.Random.Utilities.impureRandomInteger the localSeed parameter is computed differently if useAutomaticLocalSeed is set to true. 
Modelica.Mechanics.MultiBody  
World  Added new parameter animateGround for optional ground plane visualization.Users that have copied the World model (of MSL 3.0, 3.0.1, 3.1, 3.2, 3.2.1, or 3.2.2) as an own World model and used it as inner world component, might have broken their models. Generally, for MSL models with subtyping (due to inner/outer), it is strongly suggested to extend from this MSL model, instead of copying it. 
Modelica.Media.Interfaces  
PartialMedium  Added new constant C_default as default value for the trace substances of medium.Users that have created an own medium by inheritance from the PartialMedium package and already added the C_default constant, might have broken their models. Users that have copied the PartialMedium package (of MSL 3.0, 3.0.1, 3.1, 3.2, 3.2.1, or 3.2.2) as an own Medium package, might have broken their models. Generally, for MSL classes with subtyping (due to a replaceable declaration), it is strongly suggested to extend from this MSL class, instead of copying it. 
The following critical errors have been fixed (i.e., errors
that can lead to wrong simulation results):
Modelica.Blocks.Sources  
TimeTable  The derivative of the TimeTable output could no longer be determined. This has been corrected. 
Modelica.Media.Air  
MoistAir.molarMass ReferenceMoistAir.molarMass 
The computation of the function output MM was wrong. This has been corrected. 
Modelica.Media.IdealGases.Common.Functions  
thermalConductivityEstimate  The computation of the function output lambda was wrong for the modified Eucken correlation, i.e., if method is set to 2. This has been corrected. 
Modelica.Media.IdealGases.Common.SingleGasesData  
CH2 CH3 CH3OOH C2CL2 C2CL4 C2CL6 C2HCL C2HCL3 CH2CO_ketene O_CH_2O HO_CO_2OH CH2BrminusCOOH C2H3CL CH2CLminusCOOH HO2 HO2minus OD ODminus 
The coefficients for blow , ahigh and bhigh were wrong. This has been corrected. 
Modelica.Media.IdealGases.Common.MixtureGasNasa  
mixtureViscosityChung  The computation of the function output etaMixture was wrong. This has been corrected. 
Modelica.Media.Incompressible.TableBased  
BaseProperties  The unit of the gas constant R for table based media was not correctly considered. This has been corrected. 
Modelica.Math.Random.Utilities  
impureRandomInteger  The function output y was not computed to yield a discrete uniform distribution for a minimum value imin of 1. This has been corrected. 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.2.2 is backward compatible to version 3.2.1, that is models developed with versions 3.0, 3.0.1, 3.1, 3.2, or 3.2.1 will work without any changes also with version 3.2.2 (with exception of the, usually uncritical, nonbackwards compatible changes listed below with regards to external object libraries, and one bug fix introduced in 3.2.1 Build.3 for noncircular pipes that can be nonbackwards compatible if a user constructed a new pipe model based on Modelica.Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction, see details below).
The exact difference between package Modelica version 3.2.2 and version 3.2.1 is summarized in the following two comparison tables:
This release of package Modelica, and the accompanying ModelicaTest, has been tested with the following tools (the tools are listed alphabetically. At the time of the test, some of the tools might not yet supported the complete Modelica package. For more details of the tests see #1867):
The following Modelica packages have been tested that they work together with this release of package Modelica (alphabetical list):
The following new libraries have been added:
Modelica.Electrical.PowerConverters 
This library offers models for rectifiers, inverters and DC/DCconverters. (This library was developed by Christian Kral and Anton Haumer). 
Modelica.Magnetic.QuasiStatic.FundamentalWave 
This library provides quasistatic models of multiphase machines (induction machines, synchronous machines) in parallel (with the same parameters but different electric connectors)
to the transient models in Modelica.Magnetic.FundamentalWave. Quasistatic means that electric transients are neglected, voltages and currents are supposed to be sinusoidal. Mechanical and thermal transients are taken into account. This library is especially useful in combination with the Modelica.Electrical.QuasiStationary library in order to build up very fast simulations of electrical circuits with sinusoidal currents and voltages. (This library was developed by Christian Kral and Anton Haumer). 
Sublibraries of Modelica.Magnetic.FluxTubes 
New elements for modeling ferromagnetic (static) and eddy current (dynamic) hysteresis effects and permanent magnets have been added.
The FluxTubes.Material package is also extended to provide hysteresis data for several magnetic materials. These data is partly based on own measurements.
For modeling of ferromagnetic hysteresis, two different hysteresis models have been implemented: The simple Tellinen model and the considerably
more detailed Preisach hysteresis model. The following packages have been added:

Sublibraries for noise modeling  Several new sublibraries have been added allowing the modeling of reproducible noise. The most important new sublibraries are (for more details see below): (These extensions have been developed by Andreas Klöckner, Frans van der Linden, Dirk Zimmer, and Martin Otter from DLR Institute of System Dynamics and Control). 
Modelica.Utilities functions for matrix read/write 
New functions are provided in the Modelica.Utilities.Streams
sublibrary to write matrices in MATLAB MAT format on file and read matrices in this format from file.
The MATLAB MAT formats v4, v6, v7 and v7.3 (in case the tool supports HDF5) are supported by these functions.
Additionally, example models are provided under
Modelica.Utilities.Examples
to demonstrate the usage of these functions in models. For more details see below. (These extensions have been developed by Thomas Beutlich from ITI GmbH). 
Modelica.Math sublibrary for FFT 
The new sublibrary FastFourierTransform
provides utility and convenience functions to compute the Fast Fourier Transform (FFT).
Additionally two examples are present to demonstrate how to compute an FFT during continuoustime
simulation and store the result on file. For more details see below. (These extensions have been developed by Martin Kuhn and Martin Otter from DLR Institute of System Dynamics and Control). 
The following new components have been added
to existing libraries:
Modelica.Blocks.Examples  
NoiseExamples  Several examples to demonstrate the usage of the blocks in the new sublibrary Blocks.Noise. 
Modelica.Blocks.Interfaces  
PartialNoise  Partial noise generator (base class of the noise generators in Blocks.Noise) 
Modelica.Blocks.Math  
ContinuousMean  Calculates the empirical expectation (mean) value of its input signal 
Variance  Calculates the empirical variance of its input signal 
StandardDeviation  Calculates the empirical standard deviation of its input signal 
Modelica.Blocks.Noise  
GlobalSeed  Defines global settings for the blocks of sublibrary Noise, especially a global seed value is defined 
UniformNoise  Noise generator with uniform distribution 
NormalNoise  Noise generator with normal distribution 
TruncatedNormalNoise  Noise generator with truncated normal distribution 
BandLimitedWhiteNoise  Noise generator to produce bandlimited white noise with normal distribution 
Modelica.ComplexBlocks.Examples  
ShowTransferFunction  Example to demonstrate the usage of the block TransferFunction. 
Modelica.ComplexBlocks.ComplexMath  
TransferFunction  This block allows to define a complex transfer function (depending on frequency input w) to obtain the complex output y. 
Modelica.ComplexBlocks.Sources  
LogFrequencySweep  The logarithm of w performs a linear ramp from log10(wMin) to log10(wMax), the output is the decimal power of this logarithmic ramp. 
Modelica.Electrical.Machines.Examples  
ControlledDCDrives  Current, speed and position controlled DC PM drive 
Modelica.Mechanics.Rotational.Examples.Utilities.  
SpringDamperNoRelativeStates  Introduced to fix ticket 1375 
Modelica.Mechanics.Rotational.Components.  
ElastoBacklash2  Alternative model of backlash. The difference to the existing ElastoBacklash component is that an event is generated when contact occurs and that the contact torque changes discontinuously in this case. For some user models, this variant of a backlash model leads to significantly faster simulations. 
Modelica.Fluid.Examples.  
NonCircularPipes  Introduced to check the fix of ticket 1681 
Modelica.Media.Examples.  
PsychrometricData  Introduced to fix ticket 1679 
Modelica.Math.Matrices.  
balanceABC  Return a balanced form of a system [A,B;C,0] to improve its condition by a state transformation 
Modelica.Math.Random.Generators.  
Xorshift64star  Random number generator xorshift64* 
Xorshift128plus  Random number generator xorshift128+ 
Xorshift1024star  Random number generator xorshift1024* 
Modelica.Math.Random.Utilities.  
initialStateWithXorshift64star  Return an initial state vector for a random number generator (based on xorshift64star algorithm) 
automaticGlobalSeed  Creates an automatic integer seed from the current time and process id (= impure function) 
initializeImpureRandom  Initializes the internal state of the impure random number generator 
impureRandom  Impure random number generator (with hidden state vector) 
impureRandomInteger  Impure random number generator for integer values (with hidden state vector) 
Modelica.Math.Distributions.  
Uniform  Library of uniform distribution functions (functions: density, cumulative, quantile) 
Normal  Library of normal distribution functions (functions: density, cumulative, quantile) 
TruncatedNormal  Library of truncated normal distribution functions (functions: density, cumulative, quantile) 
Weibull  Library of Weibull distribution functions (functions: density, cumulative, quantile) 
TruncatedWeibull  Library of truncated Weibull distribution functions (functions: density, cumulative, quantile) 
Modelica.Math.Special.  
erf  Error function erf(u) = 2/sqrt(pi)*Integral_0_u exp(t^2)*d 
erfc  Complementary error function erfc(u) = 1  erf(u) 
erfInv  Inverse error function: u = erf(erfInv(u)) 
erfcInv  Inverse complementary error function: u = erfc(erfcInv(u)) 
sinc  Unnormalized sinc function: sinc(u) = sin(u)/u 
Modelica.Math.FastFourierTransform.  
realFFTinfo  Print information about real FFT for given f_max and f_resolution 
realFFTsamplePoints  Return number of sample points for a real FFT 
realFFT  Return amplitude and phase vectors for a real FFT 
Modelica.Utilities.Streams.  
readMatrixSize  Read dimensions of a Real matrix from a MATLAB MAT file 
readRealMatrix  Read Real matrix from MATLAB MAT file 
writeRealMatrix  Write Real matrix to a MATLAB MAT file 
Modelica.Utilities.Strings.  
hashString  Creates a hash value of a String 
Modelica.Utilities.System.  
getTime  Retrieves the local time (in the local time zone) 
getPid  Retrieves the current process id 
The following existing components have been changed in a nonbackward compatible way:
Electrical.Analog.Semiconductors.  
HeatingDiode  Removed protected variable k "Boltzmann's constant". Calculate protected constant q "Electron charge" from already known constants instead of defining a protected variable q. 
HeatingNPN HeatingPNP 
Removed parameter K "Boltzmann's constant" and q "Elementary electronic charge". Calculate instead protected constant q "Electron charge" from already known constants. Users that have used these parameters might have broken their models; the (although formal nonbackwards compatible) change offers the users a safer use. 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.2.1 is backward compatible to version 3.2, that is models developed with versions 3.0, 3.0.1, 3.1, or 3.2 will work without any changes also with version 3.2.1. This version is a "cleanup" with major emphasis on quality improvement and tool compatibility. The goal is that all Modelica tools will support this package and will interpret it in the same way. Short Overview:
This release of package Modelica, and the accompanying ModelicaTest, has been tested with the following tools (the tools are listed alphabetically. At the time of the test, some of the tools might not yet supported the complete Modelica package):
The following Modelica packages have been tested that they work together with this release of package Modelica (alphabetical list):
The new open source tables have been tested by T. Beutlich (ITI):
The exact difference between package Modelica version 3.2 and version 3.2.1 is summarized in a comparison table.
About 400 trac tickets have been fixed for this release. An overview is given here. Clicking on a ticket gives all information about it.
The following new components have been added
to existing libraries:
Modelica.Blocks.Logical.  
RSFlipFlop  Basic RS flip flop 
Modelica.Blocks.Math.  
MinMax  Output the minimum and the maximum element of the input vector 
LinearDependency  Output a linear combination of the two inputs 
Modelica.Blocks.Nonlinear.  
SlewRateLimiter  Limit the slew rate of a signal 
Modelica.Electrical.Digital.Memories  
DLATRAM  Level sensitive Random Access Memory 
DLATROM  Level sensitive Read Only Memory 
Modelica.Electrical.Digital.Multiplexers  
MUX2x1  A two inputs MULTIPLEXER for multiple value logic (2 data inputs, 1 select input, 1 output) 
Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.  
AIMC_Initialize  SteadyState Initialization example of AsynchronousInductionMachineSquirrelCage 
Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.  
SMPM_VoltageSource  PermanentMagnetSynchronousInductionMachine example fed by FOC 
Modelica.Electrical.MultiPhase.Examples.  
TestSensors  Example for multiphase quasiRMS sensors: A sinusoidal source feeds a load consisting of resistor and inductor 
Modelica.Electrical.MultiPhase.Sensors.  
VoltageQuasiRMSSensor  Continuous quasi voltage RMS sensor for multi phase system 
CurrentQuasiRMSSensor  Continuous quasi current RMS sensor for multi phase system 
Modelica.Electrical.MultiPhase.Blocks.  
QuasiRMS  Determine quasi RMS value of a multiphase system 
Modelica.Electrical.MultiPhase.Functions.  
quasiRMS  Calculate continuous quasi RMS value of input 
activePower  Calculate active power of voltage and current input 
symmetricOrientation  Orientations of the resulting fundamental wave field phasors 
Modelica.Electrical.Spice3.Examples.  
CoupledInductors CascodeCircuit Spice3BenchmarkDifferentialPair Spice3BenchmarkMosfetCharacterization Spice3BenchmarkRtlInverter Spice3BenchmarkFourBitBinaryAdder 
Spice3 examples and benchmarks from the SPICE3 Version e3 User's Manual 
Modelica.Electrical.Spice3.Basic.  
K_CoupledInductors  Inductive coupling via coupling factor K 
Modelica.Electrical.Spice3.Semiconductors.  
M_NMOS2 M_PMOS2 ModelcardMOS2 
N/P channel MOSFET transistor with fixed level 2 
J_NJFJFE J_PJFJFE ModelcardJFET 
N/Pchannel junction fieldeffect transistor 
C_Capacitor ModelcardCAPACITOR 
Semiconductor capacitor model 
Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.  
AIMC_DOL_MultiPhase AIMS_Start_MultiPhase SMPM_Inverter_MultiPhase SMEE_Generator_MultiPhase SMR_Inverter_MultiPhase 
Multiphase machine examples 
Modelica.Fluid.Sensors.  
MassFractions MassFractionsTwoPort 
Ideal mass fraction sensors 
Modelica.Media.  
R134a  R134a (Tetrafluoroethane) medium model in the range (0.0039 bar .. 700 bar, 169.85 K .. 455 K) 
Modelica.Media.Air.  
ReferenceAir  Detailed dry air model with a large operating range (130 ... 2000 K, 0 ... 2000 MPa) based on Helmholtz equations of state 
ReferenceMoistAir  Detailed moist air model (143.15 ... 2000 K) 
MoistAir  Temperature range of functions of MoistAir medium enlarged from 240  400 K to 190  647 K. 
Modelica.Media.Air.MoistAir.  
velocityOfSound isobaricExpansionCoefficient isothermalCompressibility density_derp_h density_derh_p density_derp_T density_derT_p density_derX molarMass T_psX setState_psX s_pTX s_pTX_der isentropicEnthalpy 
Functions returning additional properties of the moist air medium model 
Modelica.Thermal.HeatTransfer.Components.  
ThermalResistor  Lumped thermal element transporting heat without storing it (dT = R*Q_flow) 
ConvectiveResistor  Lumped thermal element for heat convection (dT = Rc*Q_flow) 
Modelica.MultiBody.Examples.Constraints.  
PrismaticConstraint RevoluteConstraint SphericalConstraint UniversalConstraint 
Demonstrates the use of the new Joints.Constraints joints by comparing them with the standard joints. 
Modelica.MultiBody.Joints.Constraints.  
Prismatic Revolute Spherical Universal 
Joint elements formulated as kinematic constraints. These elements are designed to break kinematic loops and result usually in numerically more efficient and reliable loop handling as the (standard) automatic handling. 
Modelica.Mechanics.Rotational.  
MultiSensor  Ideal sensor to measure the torque and power between two flanges and the absolute angular velocity 
Modelica.Mechanics.Translational.  
MultiSensor  Ideal sensor to measure the absolute velocity, force and power between two flanges 
Modelica.Math.  
isPowerOf2  Determine if the integer input is a power of 2 
Modelica.Math.Vectors.  
normalizedWithAssert  Return normalized vector such that length = 1 (trigger an assert for zero vector) 
Modelica.Math.BooleanVectors.  
countTrue  Returns the number of true entries in a Boolean vector 
enumerate  Enumerates the true entries in a Boolean vector (0 for false entries) 
index  Returns the indices of the true entries of a Boolean vector 
Modelica.Utilities.Files.  
loadResource  Return the absolute path name of a URI or local file name 
Modelica.SIunits.  
PressureDifference MolarDensity MolarEnergy MolarEnthalpy TimeAging ChargeAging PerUnit DerPressureByDensity DerPressureByTemperature 
New SI unit types 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.2 is backward compatible to version 3.1, i.e., models developed with versions 3.0, 3.0.1, or 3.1 will work without any changes also with version 3.2. This version is a major improvement:
Version 3.2 is slightly based on the Modelica Specification 3.2. It uses the following new language elements (compared to Modelica Specification 3.1):
A large part of the new classes have been developed with partial financial support by BMBF (BMBF Förderkennzeichen: 01IS07022F) within the ITEA2 project EUROSYSLIB. We highly appreciate this funding.
The following new libraries have been added:
Complex 
This is a toplevel record outside of the Modelica Standard Library.
It is used for complex numbers and contains overloaded operators.
From a users point of view, Complex is used in a similar way as the
builtin type Real. Example: Real a = 2; Complex j = Modelica.ComplexMath.j; Complex b = 2 + 3*j; Complex c = (2*b + a)/b; Complex d = Modelica.ComplexMath.sin(c); Complex v[3] = {b/2, c, 2*d}; (This library was developed by Marcus Baur, DLR). 
Modelica.ComplexBlocks 
Library of basic input/output control blocks with Complex signals. This library is especially useful in combination with the new Modelica.Electrical.QuasiStationary library in order to build up very fast simulations of electrical circuits with periodic currents and voltages. (This library was developed by Anton Haumer). 
Modelica.Electrical.QuasiStationary 
Library for quasistationary electrical singlephase and multiphase AC simulation. This library allows very fast simulations of electrical circuits with sinusoidal currents and voltages by only taking into account the quasistationary, periodic part and neglecting nonperiodic transients. (This library was developed by Anton Haumer and Christian Kral). 
Modelica.Electrical.Spice3 
Library with components of the Berkeley
SPICE3
simulator: R, C, L, controlled and independent sources, semiconductor device models (MOSFET Level 1, Bipolar junction transistor, Diode, Semiconductor resistor). The components have been intensively tested with more than 1000 test models and compared with results from the SPICE3 simulator. All test models give identical results in Dymola 7.4 with respect to the Berkeley SPICE3 simulator up to the relative tolerance of the integrators. This library allows detailed simulations of electronic circuits. Work on Level 2 SPICE3 models, i.e., even more detailed models, is under way. Furthermore, a preprocessor is under development to transform automatically a SPICE netlist into a Modelica model, in order that the many available SPICE3 models can be directly used in a Modelica model. (This library was developed by Fraunhofer Gesellschaft, Dresden). 
Modelica.Magnetic.FundamentalWave 
Library for magnetic fundamental wave effects in electric machines for the
application in three phase electric machines.
The library is an alternative approach to the Modelica.Electrical.Machines library.
A great advantage of this library is the strict object orientation of the
electrical and magnetic components that the electric machines models are composed of.
This allows an easier incorporation of more detailed physical effects of
electrical machines.
From a didactic point of view this library is very beneficial for students in the field
of electrical engineering. (This library was developed by Christian Kral and Anton Haumer, using ideas and source code of a library from Michael Beuschel from 2000). 
Modelica.Fluid.Dissipation 
Library with functions to compute convective heat transfer and pressure loss characteristics. (This library was developed by Thorben Vahlenkamp and Stefan Wischhusen from XRG Simulation GmbH). 
Modelica.ComplexMath 
Library of complex mathematical functions (e.g., sin, cos) and of functions operating
on complex vectors. (This library was developed by Marcus Baur from DLRRM, Anton Haumer, and HansJürg Wiesmann). 
The following new components have been added
to existing libraries:
Modelica.UsersGuide  
Conventions  Considerably improved 'Conventions' for the Modelica Standard Library. 
Modelica.Blocks.Examples  
Filter FilterWithDifferentation FilterWithRiseTime RealNetwork1 IntegerNetwork1 BooleanNetwork1 Interaction1 
Examples for the newly introduced block components. 
Modelica.Blocks.Continuous  
Filter  Continuous low pass, high pass, band pass and band stop IIRfilter of type CriticalDamping, Bessel, Butterworth and Chebyshev I. 
Modelica.Blocks.Interaction.Show  
RealValue IntegerValue BooleanValue 
Blocks to show the values of variables in a diagram animation. 
Modelica.Blocks.Interfaces  
RealVectorInput IntegerVectorInput BooleanVectorInput PartialRealMISO PartialIntegerSISO PartialIntegerMISO PartialBooleanSISO_small PartialBooleanMISO 
Interfaces and partial blocks for the new block components. 
Modelica.Blocks.Math  
MultiSum MultiProduct MultiSwitch 
Sum, product and switch blocks with 1,2,...,N inputs (based on connectorSizing annotation to handle vectors of connectors in a convenient way). 
Modelica.Blocks.MathInteger  
MultiSwitch Sum Product TriggeredAdd 
Mathematical blocks for Integer signals. 
Modelica.Blocks.Boolean  
MultiSwitch And Or Xor Nand Nor Not RisingEdge FallingEdge ChangingEdge OnDelay 
Mathematical blocks for Boolean signals. Some of these blocks are available also in library Logical. The new design is based on the connectorSizing annotation that allows the convenient handling of an arbitrary number of input signals (e.g., the "And" block has 1,2,...,N inputs, instead of only 2 inputs in the Logical library). Additionally, the icons are smaller so that the diagram area is better utilized 
Modelica.Blocks.Sources  
RadioButtonSource  Boolean signal source that mimics a radio button. 
IntegerTable  Generate an Integer output signal based on a table matrix with [time, yi] values. 
Modelica.Electrical.Analog.Examples  
SimpleTriacCircuit, IdealTriacCircuit, AD_DA_conversion 
Examples for the newly introduced Analog components. 
Modelica.Electrical.Analog.Ideal  
IdealTriac, AD_Converter, DA_Converter 
AD and DA converter, ideal triac (based on ideal thyristor). 
Modelica.Electrical.Analog.Semiconductors  
SimpleTriac  Simple triac based on semiconductor thyristor model. 
Modelica.Electrical.Digital.Examples  
Delay_example, DFFREG_example, DFFREGL_example, DFFREGSRH_example, DFFREGSRL_example, DLATREG_example, DLATREGL_example, DLATREGSRH_example, DLATREGSRL_example, NXFER_example, NRXFER_example, BUF3S_example, INV3S_example, WiredX_example 
Examples for the newly introduced Digital components. 
Modelica.Electrical.Digital.Interfaces  
UX01, Strength, MIMO 
Interfaces for the newly introduced Digital components. 
Modelica.Electrical.Digital.Tables  
ResolutionTable, StrengthMap, NXferTable, NRXferTable, PXferTable, PRXferTable, Buf3sTable, Buf3slTable 
New Digital table components. 
Modelica.Electrical.Digital.Delay  
InertialDelaySensitiveVector  New Digital delay component. 
Modelica.Electrical.Digital.Registers  
DFFR, DFFREG, DFFREGL, DFFSR, DFFREGSRH, DFFREGSRL, DLATR, DLATREG, DLATREGL, DLATSR, DLATREGSRH, DLATREGSRL 
Various register components (collection of flipflops and latches) according to the VHDL standard. 
Modelica.Electrical.Digital.Tristates  
NXFERGATE, NRXFERGATE, PXFERGATE, PRXFERGATE, BUF3S, BUF3SL, INV3S, INV3SL, WiredX 
Transfer gates, buffers, inverters and wired node. 
Modelica.Electrical.MultiPhase.Basic  
MutualInductor  Multi phase inductor providing a mutual inductance matrix model. 
ZeroInductor  Multi phase zero sequence inductor. 
Modelica.Electrical.Machines  
Examples  Structured according to machine types: AsynchronousInductionMachines SynchronousInductionMachines DCMachines Transformers 
Losses.*  Parameter records and models for losses in electrical machines and transformers (where applicable): Friction losses Brush losses Stray Load losses Core losses (only eddy current losses but no hysteresis losses; not for transformers) 
Thermal.*  Simple thermal ambients, to be connected to the thermal ports of machines, as well as material constants and utility functions. 
Icons.*  Icons for transient and quasistationary electrical machines and transformers. 
Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.  
AIMC_withLosses  Asynchronous induction machine with squirrel cage with losses 
AIMC_Transformer  Asynchronous induction machine with squirrel cage  transformer starting 
AIMC_withLosses  Test example of an asynchronous induction machine with squirrel cage with losses 
Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.  
SMPM_CurrentSource  Permanent magnet synchronous induction machine fed by a current source 
SMEE_LoadDump  Electrical excited synchronous induction machine with voltage controller 
Modelica.Electrical.Machines.Examples.DCMachines.  
DCSE_SinglePhase  Series excited DC machine, fed by sinusoidal voltage 
DCPM_Temperature  Permanent magnet DC machine, demonstration of varying temperature 
DCPM_Cooling  Permanent magnet DC machine, coupled with a simple thermal model 
DCPM_QuasiStationary  Permanent magnet DC machine, comparison between transient and quasistationary model 
DCPM_Losses  Permanent magnet DC machine, comparison between model with and without losses 
Modelica.Electrical.Machines.BasicMachines.QuasiStationaryDCMachines.  
DC_PermanentMagnet DC_ElectricalExcited DC_SeriesExcited 
QuasiStationary DC machines, i.e., neglecting electrical transients 
Modelica.Electrical.Machines.BasicMachines.Components.  
InductorDC  Inductor model which neglects der(i) if Boolean parameter quasiStationary = true 
Modelica.Electrical.Machines.Interfaces.  
ThermalPortTransformer PowerBalanceTransformer 
Thermal ports and power balances for electrical machines and transformers. 
Modelica.Electrical.Machines.Utilities  
SwitchedRheostat  Switched rheostat, used for starting asynchronous induction motors with slipring rotor. 
RampedRheostat  Ramped rheostat, used for starting asynchronous induction motors with slipring rotor. 
SynchronousMachineData  The parameters of the synchronous machine model with electrical excitation (and damper) are calculated from parameters normally given in a technical description, according to the standard EN 600344:2008 Appendix C. 
Modelica.Mechanics.MultiBody.Examples.Elementary.  
HeatLosses  Demonstrate the modeling of heat losses. 
UserDefinedGravityField  Demonstrate the modeling of a userdefined gravity field. 
Surfaces  Demonstrate the visualization of a sine surface, as well as a torus and a wheel constructed from a surface. 
Modelica.Mechanics.MultiBody.Joints.  
FreeMotionScalarInit  Free motion joint that allows initialization and state selection of single elements of the relevant vectors (e.g., initialize r_rel_a[2] but not the other elements of r_rel_a; this new component fixes ticket #274) 
Modelica.Mechanics.MultiBody.Visualizers.  
Torus  Visualizing a torus. 
VoluminousWheel  Visualizing a voluminous wheel. 
PipeWithScalarField  Visualizing a pipe with scalar field quantities along the pipe axis. 
Modelica.Mechanics.MultiBody.Visualizers.ColorMaps.  
jet hot gray spring summer autumn winter 
Functions returning different color maps. 
Modelica.Mechanics.MultiBody.Visualizers.Colors.  
colorMapToSvg  Save a color map on file in svg (scalable vector graphics) format. 
scalarToColor  Map a scalar to a color using a color map. 
Modelica.Mechanics.MultiBody.Visualizers.Advanced.  
Surface  Visualizing a moveable, parameterized surface; the surface characteristic is provided by a function (this new component fixes ticket #181) 
PipeWithScalarField  Visualizing a pipe with a scalar field. 
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.  
torus  Function defining the surface characteristic of a torus. 
pipeWithScalarField  Function defining the surface characteristic of a pipe where a scalar field value is displayed with color along the pipe axis. 
Modelica.Mechanics.Rotational.Examples.  
HeatLosses  Demonstrate the modeling of heat losses. 
Modelica.Mechanics.Translational.Examples.  
HeatLosses  Demonstrate the modeling of heat losses. 
Modelica.Fluid.Fittings.Bends  
CurvedBend EdgedBend 
New fitting (pressure loss) components. 
Modelica.Fluid.Fittings.Orifices.  
ThickEdgedOrifice  New fitting (pressure loss) component. 
Modelica.Fluid.Fittings.GenericResistances.  
VolumeFlowRate  New fitting (pressure loss) component. 
Modelica.Math  
isEqual  Determine if two Real scalars are numerically identical. 
Modelica.Math.Vectors  
find  Find element in vector. 
toString  Convert a real vector to a string. 
interpolate  Interpolate in a vector. 
relNodePositions  Return vector of relative node positions (0..1). 
Modelica.Math.Vectors.Utilities  
householderVector householderReflection roots 
Utility functions for vectors that are used by the newly introduced functions, but are only of interest for a specialist. 
Modelica.Math.Matrices  
continuousRiccati discreteRiccati 
Return solution of continuoustime and discretetime algebraic Riccati equation respectively. 
continuousSylvester discreteSylvester 
Return solution of continuoustime and discretetime Sylvester equation respectively. 
continuousLyapunov discreteLyapunov 
Return solution of continuoustime and discretetime Lyapunov equation respectively. 
trace  Return the trace of a matrix. 
conditionNumber  Compute the condition number of a matrix. 
rcond  Estimate the reciprocal condition number of a matrix. 
nullSpace  Return a orthonormal basis for the null space of a matrix. 
toString  Convert a matrix into its string representation. 
flipLeftRight  Flip the columns of a matrix in left/right direction. 
flipUpDown  Flip the rows of a matrix in up/down direction. 
cholesky  Perform Cholesky factorization of a real symmetric positive definite matrix. 
hessenberg  Transform a matrix to upper Hessenberg form. 
realSchur  Computes the real Schur form of a matrix. 
frobeniusNorm  Return the Frobenius norm of a matrix. 
Modelica.Math.Matrices.LAPACK.  
dtrevc dpotrf dtrsm dgees dtrsen dgesvx dhseqr dlange dgecon dgehrd dgeqrf dggevx dgesdd dggev dggevx dhgeqz dormhr dormqr dorghr 
New interface functions for LAPACK (should usually not directly be used but only indirectly via Modelica.Math.Matrices). 
Modelica.Math.Matrices.Utilities.  
reorderRSF continuousRiccatiIterative discreteRiccatiIterative eigenvaluesHessenberg toUpperHessenberg householderReflection householderSimilarityTransformation findLokal_tk 
Utility functions for matrices that are used by the newly introduced functions, but are only of interest for a specialist. 
Modelica.Math.Nonlinear  
quadratureLobatto  Return the integral of an integrand function using an adaptive Lobatto rule. 
solveOneNonlinearEquation  Solve f(u) = 0 in a very reliable and efficient way (f(u_min) and f(u_max) must have different signs). 
Modelica.Math.Nonlinear.Examples.  
quadratureLobatto1 quadratureLobatto2 solveNonlinearEquations1 solveNonlinearEquations2 
Examples that demonstrate the usage of the Modelica.Math.Nonlinear functions to integrate over functions and to solve scalar nonlinear equations. 
Modelica.Math.BooleanVectors.  
allTrue  Returns true, if all elements of the Boolean input vector are true. 
anyTrue  Returns true, if at least on element of the Boolean input vector is true. 
oneTrue  Returns true, if exactly one element of the Boolean input vector is true. 
firstTrueIndex  Returns the index of the first element of the Boolean vector that is true and returns 0, if no element is true 
Modelica.Icons.  
Information Contact ReleaseNotes References ExamplesPackage Example Package BasesPackage VariantsPackage InterfacesPackage SourcesPackage SensorsPackage MaterialPropertiesPackage MaterialProperty 
New icons to get a unified view on different categories of packages. 
Modelica.SIunits.  
ComplexCurrent ComplexCurrentSlope ComplexCurrentDensity ComplexElectricPotential ComplexPotentialDifference ComplexVoltage ComplexVoltageSlope ComplexElectricFieldStrength ComplexElectricFluxDensity ComplexElectricFlux ComplexMagneticFieldStrength ComplexMagneticPotential ComplexMagneticPotentialDifference ComplexMagnetomotiveForce ComplexMagneticFluxDensity ComplexMagneticFlux ComplexReluctance ComplexImpedance ComplexAdmittance ComplexPower 
SIunits to be used in physical models using complex variables, e.g., Modelica.Electrical.QuasiStationary, Modelica.Magnetic.FundamentalWave 
ImpulseFlowRate AngularImpulseFlowRate 
New SIunits for mechanics. 
The following existing components
have been improved in a
backward compatible way:
Modelica.Blocks.Sources.  
Pulse SawTooth 
New parameter "nperiod" introduced to define the number of periods for the signal type. Default is "infinite number of periods (nperiods=1). 
Modelica.Electrical.  
MultiPhase.*  All dissipative components have now an optional heatPort connector to which the dissipated losses are transported in form of heat. 
Machines.*  To all electric machines (asynchronous and synchronous induction machines, DC machines)
and transformers loss models have been added (where applicable): Temperature dependent resistances (ohmic losses) Friction losses Brush losses Stray Load losses Core losses (only eddy current losses but no hysteresis losses; not for transformers) As default, temperature dependency and losses are set to zero. To all electric machines (asynchronous and synchronous induction machines, DC machines) and transformers conditional thermal ports have been added, to which the dissipated losses are flowing, if activated. The thermal port contains a HeatPort for each loss source of the specific machine type. To all electric machines (asynchronous and synchronous induction machines, DC machines) a "powerBalance" result record has been added, summarizing converted power and losses. 
Modelica.Mechanics.  
MultiBody.* Rotational.* Translational.* 
All dissipative components in Modelica.Mechanics have now an
optional heatPort connector to which the dissipated energy is
transported in form of heat. All icons in Modelica.Mechanics are unified according to the Modelica.Blocks library: "%name": width: 150 .. 150, height: 40, color: blue other text: height: 30, color: black 
Modelica.Mechanics.MultiBody.  
World  Function gravityAcceleration is made replaceable, so that redeclaration yields userdefined gravity fields. 
Modelica.Fluid.Valves.  
ValveIncompressible ValveVaporizing ValveCompressible 
(a) Optional filtering of opening signal introduced to model the delay time of the opening/closing drive. In this case, an optional leakageOpening can be defined to model leakage flow and/or to improve the numerics in certain situations. (b) Improved regularization of the valve characteristics in some cases so that it is twice differentiable (smooth=2), instead of continuous (smooth=0). 
Modelica.Fluid.Sources.  
FixedBoundary Boundary_pT Boundary_ph 
Changed the implementation so that no nonlinear algebraic equation system occurs, if the given variables (e.g. p,T,X) do not correspond to the medium states (e.g. p,h,X). This is achieved by using appropriate "setState_xxx" calls to compute the medium state from the given variables. If a nonlinear equation system occurs, it is solved by a specialized handler inside the setState_xxx(..) function, but in the model this equation system is not visible. 
Modelica.Media.Interfaces.  
PartialMedium  The min/max values of types SpecificEnthalpy, SpecificEntropy,
SpecificHeatCapacity increased, due to reported user problems. New constant C_nominal introduced to provide nominal values for trace substances (utilized in Modelica.Fluid to avoid numerical problems; this fixes ticket #393). 
Modelica.Thermal.  
HeatTransfer.*  All icons are unified according to the
Modelica.Blocks library: "%name": width: 150 .. 150, height: 40, color: blue other text: height: 30, color: black 
Modelica.Math.Matrices  
QR  A Boolean input "pivoting" has been added (now QR(A, pivoting)) to provide QRdecomposition without pivoting (QR(A, false)). Default is pivoting=true. 
The following critical errors have been fixed (i.e., errors
that can lead to wrong simulation results):
Modelica.Electrical.Digital.Delay.  
InertialDelaySensitive  In order to decide whether the rising delay (tLH) or the falling delay (tHL) is used, the "previous" value of the output y has to be used and not the "previous" value of the input x (delayType = delayTable[y_old, x] and not delayType = delayTable[x_old, x]). This has been corrected. 
Modelica.Mechanics.MultiBody.Parts.  
BodyBox BodyCylinder 
Fixes ticket
#373:
The "Center of Mass" was calculated as normalize(r)*length/2. This is
only correct if the box/cylinder is attached between frame_a and frame_b.
If this is not the case, the calculation is wrong.
The has been fixed by using the correct formula: r_shape + normalize(lengthDirection)*length/2 
BodyShape BodyBox BodyCylinder 
Fixes ticket #300: If parameter enforceStates=true, an error occurred. This has been fixed. 
Modelica.Mechanics.Rotational.Components.  
LossyGear  In cases where the driving flange is not obvious, the component could lead to a nonconvergent event iteration. This has been fixed (a detailed description is provided in ticket #108 and in the attachment of this ticket). 
Gearbox  If useSupport=false, the support flange of the internal LossyGear model was connected to the (disabled) support connector. As a result, the LossyGear was "free floating". This has been corrected. 
Modelica.Fluid.Pipes.  
DynamicPipe  Bug fix for dynamic mass, energy and momentum balances for pipes with nParallel>1. 
Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.  
PartialPipeFlowHeatTransfer  Calculation of Reynolds numbers for the heat transfer through walls corrected, if nParallel>1. This partial model is used by LocalPipeFlowHeatTransfer for laminar and turbulent forced convection in pipes. 
Modelica.Media.Interfaces.PartialLinearFluid  
setState_psX  Sign error fixed. 
Modelica.Media.CompressibleLiquids.  
LinearColdWater  Fixed wrong values for thermal conductivity and viscosity. 
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Modelica.Math.Matrices.LAPACK  
dgesv_vec dgesv dgetrs dgetrf dgetrs_vec dgetri dgeqpf dorgqr dgesvx dtrsyl 
Integer inputs to specify leading dimensions of matrices have got a lower bound 1 (e.g., lda=max(1,n))
to avoid incorrect values (e.g., lda=0) in the case of empty matrices. The Integer variable "info" to indicate the successful call of a LAPACK routine has been converted to an output where it had been a protected variable. 
The following
trac tickets
have been fixed:
Modelica  
#155  Wrong usage of "fillColor" and "fillPattern" annotations for lines 
#211  Undefined function realString used in MSL 
#216  Make MSL version 3.2 more Modelica 3.1 conform 
#218  Replace `Modelica://`URIs by `modelica://`URIs 
#271  Documentation URI errors in MSL 3.1 
#292  Remove empty "" annotations" 
#294  Typo 'w.r.t' > 'w.r.t.' 
#296  Unify disclaimer message and improve bad style "here" links 
#333  Fix real number formats of the form `.[09]+` 
#347  invalid URI in MSL 3.2 
#355  Nonstandard annotations 
Modelica.Blocks  
#227  Enhance unit deduction functionality by adding 'unit="1"' to some blocks" 
#349  Incorrect annotation in Blocks/Continuous.mo 
#374  Parameter with no value at all in Modelica.Blocks.Continuous.TransferFunction 
Modelica.Constants  
#356  Add EulerMascheroni constant to Modelica.Constants 
Modelica.Electrical.Analog  
#346  Multiple text in Modelica.Electrical.Analog.Basic.Conductor 
#363  Mixture of Real and Integer in index expressions in Modelica.Electrical.Analog.Lines 
#384  Incomplete annotations in some examples 
#396  Bug in Modelica.Electrical.Analog.Ideal.ControlledIdealIntermediateSwitch 
Modelica.Machines  
#276  Improve/fix documentation of Modelica.Electrical.Machines 
#288  Describe thermal concept of machines 
#301  Documentation of Electrical.Machines.Examples needs update 
#306  Merge content of `Modelica.Electrical.Machines.Icons` into `Modelica.Icons` 
#362  Incomplete example model for DC machines 
#375  Strangeness with final parameters with no value but a start value 
Modelica.Electrical.MultiPhase  
#173  mphase mutual inductor 
#200  adjust Multiphase to Analog 
#277  Improve/fix documentation of Modelica.Electrical.Multiphase 
#352  Odd annotation in Modelica.Electrical.MultiPhase.Sources.SignalVoltage 
Modelica.Fluid  
#215  Bug in Modelica.Fluid.Pipes.DynamicPipe 
#219  Fluid.Examples.HeatExchanger: Heat transfer is switched off and cannot be enabled 
Modelica.Math  
#348  Small error in documentation 
#371  Modelica.Math functions declared as "C" not "builtin"" 
Modelica.Mechanics.MultiBody  
#50  Error in LineForce handling of potential root 
#71  Make MultiBody.World replaceable 
#181  3d surface visualisation 
#210  Description of internal gear wheel missing 
#242  Missing each qualifier for modifiers in MultiBody. 
#251  Using enforceStates=true for BodyShape causes errors 
#255  Error in Revolute's handling of nonnormalized axis of rotations 
#268  Nonstandard annotation in MultiBody,Examples.Systems.RobotR3 
#269  What is the purpose of MultiBody.Examples.Systems.RobotR3.Components.InternalConnectors? 
#272  Function World.gravityAcceleration should not be protected 
#274  Convenient and mighty initialization of frame kinematics 
#286  Typo in Multibody/Frames.mo 
#300  enforceStates parameter managed incorrectly in BodyShape, BodyBox, BodyCylinder 
#320  Replace nonstandard annotation by `showStartAttribute` 
#373  Error in Modelica Mechanics 
#389  Shape.rxvisobj wrongly referenced in Arrow/DoubleArrow 
Modelica.Mechanics.Rotational  
#108  Problem with model "Lossy Gear" and approach to a solution 
#278  Improve/fix documentation of Modelica.Mechanics.Rotational 
#381  Bug in Modelica.Mechanics.Rotational.Gearbox 
Modelica.Mechanics.Translational  
#279  Improve/fix documentation of Modelica.Mechanics.Translational 
#310  Erroneous image links in `Modelica.Mechanics.Translational` 
Modelica.Media  
#72  PartialMedium functions not provided for all media in Modelica.Media 
#217  Missing image file Air.png 
#224  dpT calculation in waterBaseProp_dT 
#393  Provide C_nominal in Modelica.Media to allow propagating value and avoid wrong numerical results 
Modelica.StateGraph  
#206  Syntax error in StateGraph.mo 
#261  Modelica.StateGraph should mention the availability of Modelica_StateGraph2 
#354  Bad annotation in Modelica.StateGraph.Temporary.NumericValue 
Modelica.Thermal.FluidHeatFlow  
#280  Improve/fix documentation of Modelica.Thermal.FluidHeatFlow 
Modelica.Thermal.HeatTransfer  
#281  Improve/fix documentation of Modelica.Thermal.HeatTransfer 
Modelica.UsersGuide  
#198  Name of components in MSL not according to naming conventions 
#204  Minor correction to User's Guide's section on version management 
#244  Update the contacts section of the User's Guide 
#267  MSLDocumentation: Shouldn't equations be numbered on the right hand side? 
#299  SVN keyword expansion messed up the User's guide section on version management 
Modelica.Utilities  
#249  Documentation error in ModelicaUtilities.h 
ModelicaServices  
#248  No uses statement on ModelicaServices in MSL 3.1 
Note:
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.1 is backward compatible to version 3.0 and 3.0.1, i.e., models developed with version 3.0 or 3.0.1 will work without any changes also with version 3.1.
Version 3.1 is slightly based on the Modelica Specification 3.1. It uses the following new language elements (compared to Modelica Specification 3.0):
The following new libraries have been added:
Modelica.Fluid  Components to model 1dim. thermofluid flow in networks of vessels, pipes, fluid machines, valves and fittings. All media from the Modelica.Media library can be used (so incompressible or compressible, single or multiple substance, one or two phase medium). The library is using the streamconcept from Modelica Specification 3.1. 
Modelica.Magnetic.FluxTubes  Components to model magnetic devices based on the magnetic flux tubes concepts. Especially to model electromagnetic actuators. Nonlinear shape, force, leakage, and Material models. Material data for steel, electric sheet, pure iron, Cobalt iron, Nickel iron, NdFeB, Sm2Co17, and more. 
ModelicaServices  New top level package that shall contain functions and models to be used in the Modelica Standard Library that requires a tool specific implementation. ModelicaServices is then used in the Modelica package. In this first version, the 3dim. animation with model Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape was moved to ModelicaServices. Tool vendors can now provide their own implementation of the animation. 
The following new components have been added
to existing libraries:
Modelica.  
versionBuild versionDate dateModified revisionId 
New annotations from Modelica 3.1 for version handling added. 
Modelica.UsersGuide.ReleaseNotes.  
VersionManagement  Copied from info layer of previous ReleaseNotes (to make it more visible) and adapted it to the new possibilities in Modelica Specification 3.1. 
Modelica.Blocks.Math.  
RectangularToPolar PolarToRectangular 
New blocks to convert between rectangular and polar form of space phasors. 
Modelica.Blocks.Routing.  
Replicator  New block to replicate an input signal to many output signals. 
Modelica.Electrical.Analog.Examples.  
AmplifierWithOpAmpDetailed HeatingResistor CompareTransformers OvervoltageProtection ControlledSwitchWithArc SwitchWithArc ThyristorBehaviourTest 
New examples to demonstrate the usage of new components. 
Modelica.Electrical.Analog.Basic.  
OpAmpDetailed TranslationalEMF M_Transformer 
New detailed model of an operational amplifier. New electromotoric force from electrical energy into mechanical translational energy. Generic transformer with choosable number of inductors 
Modelica.Electrical.Analog.Ideal.  
OpenerWithArc CloserWithArc ControlledOpenerWithArc ControlledCloserWithArc 
New switches with simple arc model. 
Modelica.Electrical.Analog.Interfaces.  
ConditionalHeatPort  New partial model to add a conditional HeatPort to an electrical component. 
Modelica.Electrical.Analog.Lines.  
M_Oline  New multiple line model, both the number of lines and the number of segments choosable. 
Modelica.Electrical.Analog.Semiconductors.  
ZDiode Thyristor 
Zener Diode with 3 working areas and simple thyristor model. 
Modelica.Electrical.MultiPhase.Ideal.  
OpenerWithArc CloserWithArc 
New switches with simple arc model (as in Modelica.Electrical.Analog.Ideal. 
Modelica.Mechanics.MultiBody.Examples.Elementary.  
RollingWheel RollingWheelSetDriving RollingWheelSetPulling 
New examples to demonstrate the usage of new components. 
Modelica.Mechanics.MultiBody.Joints.  
RollingWheel RollingWheelSet 
New joints (no mass, no inertia) that describe an ideal rolling wheel and a ideal rolling wheel set consisting of two wheels rolling on the plane z=0. 
Modelica.Mechanics.MultiBody.Parts.  
RollingWheel RollingWheelSet 
New ideal rolling wheel and ideal rolling wheel set consisting of two wheels rolling on the plane z=0. 
Modelica.Mechanics.MultiBody.Visualizers.  
Ground  New model to visualize the ground (box at z=0). 
Modelica.Mechanics.Rotational.Interfaces.  
PartialElementaryOneFlangeAndSupport2 PartialElementaryTwoFlangesAndSupport2 
New partial model with one and two flanges and the support flange with a much simpler implementation as previously. 
Modelica.Mechanics.Translational.Interfaces.  
PartialElementaryOneFlangeAndSupport2 PartialElementaryTwoFlangesAndSupport2 
New partial model with one and two flanges and the support flange with a much simpler implementation as previously. 
Modelica.Media.IdealGases.Common.MixtureGasNasa.  
setSmoothState  Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b. 
Modelica.Utilities.Internal.  
PartialModelicaServices  New package containing the interface description of models and functions that require a tool dependent implementation (currently only "Shape" for 3dim. animation, but will be extended in the future) 
Modelica.Thermal.HeatTransfer.Components.  
ThermalCollector  New auxiliary model to collect the heat flows from m heatports to a single heatport; useful for multiphase resistors (with heatports) as a junction of the m heatports. 
Modelica.Icons.  
VariantLibrary BaseClassLibrary ObsoleteModel 
New icons (VariantLibrary and BaseClassLibrary have been moved from Modelica_Fluid.Icons to this place). 
Modelica.SIunits.  
ElectricalForceConstant  New type added (#190). 
Modelica.SIunits.Conversions.  
from_Hz to_Hz 
New functions to convert between frequency [Hz] and angular velocity [1/s]. (#156) 
The following existing components
have been improved in a
backward compatible way:
Modelica.  
Blocks Mechanics StateGraph 
Provided missing parameter values for examples (these parameters had only start values) 
Modelica.Electrical.Analog.Basic  
Resistor, Conductor, VariableResistor, VariableConductor  Conditional heatport added for coupling to thermal network. 
Modelica.Electrical.Analog.Ideal  
Thyristors, Switches, IdealDiode  Conditional heatport added for coupling to thermal network. 
Modelica.Electrical.Analog.Semiconductors  
Diode, ZDiode, PMOS, NMOS, NPN, PNP  Conditional heatport added for coupling to thermal network. 
Modelica.Electrical.MultiPhase.Basic  
Resistor, Conductor, VariableResistor, VariableConductor  Conditional heatport added for coupling to thermal network (as in Modelica.Electrical.Analog). 
Modelica.Electrical.MultiPhase.Ideal  
Thyristors, Switches, IdealDiode  Conditional heatport added for coupling to thermal network (as in Modelica.Electrical.Analog). 
Modelica.Mechanics.MultiBody.Visualizers.Advanced.  
Shape  New implementation by inheriting from ModelicaServices. This allows a tool vendor to provide its own implementation of Shape. 
Modelica.StateGraph.  
Examples  Introduced "StateGraphRoot" on the top level of all example models. 
Modelica.StateGraph.Interfaces.  
StateGraphRoot PartialCompositeStep CompositeStepState 
Replaced the wrong Modelica code "flow output Real xxx" by "Real dummy; flow Real xxx;". As a side effect, several "blocks" had to be changed to "models". 
PartialStep  Changed model by packing the protected outer connector in to a model. Otherwise, there might be differences in the sign of the flow variable in Modelica 3.0 and 3.1. 
Modelica.Utilities.Examples.  
expression  Changed local variable "operator" to "opString" since "operator" is a reserved keyword in Modelica 3.1 
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Modelica.  
Many models  Removed wrong usages of annotations fillColor and fillPattern in text annotations (#155, #185). 
Modelica.Electrical.Machines  
All machine models  The conditional heatports of the instantiated resistors (which are new in Modelica.Electrical.Analog and Modelica.Electrical.MultiPhase) are finally switched off until a thermal connector design for machines is implemented. 
Modelica.Media.Air.MoistAir  
saturationPressureLiquid sublimationPressureIce saturationPressure 
For these three functions, an error in the derivative annotation was corrected. However, the effect of
this bug was minor, as a Modelica tool was allowed to compute derivatives automatically via
the smoothOrder annotation. 
Modelica.Math.Matrices.  
eigenValues  Wrong documentation corrected (#162) 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
This Modelica package is provided under the Modelica License 2 and no longer under Modelica License 1.1. There are the following reasons why the Modelica Association changes from Modelica License 1.1 to this new license text (note, the text below is not a legal interpretation of the Modelica License 2. In case of a conflict, the language of the license shall prevail):
The following new components have been added
to existing libraries:
Electrical.Analog.Basic.  
M_Transformer  Transformer, with the possibility to choose the number of inductors. The inductances and the coupled inductances can be chosen arbitrarily. 
Electrical.Analog.Lines.  
M_OLine  Segmented line model that enables the use of multiple lines, that means, the number of segments and the number of single lines can be chosen by the user. The model allows to investigate phenomena at multiple lines like mutual magnetic or capacitive influence. 
Mechanics.Translational.Components.Examples.  
Brake  Demonstrates the usage of the translational brake component. 
Media.Interfaces.PartialMedium.  
ThermoStates  Enumeration type for independent variables to identify the independent
variables of the medium (pT, ph, phX, pTX, dTX). An implementation of this enumeration is provided for every medium. (This is useful for fluid libraries that do not use the PartialMedium.BaseProperties model). 
setSmoothState  Function that returns the thermodynamic state which smoothly approximates:
if x > 0 then state_a else state_b. (This is useful for pressure drop components in fluid libraries where the upstream density and/or viscosity has to be computed and these properties should be smooth a zero mass flow rate) An implementation of this function is provided for every medium. 
Media.Common.  
smoothStep  Approximation of a general step, such that the characteristic is continuous and differentiable. 
Media.UsersGuide.  
Future  Short description of goals and changes of upcoming release of Modelica.Media. 
Media.Media.Air.MoistAir.  
isentropicExponent  Implemented Missing Function from interface. 
isentropicEnthalpyApproximation  Implemented function that approximates the isentropic enthalpy change. This is only correct as long as there is no liquid in the stream. 
The following existing components
have been changed (in a
backward compatible way):
Mechanics.Rotational.Interfaces.  
PartialFriction  Improvement of friction model so that in certain situations the number of iterations is much smaller. 
Mechanics.Translational.Components.Examples.  
Friction  Added a third variant, where friction is modelled with the SupportFriction component. 
Mechanics.Translational.Components.  
MassWithStopAndFriction  Improvement of friction model so that in certain situations the number of iterations is much smaller. 
Mechanics.Translational.Interfaces.  
PartialFriction  Improvement of friction model so that in certain situations the number of iterations is much smaller. 
Media.Examples.  
SimpleLiquidWater IdealGasH20 WaterIF97 MixtureGases MoistAir 
Added equations to test the new setSmoothState(..) functions including the analytic derivatives of these functions. 
Media.Interfaces.PartialLinearFluid.  
setState_pTX setState_phX setState_psX setState_dTX 
Rewritten function in one statement so that it is usually inlined. 
Media.Interfaces.PartialLinearFluid.  
consistent use of reference_d instead of density(state  Change was done to achieve consistency with analytic inverse functions. 
Media.Air.MoistAir.  
T_phX  Interval of nonlinear solver to compute T from p,h,X changed from 200..6000 to 240 ..400 K. 
The following critical errors have been fixed (i.e., errors
that can lead to wrong simulation results):
Mechanics.MultiBody.Forces  
WorldTorque  Parameter "ResolveInFrame" was not propagated and therefore always the default (resolved in world frame) was used, independently of the setting of this parameter. 
WorldForceAndTorque  Parameter "ResolveInFrame" was not propagated and therefore
always the default (resolved in world frame) was used, independently
of the setting of this parameter. Furthermore, internally WorldTorque was used instead of Internal.BasicWorldTorque and therefore the visualization of worldTorque was performed twice. 
Mechanics.MultiBody.Sensors  
AbsoluteSensor  Velocity, acceleration and angular acceleration were computed by differentiating in the resolveInFrame frame. This has been corrected, by first transforming the vectors in to the world frame, differentiating here and then transforming into resolveInFrame. The parameter in the Advanced menu resolveInFrameAfterDifferentiation is then superfluous and was removed . 
AbsoluteVelocity  The velocity was computed by differentiating in the resolveInFrame frame. This has been corrected, by first transforming the velocity in to the world frame, differentiating here and then transforming into resolveInFrame 
RelativeSensor  If resolveInFrame <> frame_resolve and resolveInFrameAfterDifferentiation = frame_resolve, a translation error occurred, since frame_resolve was not enabled in this situation. This has been corrected. 
RelativeVelocity  The velocity has have been computed by differentiating in the resolveInFrame frame. This has been corrected, by first transforming the relative position in to frame_a, differentiating here and then transforming into resolveInFrame 
TransformRelativeVector  The transformation was wrong, since the parameters frame_r_in and frame_r_out have not been propagated to the submodel that performs the transformation. This has been corrected. 
Mechanics.Translational.Components.  
SupportFriction Brake 
The sign of the friction force was wrong and therefore friction accelerated instead of decelerated. This was fixed. 
SupportFriction  The component was only correct for fixed support. This was corrected. 
Media.Interfaces.  
PartialSimpleMedium PartialSimpleIdealGasMedium 
BaseProperties.p was not defined as preferred state and BaseProperties.T was always defined as preferred state. This has been fixed by Defining p,T as preferred state if parameter preferredMediumState = true. This error had the effect that mass m is selected as state instead of p and if default initialization is used then m=0 could give not the expected behavior. This means, simulation is not wrong but the numerics is not as good and if a model relies on default initial values, the result could be not as expected. 
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Blocks.Math.  
InverseBlockConstraint  Changed annotation preserveAspectRatio from true to false. 
Blocks.Sources.  
RealExpression IntegerExpression BooleanExpression 
Changed annotation preserveAspectRatio from true to false. 
Electrical.Analog.Basic.  
SaturatingInductor  Replaced nonstandard "arctan" by "atan" function. 
Modelica.Electrical.Digital.  
UsersGuide  Removed empty documentation placeholders and added the missing release comment for version 1.0.7 
Modelica.Mechanics.Translational.Components.  
MassWithStopAndFriction  Changed usage of reinit(..), in order that it appears only once for one variable according to the language specification (if a tool could simulate the model, there is no difference). 
Media.Interfaces.PartialSimpleMedium  
pressure temperature density specificEnthalpy 
Missing functions added. 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 3.0 is not backward compatible to previous versions. A conversion script is provided to transform models and libraries of previous versions to the new version. Therefore, conversion should be automatic.
The following changes are present for the whole library:
parameter Modelica.SIunits.Resistance R=1;Physical parameters, such as a resistance, mass, gear ratio, do not have a meaningful default and in nearly all cases, the user of the corresponding component has to provide values for such parameters. If the user forgets this, a tool cannot provide diagnostics, since a default value is present in the library (such as 1 Ohm for the resistance). In most cases the model will simulate but will give wrong results due to wrong parameter values. To improve this situation, all physical parameter declarations in the Modelica Standard Library have been changed, so that the previous default becomes a start value. For example, the above declaration is changed to:
parameter Modelica.SIunits.Resistance R(start=1);This is a backward compatible change and completely equivalent from the perspective of the Modelica language. It is, however, advised that tools will print a warning or optionally an error message, if the start value of a parameter is defined, but no value for the parameter is given via a modification. Furthermore, it is expected, that the input field of a parameter menu is empty, if no default equation is defined, but only a start value. This shows clearly to the modeler that a value has to be provided.
The following new components have been added
to existing libraries (note, the names in parentheses
are the new sublibrary names that are introduced in version 3.0):
Blocks.Examples.  
InverseModel  Demonstrates the construction of an inverse model. 
Blocks.Math.  
InverseBlockConstraints  Construct inverse model by requiring that two inputs and two outputs are identical (replaces the previously, unbalanced, TwoInputs and TwoOutputs blocks). 
Electrical.Machines.Utilities  
TransformerData  A record that calculates required impedances (parameters) from nominal data of transformers. 
Mechanics.MultiBody.Examples.Rotational3DEffects  
GyroscopicEffects ActuatedDrive MovingActuatedDrive GearConstraint 
New examples to demonstrate the usage of the Rotational library in combination with multibody components. 
Mechanics.MultiBody.Sensors  
AbsolutePosition AbsoluteVelocity AbsoluteAngles AbsoluteAngularVelocity RelativePosition RelativeVelocity RelativeAngles RelativeAngularVelocity 
New sensors to measure one vector. 
TransformAbsoluteVector TransformRelativeVector 
Transform absolute and/or relative vector into another frame. 
Mechanics.Rotational.(Components)  
Disc  Right flange is rotated by a fixed angle with respect to left flange 
IdealRollingWheel  Simple 1dim. model of an ideal rolling wheel without inertia 
Mechanics.Translational.Sensors  
RelPositionSensor RelSpeedSensor RelAccSensor PowerSensor 
Relative position sensor, i.e., distance between two flanges Relative speed sensor Relative acceleration sensor Ideal power sensor 
Mechanics.Translational(.Components)  
SupportFriction Brake InitializeFlange 
Model of friction due to support Model of a brake, base on Coulomb friction Initializes a flange with predefined position, speed and acceleration . 
Mechanics.Translational(.Sources)  
Force2 LinearSpeedDependentForce QuadraticSpeedDependentForce ConstantForce ConstantSpeed ForceStep 
Force acting on 2 flanges Force linearly dependent on flange speed Force quadratic dependent on flange speed Constant force source Constant speed source Force step 
The following existing components
have been changed in a
nonbackward compatible way
(the conversion script transforms models and libraries
of previous versions to the new version. Therefore, conversion
should be automatic):
Blocks.Continuous.  
CriticalDamping  New parameter "normalized" to define whether filter is provided in normalized or nonnormalized form. Default is "normalized = true". The previous implementation was a nonnormalized filter. The conversion script automatically introduces the modifier "normalized=false" for existing models. 
Blocks.Interfaces.  
RealInput RealOutput 
Removed "SignalType", since extending from a replaceable class
and this is not allowed in Modelica 3. The conversion script removes modifiers to SignalType. 
RealSignal IntegerSignal BooleanSignal 
Moved to library ObsoleteModelica3, since these connectors
are no longer allowed in Modelica 3 (prefixes input and/or output are required). 
Blocks.Interfaces.Adaptors.  
AdaptorReal AdaptorBoolean AdaptorInteger 
Moved to library ObsoleteModelica3, since the models are not "balanced".
These are completely obsolete adaptors between the Real, Boolean, Integer signal connectors of version 1.6 and version ≥ 2.1 of the Modelica Standard Library. 
Blocks.Math.  
ConvertAllUnits  Moved to library ObsoleteModelica3, since extending from a replaceable class
and this is not allowed in Modelica 3. It would be possible to rewrite this model to use a replaceable component. However, the information about the conversion cannot be visualized in the icon in this case. 
Blocks.Math.UnitConversions.  
TwoInputs TwoOutputs 
Moved to library ObsoleteModelica3, since the models are not "balanced".
A new component "InverseBlockConstraints" is provided instead that has the same feature, but is "balanced". 
Electrical.Analog.Baisc.  
HeatingResistor  The heatPort has to be connected; otherwise the component Resistor (without heatPort) has to be used. cardinality() is only used to check whether the heatPort is connected. 
Electrical.MultiPhase.Examples.  
Changed the instance names of components used in the examples to more uptodate style.  
Electrical.Machines.  
Moved package Machines.Examples.Utilities to Machines.Utilities  
Removed all nonSIunits; especially in DCMachines parameter NonSIunits.AngularVelocity_rpm rpmNominal was replaced by parameter SIunits.AngularVelocity wNominal  
Changed the following component variable and parameter names to be more concise: Removed suffix "DamperCage" from all synchronous induction machines since the user can choose whether the damper cage is present or not.
RotorAngle ... RotorDisplacementAngle  
Interfaces.  Moved as much code as possible from specific machine models to partials to reduce redundant code. 
Interfaces.Adapter  Removed to avoid cardinality; instead, the following solution has been implemented: 
Sensors.RotorDisplacementAngle Interfaces.PartialBasicMachine 
Introduced parameter Boolean useSupport=false "enable / disable (=fixed stator) support" The rotational support connector is only present with useSupport = true; otherwise the stator is fixed internally. 
Electrical.Machines.Examples.  
Changed the names of the examples to more meaningful names. Changed the instance names of components used in the examples to more uptodate style.  
SMEE_Generator  Initialization of smee.phiMechanical with fixed=true 
Mechanics.MultiBody.  
World  Changed default value of parameter driveTrainMechanics3D from false to true. 3dim. effects in Rotor1D, Mounting1D and BevelGear1D are therefore taken into account by default (previously this was only the case, if world.driveTrainMechanics3D was explicitly set). 
Mechanics.MultiBody.Forces.  
FrameForce FrameTorque FrameForceAndTorque 
Models removed, since functionality now available via Force, Torque, ForceAndTorque 
WorldForce WorldTorque WorldForceAndTorque Force Torque ForceAndTorque 
Connector frame_resolve is optionally enabled via parameter resolveInFrame . Forces and torques and be resolved in all meaningful frames defined by enumeration resolveInFrame. 
Mechanics.MultiBody.Frames.  
length normalize 
Removed functions, since available also in Modelica.Math.Vectors
The conversion script changes the references correspondingly. 
Mechanics.MultiBody.Joints.  
Prismatic ActuatedPrismatic Revolute ActuatedRevolute Cylindrical Universal Planar Spherical FreeMotion 
Changed initialization, by replacing initial value parameters with
start/fixed attributes. When start/fixed attributes are properly supported in the parameter menu by a Modelica tool, the initialization is considerably simplified for the user and the implementation is much simpler. Replaced parameter "enforceStates" by the more general builtin enumeration stateSelect=StateSelection.xxx. The conversion script automatically transforms from the "old" to the "new" forms. 
Revolute ActuatedRevolute 
Parameter "planarCutJoint" in the "Advanced" menu of "Revolute" and of
"ActuatedRevolute" removed. A new joint "RevolutePlanarLoopConstraint" introduced that defines the constraints of a revolute joint as cutjoint in a planar loop. This change was needed in order that the revolute joint can be properly used in advanced model checking. ActuatedRevolute joint removed. Flange connectors of Revolute joint can be enabled with parameter useAxisFlange. 
Prismatic ActuatedPrismatic 
ActuatedPrismatic joint removed. Flange connectors of Prismatic joint can be enabled with parameter useAxisFlange. 
Assemblies  Assembly joint implementation slightly changed, so that
annotation "structurallyIncomplete" could be removed (all Assembly joint models are now "balanced"). 
Mechanics.MultiBody.Joints.Internal  
RevoluteWithLengthConstraint PrismaticWithLengthConstraint 
These joints should not be used by a user of the MultiBody library. They are only provided to builtup the MultiBody.Joints.Assemblies.JointXYZ joints. These two joints have been changed in a slightly not backward compatible way, in order that the usage in the Assemblies.JointXYZ joints results in balanced models (no conversion is provided for this change since the user should not have used these joints and the conversion would be too complicated): In releases before version 3.0 of the Modelica Standard Library, it was possible to activate the torque/force projection equation (= cuttorque/force projected to the rotation/translation axis must be identical to the drive torque/force of flange axis) via parameter axisTorqueBalance. This is no longer possible, since otherwise this model would not be "balanced" (= same number of unknowns as equations). Instead, when using this model in version 3.0 and later versions, the torque/force projection equation must be provided in the Advanced menu of joints Joints.SphericalSpherical and Joints.UniversalSpherical via the new parameter "constraintResidue". 
Mechanics.MultiBody.Parts.  
BodyBox BodyCylinder 
Changed unit of parameter density from g/cm3 to the SI unit kg/m3
in order to allow stricter unit checking. The conversion script multiplies previous density values with 1000. 
Body BodyShape BodyBox BodyCylinder PointMass Rotor1D 
Changed initialization, by replacing initial value parameters with
start/fixed attributes. When start/fixed attributes are properly supported in the parameter menu by a Modelica tool, the initialization is considerably simplified for the user and the implementation is much simpler. The conversion script automatically transforms from the "old" to the "new" form of initialization. 
Mechanics.MultiBody.Sensors.  
AbsoluteSensor RelativeSensor CutForceAndTorque 
New design of sensor components: Via Boolean parameters signal connectors for the respective vectors are enabled/disabled. It is not possible to automatically convert models to this new design. Instead, references in existing models are changed to ObsoleteModelice3. This means that these models must be manually adapted. 
CutForce CutTorque 
Slightly new design. The force and/or torque component can be
resolved in world, frame_a, or frame_resolved. Existing models are automatically converted. 
Mechanics.Rotational.  
Moved components to structured subpackages (Sources, Components)  
Inertia SpringDamper RelativeStates 
Changed initialization, by replacing initial value parameters with
start/fixed attributes. When start/fixed attributes are properly supported in the parameter menu by a Modelica tool, the initialization is considerably simplified for the user and the implementation is much simpler. Parameter "stateSelection" in "Inertia" and "SpringDamper" replaced by the builtin enumeration stateSelect=StateSelection.xxx. Introduced the "stateSelect" enumeration in "RelativeStates". The conversion script automatically transforms from the "old" to the "new" forms. 
LossyGear GearBox 
Renamed gear ratio parameter "i" to "ratio", in order to have a
consistent naming convention. Existing models are automatically converted. 
SpringDamper ElastoBacklash Clutch OneWayClutch 
Relative quantities (phi_rel, w_rel) are used as states, if possible
(due to StateSelect.prefer). In most cases, relative states in drive trains are better suited as absolute states. This change might give changes in the selected states of existing models. This might give rise to problems if, e.g., the initialization was not completely defined in a user model, since the default initialization heuristic may give different initial values. 
Mechanics.Translational.  
Moved components to structured subpackages (Sources, Components)  
Adaptions corresponding to Rotational  
Stop  Renamed to Components.MassWithStopAndFriction to be more concise. MassWithStopAndFriction is not available with a support connector, since the reaction force can't be modeled in a meaningful way due to reinit of velocity v. Until a sound implementation of a hard stop is available, the old model may be used. 
Media.  
constant nX constant nXi constant reference_X BaseProperties 
The package constant nX = nS, now always, even for single species media. This also allows to define mixtures with only 1 element. The package constant nXi=if fixedX then 0 else if reducedX or nS==1 then nS  1 else nS. This required that all BaseProperties for single species media get an additional equation to define the composition X as {1.0} (or reference_X, which is {1.0} for single species). This will also mean that all user defined single species media need to be updated by that equation. 
SIunits.  
CelsiusTemperature  Removed, since no SI unit. The conversion script changes references to SIunits.Conversions.NonSIunits.Temperature_degC 
ThermodynamicTemperature TemperatureDifference 
Added annotation "absoluteValue=true/false"
in order that unit checking is possible (the unit checker needs to know for a unit that has an offset, whether it is used as absolute or as a relative number) 
SIunits.Conversions.NonSIunits.  
Temperature_degC Temperature_degF Temperature_degRk 
Added annotation "absoluteValue=true"
in order that unit checking is possible (the unit checker needs to know for a unit that has an offset, whether it is used as absolute or as a relative number) 
StateGraph.Examples.  
ControlledTanks  The connectors of the ControlledTanks did not fulfill the new restrictions of Modelica 3. This has been fixed. 
Utilities  Replacing inflow, outflow by connectors inflow1, inflow2, outflow1, outflow2 with appropriate input/output prefixes in order to fulfill the restrictions of Modelica 3 to arrive at balanced models. No conversion is provided, since too difficult and since the nonbackward compatible change is in an example. 
Thermal.FluidHeatFlow.Sensors.  
pSensor TSensor dpSensor dTSensor m_flowSensor V_flowSensor H_flowSensor 
renamed to: PressureSensor TemperatureSensor RelPressureSensor RelTemperatureSensor MassFlowSensor VolumeFlowSensor EnthalpyFlowSensor 
Thermal.FluidHeatFlow.Sources.  
Ambient PrescribedAmbient 
available as one combined component Ambient Boolean parameters usePressureInput and useTemperatureInput decide whether pressure and/or temperature are constant or prescribed 
ConstantVolumeFlow PrescribedVolumeFlow 
available as one combined component VolumeFlow Boolean parameter useVolumeFlowInput decides whether volume flow is constant or prescribed 
ConstantPressureIncrease PrescribedPressureIncrease 
available as one combined component PressureIncrease Boolean parameter usePressureIncreaseInput decides whether pressure increase is constant or prescribed 
Thermal.FluidHeatFlow.Examples.  
Changed the instance names of components used in the examples to more uptodate style.  
Thermal.HeatTransfer.(Components)  
HeatCapacitor  Initialization changed: SteadyStateStart removed. Instead
start/fixed values for T and der_T (initial temperature and its derivative). 
HeatCapacitor ThermalConductor ThermalConvection BodyRadiation TemperatureSensor RelTemperatureSensor HeatFlowSensor FixedTemperature PrescribedTemperature FixedHeatFlow PrescribedHeatFlow 
Moved components to subpackages: Components.HeatCapacitor Components.ThermalConductor Components.ThermalConvection Components.BodyRadiation Sensors.TemperatureSensor Sensors.RelTemperatureSensor Sensors.HeatFlowSensor Sources.FixedTemperature Sources.PrescribedTemperature Sources.FixedHeatFlow Sources.PrescribedHeatFlow 
Thermal.FluidHeatFlow.Examples.  
Changed the instance names of components used in the examples to more uptodate style. 
The following existing components
have been improved in a
backward compatible way:
Modelica.*  Parameter declarations, input and output function arguments without description
strings improved by providing meaningful description texts. 
Modelica.Blocks.Continuous.  
TransferFunction  Internal scaling of the controller canonical states introduced in order to enlarge the range of transfer functions where the default relative tolerance of the simulator is sufficient. 
Butterworth CriticalDamping 
Documentation improved and plots of the filter characteristics added. 
Electrical.Analog.Basic.  
EMF  New parameter "useSupport" to optionally enable a support connector. 
Icons.  
TranslationalSensor RotationalSensor 
Removed drawing from the diagram layer (kept drawing only in
icon layer), in order that this icon can be used in situations where components are dragged in the diagram layer. 
Math.Vectors.  
normalize  Implementation changed, so that the result is awalys continuous (previously, this was not the case for small vectors: normalize(eps,eps)). 
Mechanics.MultiBody.  
Renamed nonstandard keywords defineBranch, defineRoot, definePotentialRoot,
isRooted to the standard names: Connections.branch/.root/.potentialRoot/.isRooted.  
Frames  Added annotation "Inline=true" to all oneline functions (which should be all inlined). 
Mechanics.MultiBody.Parts.  
Mounting1D Rotor1D BevelGear1D 
Changed implementation so that no longer modifiers for connector
variables are used, because this violates the restrictions on "balanced models" of Modelica 3. 
Mechanics.Rotational.  
InitializeFlange  Changed implementation so that counting unknowns and equations is possible without actual values of parameters. 
Thermal.FluidHeatFlow.Interfaces.Partials.  
TwoPort  Introduced parameter Real tapT(final min=0, final max=1)=1 that defines the temperature of the heatPort between inlet and outlet. 
StateGraph.  
InitialStep InitialStepWithSignal Step StepWithSignal 
Changed implementation so that no longer modifiers for output
variables are used, because this violates the restrictions on "balanced models" of Modelica 3. 
The following critical errors have been fixed (i.e., errors
that can lead to wrong simulation results):
Electrical.Analog.Examples.  
CauerLowPassSC  Wrong calculation of Capacitor1 both in Rn and Rp corrected (C=clock/R instead of C=clock*R) 
Mechanics.MultiBody.Parts.  
Rotor1D  The 3D reaction torque was not completely correct and gave in some situations a wrong result. This bug should not influence the movement of a multibody system, but only the constraint torques are sometimes not correct. 
Mechanics.Rotational.  
ElastoBacklash  If the damping torque was too large, the reaction torque could "pull" which is unphysical. The component was newly written by limiting the damping torque in such a case so that "pulling" torques can no longer occur. Furthermore, during initialization the characteristics is made continuous to reduce numerical errors. The relative angle and relative angular velocities are used as states, if possible (StateSelect.prefer), since relative quantities lead usually to better behavior. 
Position Speed Accelerate Move 
The movement of the flange was wrongly defined as absolute;
this is corrected as relative to connector support. For Accelerate, it was necessary to rename RealInput a to a_ref, as well as the start values phi_start to phi.start and w_start to w.start. The conversion script performs the necessary conversion of existing models automatically. 
Media.Interfaces.  
PartialSimpleIdealGasMedium  Inconsistency in reference temperature corrected. This may give
different results for functions: specificEnthalpy, specificInternalEnergy, specificGibbsEnergy, specificHelmholtzEnergy. 
Media.Air.  
specificEntropy  Small bug in entropy computation of ideal gas mixtures corrected. 
Media.IdealGases.Common.MixtureGasNasa  
specificEntropy  Small bug in entropy computation of ideal gas mixtures corrected. 
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Blocks.Tables.  
CombiTable2D  Documentation improved. 
Electrica.Digital.Gates  
AndGate NandGate OrGate NorGate XorGate XnorGate 
The number of inputs was not correctly propagated
to the included base model. This gave a translation error, if the number of inputs was changed (and not the default used). 
Electrica.Digital.Sources  
Pulse  Model differently implemented, so that warning message about "cannot properly initialize" is gone. 
Mechanics.Rotational.  
BearingFriction Clutch OneWayClutch Brake Gear 
Declaration of table parameter changed from table[:,:] to table[:,2]. 
Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.  
GasForce  Unit of variable "press" corrected (from Pa to bar) 
StateGraph.Examples.  
SimpleFriction  The internal parameter k is defined and calculated with the appropriate unit. 
Thermal.FluidHeatFlow.Interfaces.Partials.  
SimpleFriction  The internal parameter k is defined and calculated with the appropriate unit. 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 2.2.2 is backward compatible to version 2.2.1 and 2.2 with the following exceptions:
An overview of the differences between version 2.2.2 and the previous version 2.2.1 is given below. The exact differences (but without differences in the documentation) are available in DifferencesModelica221222.html. This comparison file was generated automatically with Dymola's ModelManagement.compare function.
In this version, no new libraries have been added. The documentation of the whole library was improved.
The following new components have been added
to existing libraries:
Blocks.Logical.  
TerminateSimulation  Terminate a simulation by a given condition. 
Blocks.Routing.  
RealPassThrough IntegerPassThrough BooleanPassThrough 
Pass a signal from input to output (useful in combination with a bus due to restrictions of expandable connectors). 
Blocks.Sources.  
KinematicPTP2  Directly gives q,qd,qdd as output (and not just qdd as KinematicPTP). 
Electrical.Machines.Examples.  
TransformerTestbench  Transformer Testbench 
Rectifier6pulse  6pulse rectifier with 1 transformer 
Rectifier12pulse  12pulse rectifier with 2 transformers 
AIMC_Steinmetz  Asynchronous induction machine squirrel cage with Steinmetz connection 
Electrical.Machines.BasicMachines.Components.  
BasicAIM  Partial model for asynchronous induction machine 
BasicSM  Partial model for synchronous induction machine 
PartialAirGap  Partial air gap model 
BasicDCMachine  Partial model for DC machine 
PartialAirGapDC  Partial air gap model of a DC machine 
BasicTransformer  Partial model of threephase transformer 
PartialCore  Partial model of transformer core with 3 windings 
IdealCore  Ideal transformer with 3 windings 
Electrical.Machines.BasicMachines.  
Transformers  SubLibrary for technical 3phase transformers 
Electrical.Machines.Interfaces.  
Adapter  Adapter to model housing of electrical machine 
Math.  
Vectors  New library of functions operating on vectors 
atan3  Four quadrant inverse tangent (select solution that is closest to given angle y0) 
asinh  Inverse of sinh (area hyperbolic sine) 
acosh  Inverse of cosh (area hyperbolic cosine) 
Math.Vectors  
isEqual  Determine if two Real vectors are numerically identical 
norm  Return the pnorm of a vector 
length  Return length of a vector (better as norm(), if further symbolic processing is performed) 
normalize  Return normalized vector such that length = 1 and prevent zerodivision for zero vector 
reverse  Reverse vector elements (e.g., v[1] becomes last element) 
sort  Sort elements of vector in ascending or descending order 
Math.Matrices  
solve2  Solve real system of linear equations A*X=B with a B matrix (Gaussian elimination with partial pivoting) 
LU_solve2  Solve real system of linear equations P*L*U*X=B with a B matrix and an LU decomposition (from LU(..)) 
Mechanics.Rotational.  
InitializeFlange  Initialize a flange according to given signals (useful if initialization signals are provided by a signal bus). 
Media.Interfaces.PartialMedium.  
density_pTX  Return density from p, T, and X or Xi 
Media.Interfaces.PartialTwoPhaseMedium.  
BaseProperties  Base properties (p, d, T, h, u, R, MM, x) of a two phase medium 
molarMass  Return the molar mass of the medium 
saturationPressure_sat  Return saturation pressure 
saturationTemperature_sat  Return saturation temperature 
saturationTemperature_derp_sat  Return derivative of saturation temperature w.r.t. pressure 
setState_px  Return thermodynamic state from pressure and vapour quality 
setState_Tx  Return thermodynamic state from temperature and vapour quality 
vapourQuality  Return vapour quality 
Media.Interfaces.  
PartialLinearFluid  Generic pure liquid model with constant cp, compressibility and thermal expansion coefficients 
Media.Air.MoistAir.  
massFraction_pTphi  Return the steam mass fraction from relative humidity and T 
saturationTemperature  Return saturation temperature from (partial) pressure via numerical inversion of function saturationPressure 
enthalpyOfWater  Return specific enthalpy of water (solid/liquid) near atmospheric pressure from temperature 
enthalpyOfWater_der  Return derivative of enthalpyOfWater()" function 
PsychrometricData  Model to generate plot data for psychrometric chart 
Media.CompressibleLiquids. New sublibrary for simple compressible liquid models  
LinearColdWater  Cold water model with linear compressibility 
LinearWater_pT_Ambient  Liquid, linear compressibility water model at 1.01325 bar and 25 degree Celsius 
SIunits.  
TemperatureDifference  Type for temperature difference 
The following existing components
have been improved:
Blocks.Examples.  
BusUsage  Example changed from the "old" to the "new" bus concept with expandable connectors. 
Blocks.Discrete.  
ZeroOrderHold  Sample output ySample moved from "protected" to "public" section with new attributes (start=0, fixed=true). 
TransferFunction  Discrete state x with new attributes (each start=0, each fixed=0). 
Electrical.  
Analog MultiPhase 
Improved some icons. 
Electrical.Digital.Interfaces.  
MISO  Removed "algorithm" from this partial block. 
Electrical.Digital.Delay.  
DelayParams  Removed "algorithm" from this partial block. 
Electrical.Digital.Delay.  
DelayParams  Removed "algorithm" from this partial block. 
TransportDelay  If delay time is zero, an infinitely small delay is introduced via pre(x) (previously "x" was used). 
Electrical.Digital.Sources.  
Clock Step 
Changed ifconditions from "xxx < time" to "time >= xxx" (according to the Modelica specification, in the second case a time event should be triggered, i.e., this change leads potentially to a faster simulation). 
Electrical.Digital.Converters.  
BooleanToLogic LogicToBoolean RealToLogic LogicToReal 
Changed from "algorithm" to "equation" section to allow better symbolic preprocessing 
Electrical.  
Machines  Slightly improved documentation, typos in documentation corrected 
Electrical.Machines.Examples.  
AIMS_start  Changed QuadraticLoadTorque1(TorqueDirection=true) to QuadraticLoadTorque1(TorqueDirection=false) since more realistic 
Electrical.Machines.Interfaces.  
PartialBasicMachine  Introduced support flange to model the reaction torque to the housing 
Electrical.Machines.Sensors.  
Rotorangle  Introduced support flange to model the reaction torque to the housing 
Mechanics.MultiBody.Examples.Elementary.  
PointMassesWithGravity  Added two point masses connected by a line force to demonstrate additionally how this works. Connections of point masses with 3Delements are demonstrated in the new example PointMassesWithGravity (there is the difficulty that the orientation is not defined in a PointMass object and therefore some special handling is needed in case of a connection with 3Delements, where the orientation of the point mass is not determined by these elements. 
Mechanics.MultiBody.Examples.Systems.  
RobotR3  Changed from the "old" to the "new" bus concept with expandable connectors. Replaced the nonstandard Modelica function "constrain()" by standard Modelica components. As a result, the nonstandard function constrain() is no longer used in the Modelica Standard Library. 
Mechanics.MultiBody.Frames.Orientation.  
equalityConstraint  Use a better residual for the equalityConstraint function. As a result, the nonlinear equation system of a kinematic loop is formulated in a better way (the range where the desired result is a unique solution of the nonlinear system of equations becomes much larger). 
Mechanics.MultiBody.  
Visualizers.  Removed (misleading) annotation "structurallyIncomplete" in the models of this sublibrary 
Mechanics.Rotational.  
Examples  For all models in this sublibrary:

Mechanics.Rotational.Interfaces.  
FrictionBase  Introduced "fixed=true" for Boolean variables startForward, startBackward, mode. 
Mechanics.Translational.Interfaces.  
FrictionBase  Introduced "fixed=true" for Boolean variables startForward, startBackward, mode. 
Media.UsersGuide.MediumUsage.  
TwoPhase  Improved documentation and demonstrating the newly introduced functions 
Media.Examples.  
WaterIF97  Provided (missing) units for variables V, dV, H_flow_ext, m, U. 
Media.Interfaces.  
PartialMedium  Final modifiers are removed from nX and nXi, to allow customized medium models such as mixtures of refrigerants with oil, etc. 
PartialCondensingGases  Included attributes "min=1, max=2" for input argument FixedPhase for functions setDewState and setBubbleState (in order to guarantee that input arguments are correct). 
Media.Interfaces.PartialMedium.  
BaseProperties  New Boolean parameter "standardOrderComponents". If true, last element vector X is computed from 1sum(Xi) (= default) otherwise, no equation is provided for it in PartialMedium. 
IsentropicExponent  "max" value changed from 1.7 to 500000 
setState_pTX setState_phX setState_psX setState_dTX specificEnthalpy_pTX temperature_phX density_phX temperature_psX density_psX specificEnthalpy_psX 
Introduced default value "reference_X" for input argument "X". 
Media.Interfaces.PartialSimpleMedium.  
setState_pTX setState_phX setState_psX setState_dTX 
Introduced default value "reference_X" for input argument "X". 
Media.Interfaces.PartialSimpleIdealGasMedium.  
setState_pTX setState_phX setState_psX setState_dTX 
Introduced default value "reference_X" for input argument "X". 
Media.Air.MoistAir.  
setState_pTX setState_phX setState_dTX 
Introduced default value "reference_X" for input argument "X". 
Media.IdealGases.Common.SingleGasNasa.  
setState_pTX setState_phX setState_psX setState_dTX 
Introduced default value "reference_X" for input argument "X". 
Media.IdealGases.Common.MixtureGasNasa.  
setState_pTX setState_phX setState_psX setState_dTX h_TX 
Introduced default value "reference_X" for input argument "X". 
Media.Common.  
IF97PhaseBoundaryProperties gibbsToBridgmansTables 
Introduced unit for variables vt, vp. 
SaturationProperties  Introduced unit for variable dpT. 
BridgmansTables  Introduced unit for dfs, dgs. 
Media.Common.ThermoFluidSpecial.  
gibbsToProps_ph gibbsToProps_ph gibbsToBoundaryProps gibbsToProps_dT gibbsToProps_pT 
Introduced unit for variables vt, vp. 
TwoPhaseToProps_ph  Introduced unit for variables dht, dhd, detph. 
Media.  
MoistAir  Documentation of moist air model significantly improved. 
Media.MoistAir.  
enthalpyOfVaporization  Replaced by linear correlation since simpler and more accurate in the entire region. 
Media.Water.IF97_Utilities.BaseIF97.Regions.  
drhovl_dp  Introduced unit for variable dd_dp. 
Thermal.  
FluidHeatFlow  Introduced new parameter tapT (0..1) to define the temperature of the HeatPort as linear combination of the flowPort_a (tapT=0) and flowPort_b (tapT=1) temperatures. 
The following critical errors have been fixed (i.e., errors
that can lead to wrong simulation results):
Electrical.Machines.BasicMachines.Components.  
ElectricalExcitation  Excitation voltage ve is calculated as "spacePhasor_r.v_[1]*TurnsRatio*3/2" instead of "spacePhasor_r.v_[1]*TurnsRatio 
Mechanics.MultiBody.Parts.  
FixedRotation  Bug corrected that the torque balance was wrong in the
following cases (since vector r was not transformed
from frame_a to frame_b; note this special case occurs very seldom in practice):

PointMass  If a PointMass model is connected so that no equations are present to compute its orientation object, the orientation was arbitrarily set to a unit rotation. In some cases this can lead to a wrong overall model, depending on how the PointMass model is used. For this reason, such cases lead now to an error (via an assert(..)) with an explanation how to fix this. 
Media.Interfaces.PartialPureSubstance.  
pressure_dT specificEnthalpy_dT 
Changed wrong call from "setState_pTX" to "setState_dTX" 
Media.Interfaces.PartialTwoPhaseMedium.  
pressure_dT specificEnthalpy_dT 
Changed wrong call from "setState_pTX" to "setState_dTX" 
Media.Common.ThermoFluidSpecial.  
gibbsToProps_dT helmholtzToProps_ph helmholtzToProps_pT helmholtzToProps_dT 
Bugs in equations corrected 
Media.Common.  
helmholtzToBridgmansTables helmholtzToExtraDerivs 
Bugs in equations corrected 
Media.IdealGases.Common.SingleGasNasa.  
density_derp_T  Bug in equation of partial derivative corrected 
Media.Water.IF97_Utilities.  
BaseIF97.Inverses.dtofps3 isentropicExponent_props_ph isentropicExponent_props_pT isentropicExponent_props_dT 
Bugs in equations corrected 
Media.Air.MoistAir.  
h_pTX  Bug in setState_phX due to wrong vector size in h_pTX corrected.
Furthermore, syntactical errors corrected:

Media.Water.  
waterConstants  Bug in equation of criticalMolarVolume corrected. 
Media.Water.IF97_Utilities.BaseIF97.Regions.  
region_ph region_ps 
Bug in region determination corrected. 
boilingcurve_p dewcurve_p 
Bug in equation of plim corrected. 
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Blocks.  
Examples  Corrected typos in description texts of bus example models. 
Blocks.Continuous.  
LimIntegrator  removed incorrect smooth(0,..) because expression might be discontinuous. 
Blocks.Math.UnitConversions.  
block_To_kWh block_From_kWh 
Corrected unit from "kWh" to (syntactically correct) "kW.h". 
Electrical.Analog.Examples.  
HeatingNPN_OrGate  Included start values, so that initialization is successful 
Electrical.Analog.Lines.  
OLine  Corrected unit from "Siemens/m" to "S/m". 
TLine2  Changed wrong type of parameter NL (normalized length) from SIunits.Length to Real. 
Electrical.Digital.Delay.  
TransportDelay  Syntax error corrected (":=" in equation section is converted by Dymola silently to "="). 
Electrical.Digital  
Converters  Syntax error corrected (":=" in equation section is converted by Dymola silently to "="). 
Electrical.MultiPhase.Basic.  
Conductor  Changed wrong type of parameter G from SIunits.Resistance to SIunits.Conductance. 
Electrical.MultiPhase.Interfaces.  
Plug 
Made used "pin" connectors nongraphical (otherwise, there are difficulties to connect to Plug). 
Electrical.MultiPhase.Sources.  
SineCurrent  Changed wrong type of parameter offset from SIunits.Voltage to SIunits.Current. 
Mechanics.MultiBody.Examples.Loops.  
EngineV6  Corrected wrong crankAngleOffset of some cylinders and improved the example. 
Mechanics.MultiBody.Examples.Loops.Utilities.  
GasForce  Wrong units corrected: "SIunitsPosition x,y" to "Real x,y"; "SIunits.Pressure press" to "SIunits.Conversions.NonSIunits.Pressure_bar" 
GasForce2  Wrong unit corrected: "SIunits.Position x" to "Real x". 
EngineV6_analytic  Corrected wrong crankAngleOffset of some cylinders. 
Mechanics.MultiBody.Interfaces.  
PartialLineForce  Corrected wrong unit: "SIunits.Position eRod_a" to "Real eRod_a"; 
FlangeWithBearingAdaptor  If includeBearingConnector = false, connector "fr" + "ame" was not removed. As long as the connecting element to "frame" determines the nonflow variables, this is fine. In the corrected version, "frame" is conditionally removed in this case. 
Mechanics.MultiBody.Forces.  
ForceAndTorque  Corrected wrong unit: "SIunits.Force t_b_0" to "SIunits.Torque t_b_0". 
LineForceWithTwoMasses  Corrected wrong unit: "SIunits.Position e_rel_0" to "Real e_rel_0". 
Mechanics.MultiBody.Frames.  
axisRotation  Corrected wrong unit: "SIunits.Angle der_angle" to "SIunits.AngularVelocity der_angle". 
Mechanics.MultiBody.Joints.Assemblies.  
JointUSP JointSSP 
Corrected wrong unit: "SIunits.Position aux" to "Real" 
Mechanics.MultiBody.Sensors.  
AbsoluteSensor  Corrected wrong units: "SIunits.Acceleration angles" to "SIunits.Angle angles" and "SIunits.Velocity w_abs_0" to "SIunits.AngularVelocity w_abs_0" 
RelativeSensor  Corrected wrong units: "SIunits.Acceleration angles" to "SIunits.Angle angles" 
Distance  Corrected wrong units: "SIunits.Length L2" to "SIunits.Area L2" and SIunits.Length s_small2" to "SIunits.Area s_small2" 
Mechanics.MultiBody.Visualizers.Advanced.  
Shape  Changed "MultiBody.Types.Color color" to "Real color[3]", since "Types.Color" is "Integer color[3]" and there have been backward compatibility problems with models using "color" before it was changed to "Types.Color". 
Mechanics.Rotational.Interfaces.  
FrictionBase  Rewrote equations with new variables "unitAngularAcceleration" and "unitTorque" in order that the equations are correct with respect to units (previously, variable "s" can be both a torque and an angular acceleration and this lead to unit incompatibilities) 
Mechanics.Rotational.  
OneWayClutch LossyGear 
Rewrote equations with new variables "unitAngularAcceleration" and "unitTorque" in order that the equations are correct with respect to units (previously, variable "s" can be both a torque and an angular acceleration and this lead to unit incompatibilities) 
Mechanics.Translational.Interfaces.  
FrictionBase  Rewrote equations with new variables "unitAngularAcceleration" and "unitTorque" in order that the equations are correct with respect to units (previously, variable "s" can be both a torque and an angular acceleration and this lead to unit incompatibilities) 
Mechanics.Translational.  
Speed  Corrected unit of v_ref from SIunits.Position to SIunits.Velocity 
Media.Examples.Tests.Components.  
PartialTestModel PartialTestModel2 
Corrected unit of h_start from "SIunits.Density" to "SIunits.SpecificEnthalpy" 
Media.Examples.SolveOneNonlinearEquation.  
Inverse_sh_T
InverseIncompressible_sh_T Inverse_sh_TX 
Rewrote equations so that dimensional (unit) analysis is correct" 
Media.Incompressible.Examples.  
TestGlycol  Rewrote equations so that dimensional (unit) analysis is correct" 
Media.Interfaces.PartialTwoPhaseMedium.  
dBubbleDensity_dPressure dDewDensity_dPressure 
Changed wrong type of ddldp from "DerDensityByEnthalpy" to "DerDensityByPressure". 
Media.Common.ThermoFluidSpecial.  
ThermoProperties  Changed wrong units: "SIunits.DerEnergyByPressure dupT" to "Real dupT" and "SIunits.DerEnergyByDensity dudT" to "Real dudT" 
ThermoProperties_ph  Changed wrong unit from "SIunits.DerEnergyByPressure duph" to "Real duph" 
ThermoProperties_pT  Changed wrong unit from "SIunits.DerEnergyByPressure dupT" to "Real dupT" 
ThermoProperties_dT  Changed wrong unit from "SIunits.DerEnergyByDensity dudT" to "Real dudT" 
Media.IdealGases.Common.SingleGasNasa.  
cp_Tlow_der  Changed wrong unit from "SIunits.Temperature dT" to "Real dT". 
Media.Water.IF97_Utilities.BaseIF97.Basic.  
p1_hs h2ab_s p2a_hs p2b_hs p2c_hs h3ab_p T3a_ph T3b_ph v3a_ph v3b_ph T3a_ps T3b_ps v3a_ps v3b_ps 
Changed wrong unit of variables h/hstar, s, sstar from "SIunits.Enthalpy" to "SIunits.SpecificEnthalpy", "SIunits.SpecificEntropy", "SIunits.SpecificEntropy 
Media.Water.IF97_Utilities.BaseIF97.Transport.  
cond_dTp  Changed wrong unit of TREL, rhoREL, lambdaREL from "SIunits.Temperature", "SIunit.Density", "SIunits.ThermalConductivity" to "Real". 
Media.Water.IF97_Utilities.BaseIF97.Inverses.  
tofps5 tofpst5 
Changed wrong unit of pros from "SIunits.SpecificEnthalpy" to "SIunits.SpecificEntropy". 
Media.Water.IF97_Utilities.  
waterBaseProp_ph  Improved calculation at the limits of the validity. 
Thermal.  
FluidHeatFlow HeatTransfer 
Corrected wrong unit "SIunits.Temperature" of difference temperature variables with "SIunits.TemperatureDifference". 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 2.2.1 is backward compatible to version 2.2.
In this version, no new libraries have been added. The following major improvements have been made:
The following new components have been added to existing libraries:
Modelica.Blocks.Examples.  
PID_Controller  Example to demonstrate the usage of the Blocks.Continuous.LimPID block. 
Modelica.Blocks.Math.  
UnitConversions.*  New package that provides blocks for unit conversions. UnitConversions.ConvertAllBlocks allows to select all available conversions from a menu. 
Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.  
SM_ElectricalExcitedDamperCage  Electrical excited synchronous induction machine with damper cage 
Modelica.Electrical.Machines.BasicMachines.Components.  
ElectricalExcitation  Electrical excitation for electrical excited synchronous induction machines 
DamperCage  Unsymmetrical damper cage for electrical excited synchronous induction machines. At least the user has to specify the dampers resistance and stray inductance in daxis; if he omits the parameters of the qaxis, the same values as for the d.axis are used, assuming a symmetrical damper. 
Modelica.Electrical.Machines.Examples.  
SMEE_Gen  Test example 7: ElectricalExcitedSynchronousInductionMachine as Generator 
Utilities.TerminalBox  Terminal box for threephase induction machines to choose either star (wye) ? or delta ? connection 
Modelica.Math.Matrices.  
equalityLeastSquares  Solve a linear equality constrained least squares problem: minA*xa^2 subject to B*x=b 
Modelica.Mechanics.MultiBody.  
Parts.PointMass  Point mass, i.e., body where inertia tensor is neglected. 
Interfaces.FlangeWithBearing  Connector consisting of 1dim. rotational flange and its 3dim. bearing frame. 
Interfaces.FlangeWithBearingAdaptor  Adaptor to allow direct connections to the subconnectors of FlangeWithBearing. 
Types.SpecularCoefficient  New type to define a specular coefficient. 
Types.ShapeExtra  New type to define the extra data for visual shape objects and to have a central place for the documentation of this data. 
Modelica.Mechanics.MultiBody.Examples.Elementary  
PointGravityWithPointMasses  Example of two point masses in a central gravity field. 
Modelica.Mechanics.Rotational.  
UsersGuide  A User's Guide has been added by using the documentation previously present in the package documentation of Rotational. 
Sensors.PowerSensor  New component to measure the energy flow between two connectors of the Rotational library. 
Modelica.Mechanics.Translational.  
Speed  New component to move a translational flange according to a reference speed 
Modelica.Media.Interfaces.PartialMedium.  
specificEnthalpy_pTX  New function to compute specific enthalpy from pressure, temperature and mass fractions. 
temperature_phX  New function to compute temperature from pressure, specific enthalpy, and mass fractions. 
Modelica.Icons.  
SignalBus  Icon for signal bus 
SignalSubBus  Icon for signal subbus 
Modelica.SIunits.  
UsersGuide  A User's Guide has been added that describes unit handling. 
Resistance Conductance 
Attribute 'min=0' removed from these types. 
Modelica.Thermal.FluidHeatFlow.  
Components.Valve  Simple controlled valve with either linear or exponential characteristic. 
Sources. IdealPump  Simple ideal pump (resp. fan) dependent on the shaft's speed; pressure increase versus volume flow is defined as a linear function. Torque * Speed = Pressure increase * Volume flow (without losses). 
Examples.PumpAndValve  Test example for valves. 
Examples.PumpDropOut  Drop out of 1 pump to test behavior of semiLinear. 
Examples.ParallelPumpDropOut  Drop out of 2 parallel pumps to test behavior of semiLinear. 
Examples.OneMass  Cooling of 1 hot mass to test behavior of semiLinear. 
Examples.TwoMass  Cooling of 2 hot masses to test behavior of semiLinear. 
The following components have been improved:
Modelica.  
UsersGuide  User's Guide and package description of Modelica Standard Library improved. 
Modelica.Blocks.Interfaces.  
RealInput BooleanInput IntegerInput 
When dragging one of these connectors the width and height is a factor of 2 larger as a standard icon. Previously, these connectors have been dragged and then manually enlarged by a factor of 2 in the Modelica standard library. 
Modelica.Blocks.  
Continuous.*  Initialization options added to all blocks (NoInit, SteadyState, InitialState, InitialOutput). New parameter limitsAtInit to switch off the limits of LimIntegrator or LimPID during initialization 
Continuous.LimPID  Option to select P, PI, PD, PID controller. Documentation significantly improved. 
Nonlinear.Limiter Nonlinear.VariableLimiter Nonlinear.Deadzone 
New parameter limitsAtInit/deadZoneAtInit to switch off the limits or the dead zone during initialization 
Modelica.Electrical.Analog.  
Sources  Icon improved (+/ added to voltage sources, arrow added to current sources). 
Modelica.Electrical.Analog.Semiconductors.  
Diode  smooth() operator included to improve numerics. 
Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.  
SM_PermanentMagnetDamperCage SM_ElectricalExcitedDamperCage SM_ReluctanceRotorDamperCage 
The user can choose "DamperCage = false" (default: true) to remove all equations for the damper cage from the model. 
Modelica.Electrical.Machines.BasicMachines.AsynchronousInductionMachines.  
AIM_SlipRing  Easier parameterization: if the user selects "useTurnsRatio = false" (default: true, this is the same behavior as before), parameter TurnsRatio is calculated internally from Nominal stator voltage and Lockedrotor voltage. 
Modelica.Math.Matrices.  
leastSquares  The A matrix in the least squares problem might be rank deficient. Previously, it was required that A has full rank. 
Modelica.Mechanics.MultiBody.  
all models 

Frames.resolveRelative  The derivative of this function added as function and defined via an annotation. In certain situations, tools had previously difficulties to differentiate the inlined function automatically. 
Forces.*  The scaling factors N_to_m and Nm_to_m have no longer a default value of 1000 but a default value of world.defaultN_to_m (=1000) and world.defaultNm_to_m (=1000). This allows to change the scaling factors for all forces and torques in the world object. 
Interfaces.Frame.a Interfaces.Frame.b Interfaces.Frame_resolve 
The Frame connectors are now centered around the origin to ease the usage. The shape was changed, such that the icon is a factor of 1.6 larger as a standard icon (previously, the icon had a standard size when dragged and then the icon was manually enlarged by a factor of 1.5 in the ydirection in the MultiBody library; the height of 16 allows easy positioning on the standard grid size of 2). The double line width of the border in icon and diagram layer was changed to a single line width and when making a connection the connection line is dark grey and no longer black which looks better. 
Joints.Assemblies.*  When dragging an assembly joint, the icon is a factor of 2 larger as a standard icon. Icon texts and connectors have a standard size in this enlarged icon (and are not a factor of 2 larger as previously). 
Types.*  All types have a corresponding icon now to visualize the content in the package browser (previously, the types did not have an icon). 
Modelica.Mechanics.Rotational.  
Inertia  Initialization and state selection added. 
SpringDamper  Initialization and state selection added. 
Move  New implementation based solely on Modelica 2.2 language (previously, the Dymola specific constrain(..) function was used). 
Modelica.Mechanics.Translational.  
Move  New implementation based solely on Modelica 2.2 language (previously, the Dymola specific constrain(..) function was used). 
Modelica.Thermal.FluidHeatFlow.Interfaces.Partials.  
SimpleFriction  Calculates friction losses from pressure drop and volume flow. 
Modelica.Thermal.FluidHeatFlow.Components.  
IsolatedPipe HeatedPipe 
Added geodetic height as a source of pressure change; feeds friction losses as calculated by simple friction to the energy balance of the medium. 
Modelica.Media.Interfaces.PartialMedium.FluidConstants.  
HCRIT0  Critical specific enthalpy of the fundamental equation (base formulation of the fluid medium model). 
SCRIT0  Critical specific entropy of the fundamental equation (base formulation of the fluid medium model). 
deltah  Enthalpy offset (default: 0) between the specific enthalpy of the fluid model and the uservisible specific enthalpy in the model: deltah = h_model  h_fundamentalEquation. 
deltas  Entropy offset (default: 0) between the specific entropy of the fluid model and the uservisible specific entropy in the model: deltas = s_model  s_fundamentalEquation. 
T_default  Default value for temperature of medium (for initialization) 
h_default  Default value for specific enthalpy of medium (for initialization) 
p_default  Default value for pressure of medium (for initialization) 
X_default  Default value for mass fractions of medium (for initialization) 
The following errors have been fixed:
Modelica.Blocks.Tables.  
CombiTable1D CombiTable1Ds CombiTable2D 
Parameter "tableOnFile" determines now whether a table is read from
file or used from parameter "table". Previously, if "fileName" was not
"NoName", a table was always read from file "fileName", independently
of the setting of "tableOnFile". This has been corrected. Furthermore, the initialization of a table is now performed in a whenclause and no longer in a parameter declaration, because some tools evaluate the parameter declaration in some situation more than once and then the table is unnecessarily read several times (and occupies also more memory). 
Modelica.Blocks.Sources.  
CombiTimeTable  Same bug fix/improvement as for the tables from Modelica.Blocks.Tables as outlined above. 
Modelica.Electrical.Analog.Semiconductors.  
PMOS NMOS HeatingPMOS HeatingNMOS 
The DrainSourceResistance RDS had actually a resistance of
RDS/v, with v=Beta*(W+dW)/(L+dL). The correct formula is without
the division by "v". This has now been corrected. This bug fix should not have an essential effect in most applications. In the default case (Beta=1e5), the DrainSourceResistance was a factor of 1e5 too large and had in the default case the wrong value 1e12, although it should have the value 1e7. The effect was that this resistance had practically no effect. 
Modelica.Media.IdealGases.Common.SingleGasNasa.  
dynamicViscosityLowPressure  Viscosity and thermal conductivity (which needs viscosity as input) were computed wrong for polar gases and gas mixtures (i.e., if dipole moment not 0.0). This has been fixed in version 2.2.1. 
Modelica.Utilities.Streams.  
readLine  Depending on the Cimplementation, the stream was not correctly closed. This has been corrected by adding a "Streams.close(..)" after reading the file content. 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Version 2.2 is backward compatible to version 2.1.
The following new libraries have been added:
Modelica.Media  Property models of liquids and gases, especially

Modelica.Thermal.FluidHeatFlow  Simple components for 1dim., incompressible thermofluid flow to model coolant flows, e.g., of electrical machines. Components can be connected arbitrarily together (= ideal mixing at connection points) and fluid may reverse direction of flow. 
The following changes have been performed in the Modelica.Mechanics.MultiBody library:
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
This is a major change with respect to previous versions of the Modelica Standard Library, because many new libraries and components are included and because the input/output blocks (Modelica.Blocks) have been considerably simplified:
The discussed changes of Modelica.Blocks are not backward compatible. A script to automatically convert models to this new version is provided. There might be rare cases, where this script does not convert. In this case models have to be manually converted. In any case you should make a backup copy of your model before automatic conversion is performed.
The following new libraries have been added:
Modelica.Electrical.Digital  Digital electrical components based on 2,3,4, and 9valued logic according to the VHDL standard 
Modelica.Electrical.Machines  Asynchronous, synchronous and DC motor and generator models 
Modelica.Math.Matrices  Functions operating on matrices such as solve() (A*x=b), leastSquares(), norm(), LU(), QR(), eigenValues(), singularValues(), exp(), ... 
Modelica.StateGraph  Modeling of discrete event and reactive systems in a convenient way using hierarchical state machines and Modelica as action language. It is based on JGrafchart and Grafcet and has a similar modeling power as StateCharts. It avoids deficiencies of usually used action languages. This library makes the ModelicaAdditions.PetriNets library obsolete. 
Modelica.Utilities.Files  Functions to operate on files and directories (copy, move, remove files etc.) 
Modelica.Utilities.Streams  Read from files and write to files (print, readLine, readFile, error, ...) 
Modelica.Utilities.Strings  Operations on strings (substring, find, replace, sort, scanToken, ...) 
Modelica.Utilities.System  Get/set current directory, get/set environment variable, execute shell command, etc. 
The following existing libraries outside of the Modelica standard library have been improved and added as new libraries (models using the previous libraries are automatically converted to the new sublibraries inside package Modelica):
Modelica.Blocks.Discrete  Discrete input/output blocks with fixed sample period (from ModelicaAdditions.Blocks.Discrete) 
Modelica.Blocks.Logical  Logical components with Boolean input and output signals (from ModelicaAdditions.Blocks.Logical) 
Modelica.Blocks.Nonlinear  Discontinuous or nondifferentiable algebraic control blocks such as variable limiter, fixed, variable and Pade delay etc. (from ModelicaAdditions.Blocks.Nonlinear) 
Modelica.Blocks.Routing  Blocks to combine and extract signals, such as multiplexer (from ModelicaAdditions.Blocks.Multiplexer) 
Modelica.Blocks.Tables  One and twodimensional interpolation in tables. CombiTimeTable is available in Modelica.Blocks.Sources (from ModelicaAdditions.Tables) 
Modelica.Mechanics.MultiBody  Components to model the movement of 3dimensional mechanical systems. Contains body, joint, force and sensor components, analytic handling of kinematic loops, force elements with mass, series/parallel connection of 3D force elements etc. (from MultiBody 1.0 where the new signal connectors are used; makes the ModelicaAdditions.MultiBody library obsolete) 
As a result, the ModelicaAdditions library is obsolete, because all components are either included in the Modelica library or are replaced by much more powerful libraries (MultiBody, StateGraph).
The following new components have been added to existing libraries.
Modelica.Blocks.Logical.  
Pre  y = pre(u): Breaks algebraic loops by an infinitesimal small time delay (event iteration continues until u = pre(u)) 
Edge  y = edge(u): Output y is true, if the input u has a rising edge 
FallingEdge  y = edge(not u): Output y is true, if the input u has a falling edge 
Change  y = change(u): Output y is true, if the input u has a rising or falling edge 
GreaterEqual  Output y is true, if input u1 is greater or equal than input u2 
Less  Output y is true, if input u1 is less than input u2 
LessEqual  Output y is true, if input u1 is less or equal than input u2 
Timer  Timer measuring the time from the time instant where the Boolean input became true 
Modelica.Blocks.Math.  
BooleanToReal  Convert Boolean to Real signal 
BooleanToInteger  Convert Boolean to Integer signal 
RealToBoolean  Convert Real to Boolean signal 
IntegerToBoolean  Convert Integer to Boolean signal 
Modelica.Blocks.Sources.  
RealExpression  Set output signal to a time varying Real expression 
IntegerExpression  Set output signal to a time varying Integer expression 
BooleanExpression  Set output signal to a time varying Boolean expression 
BooleanTable  Generate a Boolean output signal based on a vector of time instants 
Modelica.Mechanics.MultiBody.  
Frames.from_T2  Return orientation object R from transformation matrix T and its derivative der(T) 
Modelica.Mechanics.Rotational.  
LinearSpeedDependentTorque  Linear dependency of torque versus speed (acts as load torque) 
QuadraticSpeedDependentTorque  Quadratic dependency of torque versus speed (acts as load torque) 
ConstantTorque  Constant torque, not dependent on speed (acts as load torque) 
ConstantSpeed  Constant speed, not dependent on torque (acts as load torque) 
TorqueStep  Constant torque, not dependent on speed (acts as load torque) 
The following bugs have been corrected:
Modelica.Mechanics.MultiBody.Forces.  
LineForceWithMass Spring 
If mass of the line force or spring component is not zero, the mass was (implicitly) treated as "mass*mass" instead of as "mass" 
Modelica.Mechanics.Rotational.  
Speed  If parameter exact=false, the filter was wrong (position was filtered and not the speed input signal) 
Other changes:
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Added 1 new library (Electrical.MultiPhase), 17 new components, improved 3 existing components in the Modelica.Electrical library and improved 3 types in the Modelica.SIunits library. Furthermore, this User's Guide has been started. The improvements in more detail:
New components
Modelica.Electrical.Analog.Basic.  
SaturatingInductor  Simple model of an inductor with saturation 
VariableResistor  Ideal linear electrical resistor with variable resistance 
VariableConductor  Ideal linear electrical conductor with variable conductance 
VariableCapacitor  Ideal linear electrical capacitor with variable capacitance 
VariableInductor  Ideal linear electrical inductor with variable inductance 
Modelica.Electrical.Analog.Semiconductors.  
HeatingDiode  Simple diode with heating port 
HeatingNMOS  Simple MOS Transistor with heating port 
HeatingPMOS  Simple PMOS Transistor with heating port 
HeatingNPN  Simple NPN BJT according to EbersMoll with heating port 
HeatingPNP  Simple PNP BJT according to EbersMoll with heating port 
Modelica.Electrical.MultiPhase A new library for multiphase electrical circuits 
New examples
The following new examples have been added to Modelica.Electrical.Analog.Examples:
CharacteristicThyristors, CharacteristicIdealDiodes, HeatingNPN_OrGate, HeatingMOSInverter, HeatingRectifier, Rectifier, ShowSaturatingInductor ShowVariableResistor
Improved existing components
In the library Modelica.Electrical.Analog.Ideal, a knee voltage has been introduced for the components IdealThyristor, IdealGTOThyristor, IdealDiode in order that the approximation of these ideal elements is improved with not much computational effort.
In the Modelica.SIunits library, the following changes have been made:
Inductance  min=0 removed 
SelfInductance  min=0 added 
ThermodynamicTemperature  min=0 added 
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
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  1dimensional 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  Onoff 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 lookup in one dimension (matrix/file) with only single input 
Packagespecific Changes
block
class, which have not been already of block typepartial
modelsClassspecific 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 builtin 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 NANDexample model):
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.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 now filled 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.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Adapted to Modelica 1.4
IdealGearR2T Ideal gear transforming rotational in translational motion. Position Forced movement of a flange with a reference angle given as input signal RelativeStates Definition of relative state variables
replaceable type SignalType = Realin order that the type of the signal of an input/output block can be changed to a physical type, for example:
Sine sin1(outPort(redeclare type SignalType=Modelica.SIunits.Torque))
First official release of the library.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Automatically generated Thu Jan 24 11:19:44 2019.