Version_3_2_2
Version 3.2.2 (April 3, 2016)
Library
Modelica/UsersGuide/ReleaseNotes
Description
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).
 This version of the Modelica package is fully compatible to
Modelica Specification 3.2 revision 2.
 About 240 tickets have been fixed in this release and the previous maintenance releases:
 Version 3.2.1 Build.3 (July 30, 2015) with respect to 3.2.1 Build.2 (August 14, 2013):
About 103 tickets have been fixed for this maintenance release.
 Version 3.2.1 Build.4 (September 30, 2015) with respect to 3.2.1 Build.3 (July 30, 2015):
 About 10 tickets have been fixed for this maintenance release. Critical tickets:
 Ticket 1768 fixes an issue with block CombiTimeTable (wrong output when using fixed time step integrator with time step greater than table resolution).
 Ticket 1758
states that simulation of
Modelica.Fluid.Examples.HeatingSystem
fails in Dymola 2016 if option "pedantic mode for checking Modelica semantics" is set.
This issue was not fixed in the library due to the following reasons:
The Modelica.Fluid library uses a particular pattern to define some parameters resulting in a cyclic dependency of parameters if only incident information is taken into account. According to Modelica Specification 3.2 revision 2 this is not allowed (and therefore Dymola 2016 correctly reports errors if the pedantic flag is set). In ticket 1320 this issue was resolved for Modelica Specification 3.3 revision 1 by allowing cyclic parameter definitions if the cycles disappear when evaluating parameters that have annotation Evaluate=true. Modelica.Fluid is correct with respect to Modelica Specification 3.3 revision 1. Changing the Modelica.Fluid library for 3.2.1 build.4 so that no cyclic parameter dependencies would be present anymore would (a) result in a nonbackwards compatible change and (b) make the usage of Modelica.Fluid less convenient. For this reason Modelica.Fluid is not changed. (Practically, this means for example that the pedantic flag in Dymola 2016 needs to be switched off, when using the Modelica.Fluid library in version 3.2.1 build 4 and any previous version).  In ticket 1757 it is (correctly) stated
that the example model PsychrometricData
was moved from Modelica.Media.Air.MoistAir.PsychrometricData and that this is a nonbackwards compatible change.
This nonbackwards compatible change is accepted, because it fixes a circular dependency (a model references
a package in which it resides), for details see ticket
1679.
Fixing this ticket is seen as of much higher priority, as the small drawback that
an example model is moved (and the probability is very high that this moved model is not
used in any user model).
 Version 3.2.2 Build.2 (March 16, 2016) with respect to 3.2.1 Build.4 (September 30, 2015):
About 130 tickets have been fixed for this release.
The ModelicaStandardTables object library (.lib, .dll, .a, .so, depending on tool) has been split into the libraries ModelicaStandardTables, ModelicaMatIO, zlib and the new object library ModelicaIO has been added.
For a tool vendor this can be a nonbackwards compatible change if the same object libraries have been used in the past for different releases of package Modelica. In Resources/CSources/readme.txt the issue is explained in detail and how to resolve it. For a user this might be a nonbackwards compatible change if he/she implemented an own external C interface function to one of the functions in the ModelicaStandardTables, ModelicaMatIO or zlib libraries. In this case, the library annotations to these functions need to be adapted.
 Version 3.2.1 Build.3 (July 30, 2015) with respect to 3.2.1 Build.2 (August 14, 2013):
 In version 3.2.1 Build.3 a new argument crossArea was introduced in the functions of Modelica.Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction to fix a subtle bug for the calculation of pipe friction for noncircular pipes, see #1601 and #1656. If a user utilized a pipe model of Modelica.Fluid.Pipes, this does not matter because the pipe models have been improved in a fully backwards compatible way. However, if the user constructed an own pipe model based on the partial package PartialWallFriction and calls the functions defined in PartialWallFriction with positional (and not named) arguments, then a unit warning or error will occur (depending on the tool and toolspecific settings) because the new argument crossArea has unit [m2] and the previous argument at this place, roughness, has unit [m]. If the warning is ignored, the simulation result will be wrong, because the crossArea is used as roughness. The user needs to fix this by adapting his/her pipe model so that the crossArea is used in the function calls, or by using named function arguments.
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):
 Dymola 2017 Beta.1 (Windows 64 bit, "Check" with pedantic flag, that is checking strict
Modelica compliance, and "Check with Simulation").
#1924: Regression testing of 3.2.2+build.0beta.2 using Dymola 2017 Dev 4 with respect to 3.2.1+build.4 reference files
#1949: Regression testing of 3.2.2+build.0beta.3 using Dymola 2017 Beta 1 with respect to 3.2.1+build.4 reference files  LMS Imagine.Lab Amesim 14.2 and LMS Imagine.Lab Amesim 15 (development build). No previously unreported regressions have been detected.
 Maplesim Parser
 OpenModelica 1.9.4 Beta.2 (Windows, Linux, Mac)
The following Modelica packages have been tested that they work together with this release of package Modelica (alphabetical list):
 AirConditioning Library 1.12 (Modelon)
 Buildings 2.1.0 (LBNL)
 Electric Power Library 2.2.3 (Modelon)
 Engine Dynamics Library 1.2.5 (Modelon)
 FlexibleBodies 2.2 (DLR)
 FlightDynamics 1.0.1 (DLR)
 FluidDissipation 1.1.8 (XRG Simulation)
 Fuel Cell Library 1.3.3 (Modelon)
 Heat Exchanger Library 1.4.1 (Modelon)
 Human Comfort Library 2.1.0 (XRG Simulation)
 HVAC Library 2.1.0 (XRG Simulation)
 Hydraulics Library 4.4 (Modelon)
 Hydronics Library 2.1.0 (XRG Simulation)
 Hydro Power Library 2.6 (Modelon)
 Liquid Cooling Library 1.5 (Modelon)
 Modelica_Synchronous 0.92.1
 Modelica_LinearSystems2 2.3.4
 Modelica_StateGraph2 2.0.3
 Optimization 2.2.2 (DLR)
 PowerTrain 2.4.0 (DLR)
 Pneumatics Library 2.0 (Modelon)
 Thermal Power Library 1.12 (Modelon)
 Vapor Cycle Library 1.3 (Modelon)
 Vehicle Dynamics Library 2.3 (Modelon)
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. 