# Version_3_2_3

Version 3.2.3 (January 23, 2019)

## Library

Modelica/UsersGuide/ReleaseNotes

## Description

Version 3.2.3 is backward compatible to version 3.2.2, that is models developed withversions 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 andtool compatibility. The goal is that allModelica tools will support this packageand will interpret it in the same way. Short Overview:

- This version of the Modelica package is
**fully compatible**to Modelica Specification**3.2 revision 2**.

- About
**606**issues (including pull requests) have been addressed for this release.**Version 3.2.3**with respect to 3.2.2:- About 557 issues (including pull requests) have been addressed for this release.
**94**component models and blocks,**36**example models and**9**functions are newly included.- The license has been changed to BSD 3-clause, visit: https://modelica.org/licenses/modelica-3-clause-bsd.

**Version 3.2.3 Build 2**with respect to 3.2.3:

About 5 issues (including pull requests) have been addressed for this maintenance release.

**Version 3.2.3 Build 3**with respect to 3.2.3 Build 2:

About 8 issues (including pull requests) have been addressed for this maintenance release.

**Version 3.2.3 Build 4**with respect to 3.2.3 Build 3:

About 36 issues (including pull requests) have been addressed for this maintenance release.

The exact difference between package Modelica version 3.2.3 and version 3.2.2 issummarized 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 addedto **existing** libraries:

Modelica.Blocks.Interfaces.Adaptors | |

FlowToPotentialAdaptor PotentialToFlowAdaptor | Partial adaptors for generation of FMUs, optionally taking first and second derivative into account, for consistent components in various domains. |

Modelica.Blocks.Math | |

Power | Computes the power of the input signal. |

