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 | Induction machine squirrel cage with Steinmetz connection |
Electrical.Machines.BasicMachines.Components. | |
BasicAIM | Partial model for induction machine |
BasicSM | Partial model for synchronous 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 three-phase 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 Polyphase |
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:
|
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):
|
PointMass | If a PointMass model is connected so that no equations are present to compute its orientation object, the orientation was arbitrarily set to a unit rotation. In some cases this can lead to a wrong overall model, depending on how the PointMass model is used. For this reason, such cases lead now to an error (via an assert(..)) with an explanation how to fix this. |
Media.Interfaces.PartialPureSubstance. | |
pressure_dT specificEnthalpy_dT |
Changed wrong call from "setState_pTX" to "setState_dTX" |
Media.Interfaces.PartialTwoPhaseMedium. | |
pressure_dT specificEnthalpy_dT |
Changed wrong call from "setState_pTX" to "setState_dTX" |
Media.Common.ThermoFluidSpecial. | |
gibbsToProps_dT helmholtzToProps_ph helmholtzToProps_pT helmholtzToProps_dT |
Bugs in equations corrected |
Media.Common. | |
helmholtzToBridgmansTables helmholtzToExtraDerivs |
Bugs in equations corrected |
Media.IdealGases.Common.SingleGasNasa. | |
density_derp_T | Bug in equation of partial derivative corrected |
Media.Water.IF97_Utilities. | |
BaseIF97.Inverses.dtofps3 isentropicExponent_props_ph isentropicExponent_props_pT isentropicExponent_props_dT |
Bugs in equations corrected |
Media.Air.MoistAir. | |
h_pTX | Bug in setState_phX due to wrong vector size in h_pTX corrected.
Furthermore, syntactical errors corrected:
|
Media.Water. | |
waterConstants | Bug in equation of criticalMolarVolume corrected. |
Media.Water.IF97_Utilities.BaseIF97.Regions. | |
region_ph region_ps |
Bug in region determination corrected. |
boilingcurve_p dewcurve_p |
Bug in equation of plim corrected. |
The following uncritical errors have been fixed (i.e., errors
that do not lead to wrong simulation results, but, e.g.,
units are wrong or errors in documentation):
Blocks. | |
Examples | Corrected typos in description texts of bus example models. |
Blocks.Continuous. | |
LimIntegrator | removed incorrect smooth(0,..) because expression might be discontinuous. |
Blocks.Math.UnitConversions. | |
block_To_kWh block_From_kWh |
Corrected unit from "kWh" to (syntactically correct) "kW.h". |
Electrical.Analog.Examples. | |
HeatingNPN_OrGate | Included start values, so that initialization is successful |
Electrical.Analog.Lines. | |
OLine | Corrected unit from "Siemens/m" to "S/m". |
TLine2 | Changed wrong type of parameter NL (normalized length) from SIunits.Length to Real. |
Electrical.Digital.Delay. | |
TransportDelay | Syntax error corrected (":=" in equation section is converted by Dymola silently to "="). |
Electrical.Digital | |
Converters | Syntax error corrected (":=" in equation section is converted by Dymola silently to "="). |
Electrical.Polyphase.Basic. | |
Conductor | Changed wrong type of parameter G from SIunits.Resistance to SIunits.Conductance. |
Electrical.Polyphase.Interfaces. | |
Plug |
Made used "pin" connectors non-graphical (otherwise, there are difficulties to connect to Plug). |
Electrical.Polyphase.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". |