Modelica.UsersGuide.ReleaseNotes Modelica.UsersGuide.ReleaseNotes

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.3September 26, 2018
Version 3.2.2April 3, 2016
Version 3.2.1August 14, 2013
Version 3.2Oct. 25, 2010
Version 3.1August 14, 2009
Version 3.0.1Jan. 27, 2009
Version 3.0March 1, 2008
Version 2.2.2Aug. 31, 2007
Version 2.2.1March 24, 2006
Version 2.2April 6, 2005
Version 2.1Nov. 11, 2004
Version 1.6June 21, 2004
Version 1.5Dec. 16, 2002
Version 1.4June 28, 2001

Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).

Package Content

Name Description
Modelica.UsersGuide.ReleaseNotes.VersionManagement VersionManagement Version Management
Modelica.UsersGuide.ReleaseNotes.Version_3_2_3 Version_3_2_3 Version 3.2.3 (September 26, 2018)
Modelica.UsersGuide.ReleaseNotes.Version_3_2_2 Version_3_2_2 Version 3.2.2 (April 3, 2016)
Modelica.UsersGuide.ReleaseNotes.Version_3_2_1 Version_3_2_1 Version 3.2.1 (August 14, 2013)
Modelica.UsersGuide.ReleaseNotes.Version_3_2 Version_3_2 Version 3.2 (Oct. 25, 2010)
Modelica.UsersGuide.ReleaseNotes.Version_3_1 Version_3_1 Version 3.1 (August 14, 2009)
Modelica.UsersGuide.ReleaseNotes.Version_3_0_1 Version_3_0_1 Version 3.0.1 (Jan. 27, 2009)
Modelica.UsersGuide.ReleaseNotes.Version_3_0 Version_3_0 Version 3.0 (March 1, 2008)
Modelica.UsersGuide.ReleaseNotes.Version_2_2_2 Version_2_2_2 Version 2.2.2 (Aug. 31, 2007)
Modelica.UsersGuide.ReleaseNotes.Version_2_2_1 Version_2_2_1 Version 2.2.1 (March 24, 2006)
Modelica.UsersGuide.ReleaseNotes.Version_2_2 Version_2_2 Version 2.2 (April 6, 2005)
Modelica.UsersGuide.ReleaseNotes.Version_2_1 Version_2_1 Version 2.1 (Nov. 11, 2004)
Modelica.UsersGuide.ReleaseNotes.Version_1_6 Version_1_6 Version 1.6 (June 21, 2004)
Modelica.UsersGuide.ReleaseNotes.Version_1_5 Version_1_5 Version 1.5 (Dec. 16, 2002)
Modelica.UsersGuide.ReleaseNotes.Version_1_4 Version_1_4 Version 1.4 (June 28, 2001)

Modelica.UsersGuide.ReleaseNotes.VersionManagement Modelica.UsersGuide.ReleaseNotes.VersionManagement

Development branches

Further development and maintenance of the Modelica Standard Library is performed with two branches on the public GitHub repository of the Modelica Association.

Main development branch

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.

Maintenance branch

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.

Contribution workflow

The general contribution workflow is usually as follows:

  1. Fork the repository to your account by using the Fork button of the GitHub repository site.
  2. Clone the forked repository to your computer. Make sure to checkout the maintenance branch if the bug fix is going to get merged to the maintenance branch.
  3. Create a new topic branch and give it a meaningful name, like, e.g., "issue2161-fix-formula".
  4. Do your code changes and commit them, one change per commit. Single commits can be copied to other branches. Multiple commits can be squashed into one, but splitting is difficult.
  5. Once you are done, push your topic branch to your forked repository.
  6. Go to the upstream https://github.com/modelica/ModelicaStandardLibrary.git repository and submit a Pull Request (PR). If the PR is related to a certain issue, reference it by its number like this: #2161. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before the changes are merged into the repository.
  7. Update your branch with the requested changes. If necessary, merge the latest "master" branch into your topic branch and solve all merge conflicts in your topic branch.

There are some special guidelines for changes to the maintenance branch.

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