WrapAngle | Wraps the angle signal at the input to the interval ]-π, π] or [0, 2π[. |

Pythagoras | This block determines the hypotenuse from the legs or one leg from the hypotenuse and the other leg. |

TotalHarmonicDistortion | This block calculates THD of the signal at the input. |

RealFFT | This block samples the input and calculates the FFT, writing the result to a mat file when the simulation terminates. |

Modelica.Blocks.Routing | |

Multiplex | Multiplexer block for arbitrary number of input signals |

DeMultiplex | Demultiplexer block for arbitrary number of output signals |

Modelica.Blocks.Tables | |

CombiTable2Dv | Variant of CombiTable2D (table 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.StateGraph.Temporary | |

SetRealParameter | Use parameter Real instead. |

anyTrue | Use Modelica.Math.BooleanVectors.anyTrue instead. |

allTrue | Use Modelica.Math.BooleanVectors.allTrue instead instead. |

RadioButton | Use future model from Modelica.Blocks.Interaction instead. |

NumericValue | Use Modelica.Blocks.Interaction.Show.RealValue instead. |

IndicatorLamp | Use Modelica.Blocks.Interaction.Show.BooleanValue instead. |

Modelica.Electrical.Digital.Converters | |

LogicToXO1 LogicToXO1Z | Use LogicToX01 or LogicToX01Z instead. |

Modelica.Electrical.Machines | |

BasicMachines.Components.BasicTransformer | Use Interfaces.PartialBasicTransformer instead. |

Modelica.Electrical.Spice3.Internal | |

BJT | Use BJT2 instead. |

Bjt3.* | Use revised classes instead. |

Modelica.Mechanics.MultiBody | |

Examples.Loops.Utilities.GasForce | Use Examples.Loops.Utilities.GasForce2 instead. |

Sensors.TansformAbsoluteVector Sensors.TansformRelativeVector | Use Sensors.TransformAbsoluteVector or Sensors.TransformRelativeVector instead. |

Visualizers.Ground | Use ground plane visualization of World or Visualizers.Rectangle instead. |

Modelica.Fluid.Icons | |

VariantLibrary BaseClassLibrary | Use icons from Modelica.Icons instead. |

Modelica.Media.Examples | |

Tests.Components.* | Use classes from Utilities instead. |

TestOnly.* Tests.MediaTestModels.* | Use test models from ModelicaTest.Media instead. |

Modelica.Thermal.FluidHeatFlow | |

Components.IsolatedPipe Components.HeatedPipe | Extend from the new pipe model with optional heatPort. |

Interfaces.Partials.Ambient | Extends from SinglePortLeft. |

Modelica.Math | |

baseIcon1 baseIcon2 | Use icons from Modelica.Math.Icons instead. |

Modelica.Icons | |

Library Library2 GearIcon MotorIcon Info | Use (substitute) icons from Modelica.Icons, Modelica.Mechanics.Rotational.Icons or Modelica.Electrical.Machines.Icons instead. |

Modelica.SIunits.Conversions.NonSIunits | |

FirstOrderTemperaturCoefficient SecondOrderTemperaturCoefficient | Use Modelica.SIunits.LinearTemperatureCoefficientResistance or Modelica.SIunits.QuadraticTemperatureCoefficientResistance instead. |

The following **existing components**have been **improved** in a**backward compatible** way:

Modelica.Blocks.Continuous | |

Integrator LimIntegrator | Added optional reset and set value inputs. |

LimPID | Added an optional 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.ComplexBlocks.Routing | |

ComplexPassThrough | Fixed the connector types from Real to Complex |

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., errorsthat can lead to wrong simulation results):

Modelica.Blocks.Math | |

Pythagoras | The case with negative `y2` was not correctly considered if `u1IsHypotenuse` is `true` . This has been corrected. |

Modelica.Blocks.Sources | |

TimeTable | The derivative of the `TimeTable` output could no longer be determined. This has been corrected. |

Modelica.Electrical.Semiconductors | |

Diode | Fixed unit error in current equations. |

Modelica.Electrical.Spice3.Additionals | |

poly | The case with one coefficient and one variable was not correctly considered. This has been corrected. |

Modelica.Fluid.Dissipation.PressureLoss.General | |

dp_volumeFlowRate_DP dp_volumeFlowRate_MFLOW | The mass flow rate was not correctly computed if the pressure drop is a linear function of the volume flow rate. This has been corrected. |

Modelica.Media.Air.ReferenceAir | |

Air_Base.BaseProperties | The unit of the specific gas constant `R_s` was not correctly considered. This has been corrected. |

molarMass | The computation of the function output `MM` was wrong. This has been corrected. |

Modelica.Media.Air.MoistAir | |

molarMass | The computation of the function output `MM` was wrong. This has been corrected. |

density_derX s_pTX s_pTX_der | The calculation was wrong. This has been corrected. |

Modelica.Media.IdealGases.Common.Functions | |

thermalConductivityEstimate | The computation of the function output `lambda` was wrong for the modified Eucken correlation, i.e., if `method` is set to 2. This has been corrected. |

s0_Tlow_der | The calculation was wrong. This has been corrected. |

Modelica.Media.IdealGases.Common.SingleGasesData | |

CH2 CH3 CH3OOH C2CL2 C2CL4 C2CL6 C2HCL C2HCL3 CH2CO_ketene O_CH_2O HO_CO_2OH CH2BrminusCOOH C2H3CL CH2CLminusCOOH HO2 HO2minus OD ODminus | The coefficients for `blow` , `ahigh` and `bhigh` were wrong. This has been corrected. |

Modelica.Media.IdealGases.Common.MixtureGasNasa | |

mixtureViscosityChung | The computation of the function output `etaMixture` was wrong. This has been corrected. |

Modelica.Media.Incompressible.TableBased | |

BaseProperties | The unit of the gas constant `R` for table based media was not correctly considered. This has been corrected. |

T_ph | The pressure negligence was not considered. This has been corrected. |

Modelica.Media.R134a.R134a_ph | |

setState_pTX | Only applicable in one-phase regime: The Newton iteration for the calculation of the density may possibly converge to the wrong root. This has been improved. |

setState_dTX setState_psX | The calculation was wrong in two-phase regime. 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. |

Modelica.Utilities.System | |

getTime | The month and year was only correctly returned if the implementing source file (ModelicaInternal.c) was compiled for Windows OS. This has been corrected. |