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, non-backwards compatible changes listed below with regards to external object libraries, and one bug fix introduced in 3.2.1 Build.3 for non-circular pipes that can be non-backwards 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/DC-converters. (This library was developed by Christian Kral and Anton Haumer.) |
Modelica.Magnetic.QuasiStatic.FundamentalWave |
This library provides quasi-static models of polyphase 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.QuasiStatic 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 continuous-time
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 band-limited 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 non-backward 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 non-backwards compatible) change offers the users a safer use. |