Modelica.UsersGuide.ReleaseNotes.Version_3_2_3 Modelica.UsersGuide.ReleaseNotes.Version_3_2_3

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 "clean-up" 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
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.Tables
CombiTable2Dv Variant of CombiTable2D (table look-up 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 three-phase 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 quasi-static 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.Electrical.Digital.Converters
LogicToXO1
LogicToXO1Z
Use LogicToX01 or LogicToX01Z instead.
Modelica.Electrical.Machines
BasicMachines.Components.BasicTransformer Use Interfaces.PartialBasicTransformer 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.


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 feed-forward input.
Modelica.Blocks.Sources
CombiTimeTable The time events were not considered at the interval boundaries in case of linear interpolation and non-replicated 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 non-backward compatible way:

Modelica.Blocks
Interfaces.PartialNoise
Noise.UniformNoise
Noise.NormalNoise
Noise.TruncatedNormalNoise
Noise.BandLimitedWhiteNoise
As a side-effect 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 sub-typing (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 sub-typing (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.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.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).

Modelica.UsersGuide.ReleaseNotes.Version_3_2_2 Modelica.UsersGuide.ReleaseNotes.Version_3_2_2

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 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: (These extensions have been developed by Johannes Ziske and Thomas Bödrich as part of the Clean Sky JTI project; project number: 296369; Theme: JTI-CS-2011-1-SGO-02-026; MOMOLIB - Modelica Model Library Development for Media, Magnetic Systems and Wavelets. The partial financial support by the European Union for this development is highly appreciated.).
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.

Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).

Modelica.UsersGuide.ReleaseNotes.Version_3_2_1 Modelica.UsersGuide.ReleaseNotes.Version_3_2_1

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 "clean-up" 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 Steady-State 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 multi-phase 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/P-channel junction field-effect 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
Multi-phase 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).

Modelica.UsersGuide.ReleaseNotes.Version_3_2 Modelica.UsersGuide.ReleaseNotes.Version_3_2

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 top-level 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 built-in 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 quasi-stationary 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 quasi-stationary, periodic part and neglecting non-periodic 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 pre-processor 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 DLR-RM, 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 IIR-filter 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 60034-4:2008 Appendix C.
Modelica.Mechanics.MultiBody.Examples.Elementary.
HeatLosses Demonstrate the modeling of heat losses.
UserDefinedGravityField Demonstrate the modeling of a user-defined 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 continuous-time and discrete-time algebraic Riccati equation respectively.
continuousSylvester
discreteSylvester
Return solution of continuous-time and discrete-time Sylvester equation respectively.
continuousLyapunov
discreteLyapunov
Return solution of continuous-time and discrete-time 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 user-defined 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 non-linear 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 QR-decomposition 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 non-convergent 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 `.[0-9]+`
#347 invalid URI in MSL 3.2
#355 Non-standard 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 Euler-Mascheroni 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 m-phase 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 non-normalized axis of rotations
#268 Non-standard 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 non-standard 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 MSL-Documentation: 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).

Modelica.UsersGuide.ReleaseNotes.Version_3_1 Modelica.UsersGuide.ReleaseNotes.Version_3_1

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 1-dim. thermo-fluid 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 stream-concept from Modelica Specification 3.1.
Modelica.Magnetic.FluxTubes Components to model magnetic devices based on the magnetic flux tubes concepts. Especially to model electro-magnetic 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 3-dim. 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 3-dim. 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).

Modelica.UsersGuide.ReleaseNotes.Version_3_0_1 Modelica.UsersGuide.ReleaseNotes.Version_3_0_1

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):

  1. The rights of licensor and licensee are much more clearly defined. For example: We hope that this compromise between open source contributors, commercial Modelica environments and Modelica users will motivate even more people to provide their Modelica packages freely under the Modelica License 2.

  2. There are several new provisions that shall make law suites against licensors and licensees more unlikely (so the small risk is further reduced).


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 non-standard "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).

Modelica.UsersGuide.ReleaseNotes.Version_3_0 Modelica.UsersGuide.ReleaseNotes.Version_3_0

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:


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 multi-body 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 1-dim. 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 pre-defined 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 non-backward 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 non-normalized form. Default is "normalized = true". The previous implementation was a non-normalized 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 up-to-date 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
J_Rotor ... Jr
Rr ........ Rrd (damper of synchronous induction machines)
Lrsigma ... Lrsigmad (damper of synchronous induction machines)
phi_mechanical ... phiMechanical
w_mechanical ..... wMechanical
rpm_mechanical ... rpmMechanical
tau_electrical ... tauElectrical
tau_shaft ........ tauShaft
TurnsRatio ....... turnsRatio (AIMS)
VsNom ............ VsNominal (AIMS)
Vr_Lr ............ VrLockedRotor (AIMS)
DamperCage ....... useDamperCage (synchronous induction machines)
V0 ............... VsOpenCicuit (SMPM)
Ie0 .............. IeOpenCicuit (SMEE)
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 up-to-date style.
SMEE_Generator Initialization of smee.phiMechanical with fixed=true
Mechanics.MultiBody.
World Changed default value of parameter driveTrainMechanics3D from false to true.
3-dim. 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 built-in 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 cut-joint 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 built-up 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 (= cut-torque/-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 sub-packages (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 built-in 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 sub-packages (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 non-backward 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 up-to-date 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 sub-packages:

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 up-to-date 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 non-standard keywords defineBranch, defineRoot, definePotentialRoot, isRooted to the standard names:
Connections.branch/.root/.potentialRoot/.isRooted.
Frames Added annotation "Inline=true" to all one-line 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 multi-body 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).

Modelica.UsersGuide.ReleaseNotes.Version_2_2_2 Modelica.UsersGuide.ReleaseNotes.Version_2_2_2

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 Differences-Modelica-221-222.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 6-pulse rectifier with 1 transformer
Rectifier12pulse 12-pulse 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 Sub-Library 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 p-norm 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 zero-division 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 sub-library 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 if-conditions 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 3D-elements 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 3D-elements, 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 non-standard Modelica function "constrain()" by standard Modelica components. As a result, the non-standard 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 non-linear equation system of a kinematic loop is formulated in a better way (the range where the desired result is a unique solution of the non-linear system of equations becomes much larger).
Mechanics.MultiBody.
Visualizers. Removed (misleading) annotation "structurallyIncomplete" in the models of this sub-library
Mechanics.Rotational.
Examples For all models in this sub-library:
  • Included a housing object in all examples to compute all support torques.
  • Replaced initialization by modifiers via the initialization menu parameters of Inertia components.
  • Removed "encapsulated" and unnecessary "import".
  • Included "StopTime" in the annotations.
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 1-sum(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):
  • frame_b is in the spanning tree closer to the root (usually this is frame_a).
  • vector r from frame_a to frame_b is not zero.
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:
  • In function massFractionpTphi an equation sign is used in an algorithm.
  • Two consecutive semicolons removed
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 non-graphical (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 non-flow 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).

Modelica.UsersGuide.ReleaseNotes.Version_2_2_1 Modelica.UsersGuide.ReleaseNotes.Version_2_2_1

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 d-axis; if he omits the parameters of the q-axis, 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 three-phase induction machines to choose either star (wye) ? or delta ? connection
Modelica.Math.Matrices.
equalityLeastSquares Solve a linear equality constrained least squares problem:
min|A*x-a|^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 1-dim. rotational flange and its 3-dim. bearing frame.
Interfaces.FlangeWithBearingAdaptor Adaptor to allow direct connections to the sub-connectors 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 sub-bus
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 Locked-rotor 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
  • All components with animation information have a new variable specularCoefficient to define the reflection of ambient light. The default value is world.defaultSpecularCoefficient which has a default of 0.7. By changing world.defaultSpecularCoefficient, the specularCoefficient of all components is changed that are not explicitly set differently. Since specularCoefficient is a variable (and no parameter), it can be changed during simulation. Since annotation(Dialog) is set, this variable still appears in the parameter menus.
    Previously, a constant specularCoefficient of 0.7 was used for all components.
  • Variable color of all components is no longer a parameter but an input variable. Also all parameters in package Visualizers, with the exception of shapeType are no longer parameters but defined as input variables with annotation(Dialog). As a result, all these variables appear still in parameter menus, but they can be changed during simulation (e.g., color might be used to display the temperature of a part).
  • All menus have been changed to follow the Modelica 2.2 annotations "Dialog, group, tab, enable" (previously, a non-standard Dymola definition for menus was used). Also, the "enable" annotation is used in all menus to disable input fields if the input would be ignored.
  • All visual shapes are now defined with conditional declarations (to remove them, if animation is switched off). Previously, these (protected) objects have been defined by arrays with dimension 0 or 1.
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 y-direction 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.
HCRIT0Critical specific enthalpy of the fundamental equation (base formulation of the fluid medium model).
SCRIT0Critical specific entropy of the fundamental equation (base formulation of the fluid medium model).
deltahEnthalpy offset (default: 0) between the specific enthalpy of the fluid model and the user-visible specific enthalpy in the model: deltah = h_model - h_fundamentalEquation.
deltasEntropy offset (default: 0) between the specific entropy of the fluid model and the user-visible specific entropy in the model: deltas = s_model - s_fundamentalEquation.
T_defaultDefault value for temperature of medium (for initialization)
h_defaultDefault value for specific enthalpy of medium (for initialization)
p_defaultDefault value for pressure of medium (for initialization)
X_defaultDefault 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 when-clause 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 Drain-Source-Resistance 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=1e-5), the Drain-Source-Resistance 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 C-implementation, 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).

Modelica.UsersGuide.ReleaseNotes.Version_2_2 Modelica.UsersGuide.ReleaseNotes.Version_2_2

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
  • 1241 detailed gas models,
  • moist air,
  • high precision water model (according to IAPWS/IF97 standard),
  • incompressible media defined by tables (cp(T), rho(t), eta(T), etc. are defined by tables).
The user can conveniently define mixtures of gases between the 1241 gas models. The models are designed to work well in dynamic simulations. They are based on a new standard interface for media with single and multiple substances and one or multiple phases with the following features:
  • The independent variables of a medium model do not influence the definition of a fluid connector port or how the balance equations have to be implemented.
    Used independent variables: "p,T", "p,T,X", "p,h", "d,T".
  • Optional variables, e.g., dynamic viscosity, are only computed if needed.
  • The medium models are implemented with regards to efficient dynamic simulation.
Modelica.Thermal.FluidHeatFlow Simple components for 1-dim., incompressible thermo-fluid 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).

Modelica.UsersGuide.ReleaseNotes.Version_2_1 Modelica.UsersGuide.ReleaseNotes.Version_2_1

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 back-up 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 9-valued 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 non-differentiable 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 two-dimensional interpolation in tables. CombiTimeTable is available
in Modelica.Blocks.Sources (from ModelicaAdditions.Tables)
Modelica.Mechanics.MultiBody Components to model the movement of 3-dimensional 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).

Modelica.UsersGuide.ReleaseNotes.Version_1_6 Modelica.UsersGuide.ReleaseNotes.Version_1_6

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 Ebers-Moll with heating port
HeatingPNP Simple PNP BJT according to Ebers-Moll with heating port
Modelica.Electrical.MultiPhase
A new library for multi-phase 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).

Modelica.UsersGuide.ReleaseNotes.Version_1_5 Modelica.UsersGuide.ReleaseNotes.Version_1_5

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

Package-specific Changes

Class-specific Changes

Modelica.SIunits

Removed final from quantity attribute for Mass and MassFlowRate.

Modelica.Blocks.Math.Sum

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

Modelica.Blocks.Sources.Step

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

Modelica.Blocks.Sources.Exponentials

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

Modelica.Blocks.Sources.TimeTable

Interface definition changed from

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

to

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

Did the same for subfunction getInterpolationCoefficients.

Bug in getInterpolationCoefficients for startTime <> 0 fixed:

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

Modelica.Blocks.Sources.BooleanStep

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

Modelica.Electrical.Analog

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

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

Modelica.UsersGuide.ReleaseNotes.Version_1_4 Modelica.UsersGuide.ReleaseNotes.Version_1_4


Version 1.4.1beta1 (February 12, 2001)

Adapted to Modelica 1.4


Version 1.3.2beta2 (June 20, 2000)


Version 1.3.1 (Dec. 13, 1999)

First official release of the library.

Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).

Automatically generated Mon Oct 1 14:50:43 2018.