Version_3_0

class Version_3_0 "Version 3.0 (March 1, 2008)"
    extends Modelica.Icons.ReleaseNotes;

    annotation (Documentation(info = "<html>\n<p>\nVersion 3.0 is <strong>not</strong> backward compatible to previous versions.\nA conversion script is provided to transform models and libraries\nof previous versions to the new version. Therefore, conversion\nshould be automatic.\n</p>\n\n<p>\nThe following changes are present for the whole library:\n</p>\n\n<ul>\n<li> In the Modelica language version 3.0, several restrictions have been\n         introduced to allow better checking, e.g., models on all levels must be balanced\n         (number of equations = number of unknown variables - unknown variables that have\n         to be defined when using the component). A few models of the Modelica\n         Standard Library did not fulfill these new restrictions and had\n         either to be moved to library ObsoleteModelica3 (e.g., Blocks.Math.TwoInputs)\n         or had to be differently implemented\n         (e.g., Media.Interfaces.PartialMedium.BaseProperties).\n         The Modelica Standard Library version 3.0 fulfills all the restrictions of\n         the Modelica Language version 3.0.<br>&nbsp;\n         </li>\n\n<li> The graphical annotations describing the layout of icon and diagram layer\n         are changed from Modelica language version 1 to Modelica language version 3.\n         This gives several significant improvements:<br>Especially, the coordinate systems\n         of icon and diagram layers are no longer coupled and therefore the size of the\n         icon layer can be changed independently of the size of the diagram layer.\n         Also it can be defined that the aspect ratio of a component icon is kept when changing\n         its size in a model. This flag is set so that all icons of the Modelica\n         Standard Library keep its aspect ratios. This is slightly non-backward compatible:\n         If the aspect ratio was not kept when using a component from the Modelica\n         Standard Library, it is now resized so that the aspect ratio is maintained.<br>&nbsp;</li>\n\n<li> All non-standard annotations removed by:<br>\n         (1) Removing the annotation since without effect\n                 (e.g., \"__Dymola_experimentSetupOutput\", \"Window\", \"Terminal\" removed).<br>\n         (2) Renaming the annotation to a standard name (e.g., \"Hide\" renamed to \"HideResult\").<br>\n         (3) Renaming the annotation to a vendor specific name\n                 (e.g., \"checkBox\" renamed to \"__Dymola_checkBox\").<br>&nbsp;</li>\n\n<li> All emulated enumerations (defined via packages and constants) have been\n         replaced by \"real\" enumerations. User models are automatically correctly\n         converted, provided the user models used the package constants previously.\n         <strong>Existing models that use directly literal values for enumerations, might give in\n         some cases wrong results</strong> (if the first constant of the emulated enumeration\n         had value zero, whereas the first value of an enumeration is one).<br>&nbsp;</li>\n\n<li> The operator \"cardinality\" will be removed in one of the next versions of the\n         Modelica language, since it is a reflective operator and its usage significantly\n         reduces the possibilities of advanced model checks (e.g., to guarantee that a model\n         is \"balanced\", i.e., the number of equations and unknowns is identical,\n         for all valid usages of the component). As a preparation for this change, all\n         models that contain the \"cardinality(..)\" operator are rewritten: If possible\n         the operator is removed. If this is not possible, it is only used in asserts to\n         check that, e.g., a connector is connected at least once or is connected exactly\n         once. In the next Modelica language version new language elements will be introduced\n         to specify such a property check without the cardinality operator. Once these\n         language elements are available, the cardinality operator will be removed completely\n         from the Modelica Standard Library.<br>\n         The changes with respect to the cardinality(..) operator are usually not backward\n         compatible. This is the reason for the changes of the\n         Rotational and Translational library (see below).<br>&nbsp;</li>\n\n<li> The design of the <strong>Rotational</strong> and <strong>Translational</strong> libraries have been changed\n         (especially to remove the cardinality(..) operator, see above):\n         <ul>\n         <li> Components have a <strong>useSupport</strong> flag to enable or disable a support flange.\n                  If the support flange is enabled, it must be connected. If it is disabled, it must\n                  not be connected and the component is then internally grounded. The grounding\n                  is visualized in the icon.</li>\n         <li> The relative angle/distance and the relative speed of all force/torque elements\n                  (that need the relative speed) are by default defined with \"StateSelect.prefer\", i.e.,\n                  to use these variables as preferred states. This improves the numerics if the\n                  absolute angle or the absolute distance are continuously increasing during\n                  operation (e.g., driving shaft of the wheels of a car). The effect is that relative\n                  angles/distances and speeds are used as states and the size of these variables is\n                  limited. Previously, the default was to use the absolute angle/distance\n                  and absolute speed of every inertia/mass which has the disadvantage that the absolute\n                  angle and or distance are state variables that grow in size continuously.<br>\n                  A significant advantage is also, that default initialization is usually better,\n                  because a default value of zero for a relative angle/distance is usually what the\n                  user would like to have. Previously, say, the load was initialized to a non-zero\n                  angle and then the elastically coupled motor inertia had to be explicitly\n                  also initialized with this value. This is now, no longer needed. Since the default\n                  nominal value of 1 is usually too large for a relative quantity, the nominal\n                  values of the relative angle/distance was changed to 1e-4.</li>\n         <li> The two libraries have been restructured in sublibraries to cope\n                  with the growing number of components.</li>\n         <li> Finally, the Translational library has been\n                  made as similar as possible to the Rotational library by, e.g., adding missing\n                  components.<br>&nbsp;</li>\n         </ul></li>\n\n<li> The initialization of the MultiBody, Rotational and Translational libraries have\n         been significantly simplified by removing the \"initType\" parameters and only\n         using start/fixed values. This design assumes that a tool has special support\n         for start/fixed values in the parameter menu.<br>&nbsp;</li>\n\n<li> Nearly all parameters defined in the Modelica Standard Library had been\n         defined with a default equation, e.g.,\n         <pre>   <strong>parameter</strong> Modelica.SIunits.Resistance R=1; </pre>\n         Physical parameters, such as a resistance, mass, gear ratio, do not have a meaningful\n         default and in nearly all cases, the user of the corresponding component has to\n         provide values for such parameters. If the user forgets this, a tool\n         cannot provide diagnostics, since a default value is present in the library\n         (such as 1 Ohm for the resistance). In most cases the model will simulate but will\n         give wrong results due to wrong parameter values. To improve this situation, all physical\n         parameter declarations in the Modelica Standard Library have been changed, so\n         that the previous default becomes a start value. For example, the above\n         declaration is changed to:\n         <pre>   <strong>parameter</strong> Modelica.SIunits.Resistance R(start=1);  </pre>\n         This is a backward compatible change and completely equivalent from the perspective\n         of the Modelica language. It is, however, advised that tools will print a warning\n         or optionally an error message, if the start value of a parameter is defined, but\n         no value for the parameter is given via a modification. Furthermore, it is expected,\n         that the input field of a parameter menu is empty, if no default equation is defined,\n         but only a start value. This shows clearly to the modeler that a value has to\n         be provided.</li>\n</ul>\n\n<p><br>\nThe following <font color=\"blue\"><strong>new components</strong></font> have been added\nto <font color=\"blue\"><strong>existing</strong></font> libraries (note, the names in parentheses\nare the new sublibrary names that are introduced in version 3.0):\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">\n<tr><td colspan=\"2\"><strong>Blocks.Examples.</strong></td></tr>\n<tr><td>InverseModel</td>\n          <td> Demonstrates the construction of an inverse model.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Blocks.Math.</strong></td></tr>\n<tr><td>InverseBlockConstraints</td>\n          <td> Construct inverse model by requiring that two inputs\n                                                and two outputs are identical (replaces the previously,\n                                                unbalanced, TwoInputs and TwoOutputs blocks).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.Machines.Utilities</strong></td></tr>\n<tr><td>TransformerData</td>\n          <td> A record that calculates required impedances (parameters) from nominal data of transformers.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Examples.Rotational3DEffects</strong></td></tr>\n<tr><td> GyroscopicEffects<br>\n                                                ActuatedDrive<br>\n                                                MovingActuatedDrive<br>\n                                                GearConstraint </td>\n          <td> New examples to demonstrate the usage of the Rotational library\n                                                in combination with multi-body components.</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Sensors</strong></td></tr>\n<tr><td> AbsolutePosition<br>\n                                                AbsoluteVelocity<br>\n                                                AbsoluteAngles<br>\n                                                AbsoluteAngularVelocity<br>\n                                                RelativePosition<br>\n                                                RelativeVelocity<br>\n                                                RelativeAngles<br>\n                                                RelativeAngularVelocity</td>\n          <td> New sensors to measure one vector.</td>\n</tr>\n<tr><td> TransformAbsoluteVector<br>\n                                                TransformRelativeVector</td>\n          <td> Transform absolute and/or relative vector into another frame.</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Rotational.(Components)</strong></td></tr>\n<tr><td> Disc </td>\n          <td> Right flange is rotated by a fixed angle with respect to left flange</td></tr>\n<tr><td> IdealRollingWheel </td>\n          <td> Simple 1-dim. model of an ideal rolling wheel without inertia</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Translational.Sensors</strong></td></tr>\n<tr><td>RelPositionSensor<br>RelSpeedSensor<br>RelAccSensor<br>PowerSensor</td>\n          <td> Relative position sensor, i.e., distance between two flanges<br>\n                                                Relative speed sensor<br>\n                                                Relative acceleration sensor<br>\n                                                Ideal power sensor</td></tr>\n<tr><td colspan=\"2\"><strong>Mechanics.Translational(.Components)</strong></td></tr>\n<tr><td>SupportFriction<br>Brake<br>InitializeFlange</td>\n          <td> Model of friction due to support<br>\n                                                Model of a brake, base on Coulomb friction<br>\n                                                Initializes a flange with pre-defined position, speed and acceleration .</td></tr>\n<tr><td colspan=\"2\"><strong>Mechanics.Translational(.Sources)</strong></td></tr>\n<tr><td>Force2<br>LinearSpeedDependentForce<br>QuadraticSpeedDependentForce<br>\n                                           ConstantForce<br>ConstantSpeed<br>ForceStep</td>\n          <td> Force acting on 2 flanges<br>\n                                                Force linearly dependent on flange speed<br>\n                                                Force quadratic dependent on flange speed<br>\n                                                Constant force source<br>\n                                                Constant speed source<br>\n                                                Force step</td></tr>\n</table>\n\n<p><br>\nThe following <font color=\"blue\"><strong>existing components</strong></font>\nhave been <font color=\"blue\"><strong>changed</strong></font> in a\n<font color=\"blue\"><strong>non-backward compatible</strong></font> way\n(the conversion script transforms models and libraries\nof previous versions to the new version. Therefore, conversion\nshould be automatic):\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">\n<tr><td colspan=\"2\"><strong>Blocks.Continuous.</strong></td></tr>\n<tr><td> CriticalDamping </td>\n          <td> New parameter \"normalized\" to define whether filter is provided\n                                                in normalized or non-normalized form. Default is \"normalized = true\".\n                                                The previous implementation was a non-normalized filter.\n                                                The conversion script automatically introduces the modifier\n                                                \"normalized=false\" for existing models.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Blocks.Interfaces.</strong></td></tr>\n<tr><td> RealInput<br>\n                                                RealOutput</td>\n          <td> Removed \"SignalType\", since extending from a replaceable class\n                                                and this is not allowed in Modelica 3.<br>The conversion script\n                                                removes modifiers to SignalType.</td></tr>\n\n<tr><td> RealSignal<br>\n                                                IntegerSignal<br>\n                                                BooleanSignal</td>\n          <td> Moved to library ObsoleteModelica3, since these connectors\n                                                are no longer allowed in Modelica 3<br>\n                                                (prefixes input and/or output are required).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Blocks.Interfaces.Adaptors.</strong></td></tr>\n<tr><td> AdaptorReal<br>\n                                                AdaptorBoolean<br>\n                                                AdaptorInteger</td>\n          <td> Moved to library ObsoleteModelica3, since the models are not \"balanced\".\n                                                These are completely obsolete adaptors<br>between the Real, Boolean, Integer\n                                                signal connectors of version 1.6 and version &ge; 2.1 of the Modelica\n                                                Standard Library.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Blocks.Math.</strong></td></tr>\n<tr><td> ConvertAllUnits</td>\n          <td> Moved to library ObsoleteModelica3, since extending from a replaceable class\n                                                and this is not allowed in Modelica 3.<br> It would be possible to rewrite this\n                                                model to use a replaceable component. However, the information about the\n                                                conversion<br> cannot be visualized in the icon in this case.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Blocks.Math.UnitConversions.</strong></td></tr>\n<tr><td> TwoInputs<br>\n                                                TwoOutputs</td>\n          <td> Moved to library ObsoleteModelica3, since the models are not \"balanced\".\n                                                A new component<br>\"InverseBlockConstraints\"\n                                                is provided instead that has the same feature, but is \"balanced\".</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.Analog.Baisc.</strong></td></tr>\n<tr><td> HeatingResistor</td>\n          <td> The heatPort has to be connected; otherwise the component Resistor (without heatPort) has to be used.<br>\n                                                cardinality() is only used to check whether the heatPort is connected.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.MultiPhase.Examples.</strong></td></tr>\n<tr><td> </td>\n          <td> Changed the instance names of components used in the examples to more up-to-date style.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.Machines.</strong></td></tr>\n<tr><td> </td>\n          <td> Moved package <code>Machines.Examples.Utilities</code> to <code>Machines.Utilities</code></td></tr>\n<tr><td> </td>\n          <td> Removed all nonSIunits; especially in DCMachines<br>\n                                                parameter NonSIunits.AngularVelocity_rpm rpmNominal was replaced by<br>\n                                                parameter SIunits.AngularVelocity wNominal</td></tr>\n<tr><td> </td>\n          <td> Changed the following component variable and parameter names to be more concise:<br>\n                                                Removed suffix \"DamperCage\" from all synchronous induction machines\n                                                since the user can choose whether the damper cage is present or not.<br><code>\n                                                RotorAngle ... RotorDisplacementAngle<br>\n                                                J_Rotor ... Jr<br>\n                                                Rr ........ Rrd (damper of synchronous induction machines)<br>\n                                                Lrsigma ... Lrsigmad (damper of synchronous induction machines)<br>\n                                                phi_mechanical ... phiMechanical<br>\n                                                w_mechanical ..... wMechanical<br>\n                                                rpm_mechanical ... rpmMechanical<br>\n                                                tau_electrical ... tauElectrical<br>\n                                                tau_shaft ........ tauShaft<br>\n                                                TurnsRatio ....... turnsRatio    (AIMS)<br>\n                                                VsNom ............ VsNominal     (AIMS)<br>\n                                                Vr_Lr ............ VrLockedRotor (AIMS)<br>\n                                                DamperCage ....... useDamperCage (synchronous induction machines)<br>\n                                                V0 ............... VsOpenCicuit  (SMPM)<br>\n                                                Ie0 .............. IeOpenCicuit  (SMEE)\n                                                </code></td></tr>\n<tr><td>Interfaces.</td>\n          <td> Moved as much code as possible from specific machine models to partials to reduce redundant code.</td></tr>\n<tr><td>Interfaces.Adapter</td>\n          <td> Removed to avoid cardinality; instead, the following solution has been implemented:</td></tr>\n<tr><td>Sensors.RotorDisplacementAngle<br>Interfaces.PartialBasicMachine</td>\n          <td> Introduced <code>parameter Boolean useSupport=false \"enable / disable (=fixed stator) support\"</code><br>\n                                                The rotational support connector is only present with <code>useSupport = true;</code><br>\n                                                otherwise the stator is fixed internally.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.Machines.Examples.</strong></td></tr>\n<tr><td> </td>\n          <td> Changed the names of the examples to more meaningful names.<br>\n                                                Changed the instance names of components used in the examples to more up-to-date style.</td></tr>\n<tr><td>SMEE_Generator</td>\n          <td> Initialization of <code>smee.phiMechanical</code> with <code>fixed=true</code></td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.</strong></td></tr>\n<tr><td> World</td>\n          <td> Changed default value of parameter driveTrainMechanics3D from false to true.<br>\n                                                3-dim. effects in Rotor1D, Mounting1D and BevelGear1D are therefore taken<br>\n                                                into account by default (previously this was only the case, if\n                                                world.driveTrainMechanics3D was explicitly set).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Forces.</strong></td></tr>\n<tr><td> FrameForce<br>\n                                                FrameTorque<br>\n                                                FrameForceAndTorque</td>\n          <td> Models removed, since functionality now available via Force, Torque, ForceAndTorque</td></tr>\n<tr><td> WorldForce<br>\n                                                WorldTorque<br>\n                                                WorldForceAndTorque<br>\n                                                Force<br>\n                                                Torque<br>\n                                                ForceAndTorque</td>\n          <td> Connector frame_resolve is optionally enabled via parameter resolveInFrame<br>.\n                                                Forces and torques and be resolved in all meaningful frames defined\n                                                by enumeration resolveInFrame.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Frames.</strong></td></tr>\n<tr><td> length<br>\n                                                normalize</td>\n          <td> Removed functions, since available also in Modelica.Math.Vectors\n                                                <br>The conversion script changes the references correspondingly.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Joints.</strong></td></tr>\n<tr><td> Prismatic<br>\n                                                ActuatedPrismatic<br>\n                                                Revolute<br>\n                                                ActuatedRevolute<br>\n                                                Cylindrical<br>\n                                                Universal<br>\n                                                Planar<br>\n                                                Spherical<br>\n                                                FreeMotion</td>\n          <td> Changed initialization, by replacing initial value parameters with\n                                                start/fixed attributes.<br>\n                                                When start/fixed attributes are properly supported\n                                                in the parameter menu by a Modelica tool,<br>\n                                                the initialization is considerably simplified for the\n                                                user and the implementation is much simpler.<br>\n                                                Replaced parameter \"enforceStates\" by the more general\n                                                built-in enumeration stateSelect=StateSelection.xxx.<br>\n                                                The conversion script automatically\n                                                transforms from the \"old\" to the \"new\" forms.</td></tr>\n<tr><td> Revolute<br>\n                                                ActuatedRevolute</td>\n          <td> Parameter \"planarCutJoint\" in the \"Advanced\" menu of \"Revolute\" and of\n                                                \"ActuatedRevolute\" removed.<br>\n                                                A new joint \"RevolutePlanarLoopConstraint\" introduced that defines the constraints\n                                                of a revolute joint<br> as cut-joint in a planar loop.\n                                                This change was needed in order that the revolute joint can be\n                                                properly used<br>in advanced model checking.<br>\n                                                ActuatedRevolute joint removed. Flange connectors of Revolute joint<br>\n                                                can be enabled with parameter useAxisFlange.</td></tr>\n<tr><td> Prismatic<br>\n                                                ActuatedPrismatic</td>\n          <td> ActuatedPrismatic joint removed. Flange connectors of Prismatic joint<br>\n                                                can be enabled with parameter useAxisFlange.</td></tr>\n<tr><td> Assemblies</td>\n          <td> Assembly joint implementation slightly changed, so that\n                                                annotation \"structurallyIncomplete\"<br>could be removed\n                                                (all Assembly joint models are now \"balanced\").</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Joints.Internal</strong></td></tr>\n<tr><td> RevoluteWithLengthConstraint<br>\n                                                PrismaticWithLengthConstraint</td>\n          <td> These joints should not be used by a user of the MultiBody library.\n                                                They are only provided to built-up the\n                                                MultiBody.Joints.Assemblies.JointXYZ joints.\n                                                These two joints have been changed in a slightly not backward compatible\n                                                way, in order that the usage in the Assemblies.JointXYZ joints results in\n                                                balanced models (<strong>no conversion is provided for this change since the\n                                                user should not have used these joints and the conversion would be too\n                                                complicated</strong>):\n                                                In releases before version 3.0 of the Modelica Standard Library,\n                                                it was possible to activate the torque/force projection equation\n                                                (= cut-torque/-force projected to the rotation/translation\n                                                axis must be identical to\n                                                the drive torque/force of flange axis) via parameter <strong>axisTorqueBalance</strong>.\n                                                This is no longer possible, since otherwise this model would not be\n                                                \"balanced\" (= same number of unknowns as equations). Instead, when\n                                                using this model in version 3.0 and later versions, the torque/force\n                                                projection equation must be provided in the Advanced menu of joints\n                                                Joints.SphericalSpherical and Joints.UniversalSpherical\n                                                via the new parameter \"constraintResidue\".</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Parts.</strong></td></tr>\n<tr><td> BodyBox<br>\n                                                BodyCylinder</td>\n          <td> Changed unit of parameter density from g/cm3 to the SI unit kg/m3\n                                                in order to allow stricter unit checking.<br>The conversion script multiplies\n                                                previous density values with 1000.</td></tr>\n<tr><td> Body<br>\n                                                BodyShape<br>\n                                                BodyBox<br>\n                                                BodyCylinder<br>\n                                                PointMass\n                                                Rotor1D</td>\n          <td> Changed initialization, by replacing initial value parameters with\n                                                start/fixed attributes.<br>\n                                                When start/fixed attributes are properly supported\n                                                in the parameter menu by a Modelica tool,<br>\n                                                the initialization is considerably simplified for the\n                                                user and the implementation is much simpler.<br>The conversion script automatically\n                                                transforms from the \"old\" to the \"new\" form of initialization.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Sensors.</strong></td></tr>\n<tr><td> AbsoluteSensor<br>\n                                                RelativeSensor<br>\n                                                CutForceAndTorque</td>\n          <td> New design of sensor components: Via Boolean parameters<br>\n                                                signal connectors for the respective vectors are enabled/disabled.<br>\n                                                It is not possible to automatically convert models to this new design.<br>\n                                                Instead, references in existing models are changed to ObsoleteModelice3.<br>\n                                                This means that these models must be manually adapted.</td></tr>\n<tr><td> CutForce<br>\n                                                CutTorque</td>\n          <td> Slightly new design. The force and/or torque component can be\n                                                resolved in world, frame_a, or frame_resolved.<br>\n                                                Existing models are automatically converted.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Rotational.</strong></td></tr>\n<tr><td> </td>\n          <td> Moved components to structured sub-packages (Sources, Components)</td></tr>\n<tr><td> Inertia<br>\n                                                SpringDamper<br>\n                                                RelativeStates</td>\n          <td> Changed initialization, by replacing initial value parameters with\n                                                start/fixed attributes.<br>\n                                                When start/fixed attributes are properly supported\n                                                in the parameter menu by a Modelica tool,<br>\n                                                the initialization is considerably simplified for the\n                                                user and the implementation is much simpler.<br>\n                                                Parameter \"stateSelection\" in \"Inertia\" and \"SpringDamper\" replaced\n                                                by the built-in enumeration<br>stateSelect=StateSelection.xxx.\n                                                Introduced the \"stateSelect\" enumeration in \"RelativeStates\".<br>\n                                                The conversion script automatically\n                                                transforms from the \"old\" to the \"new\" forms.</td></tr>\n<tr><td> LossyGear<br>\n                                                GearBox</td>\n          <td> Renamed gear ratio parameter \"i\" to \"ratio\", in order to have a\n                                                consistent naming convention.<br>\n                                                Existing models are automatically converted.</td></tr>\n<tr><td> SpringDamper<br>\n                                                ElastoBacklash<br>\n                                                Clutch<br>\n                                                OneWayClutch</td>\n          <td> Relative quantities (phi_rel, w_rel) are used as states, if possible\n                                                (due to StateSelect.prefer).<br>\n                                                In most cases, relative states in drive trains are better suited as\n                                                absolute states.<br> This change might give changes in the selected states\n                                                of existing models.<br>\n                                                This might give rise to problems if, e.g., the initialization was not\n                                                completely defined in a user model,<br> since the default\n                                                initialization heuristic may give different initial values.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Translational.</strong></td></tr>\n<tr><td> </td>\n          <td> Moved components to structured sub-packages (Sources, Components)</td></tr>\n<tr><td> </td>\n          <td> Adaptions corresponding to Rotational</td></tr>\n<tr><td> Stop</td>\n          <td> Renamed to Components.MassWithStopAndFriction to be more concise.<br>\n                                                MassWithStopAndFriction is not available with a support connector,<br>\n                                                since the reaction force can't be modeled in a meaningful way due to reinit of velocity v.<br>\n                                                Until a sound implementation of a hard stop is available, the old model may be used.</td></tr>\n<tr><td colspan=\"2\"><strong>Media.</strong></td></tr>\n<tr><td> constant nX<br>\n                                                constant nXi<br>\n                                                constant reference_X<br>\n                                                BaseProperties</td>\n          <td> 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.</td></tr>\n\n<tr><td colspan=\"2\"><strong>SIunits.</strong></td></tr>\n<tr><td> CelsiusTemperature </td>\n          <td> Removed, since no SI unit. The conversion script changes references to\n                                                SIunits.Conversions.NonSIunits.Temperature_degC </td></tr>\n<tr><td> ThermodynamicTemperature<br>\n                                                TemperatureDifference</td>\n          <td> Added annotation \"absoluteValue=true/false\"\n                                                in order that unit checking is possible<br>\n                                                (the unit checker needs to know for a unit that has an offset,\n                                                whether it is used as absolute or as a relative number)</td></tr>\n\n<tr><td colspan=\"2\"><strong>SIunits.Conversions.NonSIunits.</strong></td></tr>\n<tr><td> Temperature_degC<br>\n                                                Temperature_degF<br>\n                                                Temperature_degRk </td>\n          <td> Added annotation \"absoluteValue=true\"\n                                                in order that unit checking is possible<br>\n                                                (the unit checker needs to know for a unit that has an offset,\n                                                whether it is used as absolute or as a relative number)</td></tr>\n\n<tr><td colspan=\"2\"><strong>StateGraph.Examples.</strong></td></tr>\n<tr><td> ControlledTanks </td>\n          <td> The connectors of the ControlledTanks did not fulfill the new\n                                                restrictions of Modelica 3. This has been fixed.</td></tr>\n<tr><td> Utilities </td>\n          <td> Replacing inflow, outflow by connectors inflow1, inflow2,\n                                                outflow1, outflow2 with appropriate input/output prefixes in\n                                                order to fulfill the restrictions of Modelica 3 to arrive\n                                                at balanced models. No conversion is provided, since\n                                                too difficult and since the non-backward compatible change is in\n                                                an example.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Sensors.</strong></td></tr>\n<tr><td><br>\n                                                pSensor<br>TSensor<br>dpSensor<br>dTSensor<br>m_flowSensor<br>V_flowSensor<br>H_flowSensor</td>\n          <td> renamed to:<br>\n                                                PressureSensor<br>TemperatureSensor<br>RelPressureSensor<br>RelTemperatureSensor<br>MassFlowSensor<br>VolumeFlowSensor<br>EnthalpyFlowSensor\n                                                </td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Sources.</strong></td></tr>\n<tr><td> Ambient<br>PrescribedAmbient</td>\n          <td> available as one combined component Ambient<br>\n                                                Boolean parameters usePressureInput and useTemperatureInput decide\n                                                whether pressure and/or temperature are constant or prescribed</td></tr>\n<tr><td> ConstantVolumeFlow<br>PrescribedVolumeFlow</td>\n          <td> available as one combined component VolumeFlow<br>\n                                                Boolean parameter useVolumeFlowInput decides\n                                                whether volume flow is constant or prescribed</td></tr>\n<tr><td> ConstantPressureIncrease<br>PrescribedPressureIncrease</td>\n          <td> available as one combined component PressureIncrease<br>\n                                                Boolean parameter usePressureIncreaseInput decides\n                                                whether pressure increase is constant or prescribed</td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Examples.</strong></td></tr>\n<tr><td> </td>\n          <td> Changed the instance names of components used in the examples to more up-to-date style.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.HeatTransfer.(Components)</strong></td></tr>\n<tr><td> HeatCapacitor</td>\n          <td> Initialization changed: SteadyStateStart removed. Instead\n                                                start/fixed values for T and der_T<br>(initial temperature and its derivative).</td></tr>\n\n<tr><td><br><br>HeatCapacitor<br>ThermalConductor<br>ThermalConvection<br>BodyRadiation<br><br>\n                                                TemperatureSensor<br>RelTemperatureSensor<br>HeatFlowSensor<br><br>\n                                                FixedTemperature<br>PrescribedTemperature<br>FixedHeatFlow<br>PrescribedHeatFlow</td>\n          <td> Moved components to sub-packages:<br><br>\n                                                Components.HeatCapacitor<br>Components.ThermalConductor<br>Components.ThermalConvection<br>Components.BodyRadiation<br><br>\n                                                Sensors.TemperatureSensor<br>Sensors.RelTemperatureSensor<br>Sensors.HeatFlowSensor<br><br>\n                                                Sources.FixedTemperature<br>Sources.PrescribedTemperature<br>Sources.FixedHeatFlow<br>Sources.PrescribedHeatFlow\n                                                </td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Examples.</strong></td></tr>\n<tr><td> </td>\n          <td> Changed the instance names of components used in the examples to more up-to-date style.</td></tr>\n</table>\n\n<p><br>\nThe following <font color=\"blue\"><strong>existing components</strong></font>\nhave been <font color=\"blue\"><strong>improved</strong></font> in a\n<font color=\"blue\"><strong>backward compatible</strong></font> way:\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">\n<tr><td> <strong>Modelica.*</strong> </td>\n          <td> Parameter declarations, input and output function arguments without description\n                                                strings improved<br> by providing meaningful description texts.\n                                                </td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Continuous.</strong></td></tr>\n<tr><td> TransferFunction </td>\n          <td> Internal scaling of the controller canonical states introduced\n                                                in order to enlarge the range of transfer functions where the default\n                                                relative tolerance of the simulator is sufficient.</td>\n</tr>\n\n<tr><td> Butterworth<br>CriticalDamping </td>\n          <td> Documentation improved and plots of the filter characteristics added.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Electrical.Analog.Basic.</strong></td></tr>\n<tr><td> EMF </td>\n          <td> New parameter \"useSupport\" to optionally enable a support connector.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Icons.</strong></td></tr>\n<tr><td> TranslationalSensor<br>\n                                                RotationalSensor</td>\n          <td> Removed drawing from the diagram layer (kept drawing only in\n                                                icon layer),<br> in order that this icon can be used in situations\n                                                where components are dragged in the diagram layer.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Math.Vectors.</strong></td></tr>\n<tr><td> normalize</td>\n          <td> Implementation changed, so that the result is awalys continuous<br>\n                                                (previously, this was not the case for small vectors: normalize(eps,eps)).\n                                                </td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.</strong></td></tr>\n<tr><td> </td>\n          <td> Renamed non-standard keywords defineBranch, defineRoot, definePotentialRoot,\n                                                isRooted to the standard names:<br>\n                                                Connections.branch/.root/.potentialRoot/.isRooted.</td></tr>\n<tr><td> Frames </td>\n          <td> Added annotation \"Inline=true\" to all one-line functions\n                                                (which should be all inlined).</td></tr>\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Parts.</strong></td></tr>\n<tr><td> Mounting1D<br>\n                                                Rotor1D<br>\n                                                BevelGear1D</td>\n          <td> Changed implementation so that no longer modifiers for connector\n                                                variables are used,<br>because this violates the restrictions on\n                                                \"balanced models\" of Modelica 3.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Rotational.</strong></td></tr>\n<tr><td> InitializeFlange</td>\n          <td> Changed implementation so that counting unknowns and\n                                                equations is possible without actual values of parameters.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Interfaces.Partials.</strong></td></tr>\n<tr><td>TwoPort</td>\n          <td> Introduced <code>parameter Real tapT(final min=0, final max=1)=1</code><br> that defines the temperature of the heatPort\n                                                between inlet and outlet.</td></tr>\n\n<tr><td colspan=\"2\"><strong>StateGraph.</strong></td></tr>\n<tr><td> InitialStep<br>\n                                                InitialStepWithSignal<br>\n                                                Step<br>\n                                                StepWithSignal</td>\n          <td> Changed implementation so that no longer modifiers for output\n                                                variables are used,<br>because this violates the restrictions on\n                                                \"balanced models\" of Modelica 3.</td></tr>\n\n</table>\n\n<p><br>\nThe following <font color=\"red\"><strong>critical errors</strong></font> have been fixed (i.e., errors\nthat can lead to wrong simulation results):\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">\n<tr><td colspan=\"2\"><strong>Electrical.Analog.Examples.</strong></td></tr>\n<tr><td> CauerLowPassSC </td>\n          <td> Wrong calculation of Capacitor1 both in Rn and Rp corrected\n                                                (C=clock/R instead of C=clock*R) </td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.MultiBody.Parts.</strong></td></tr>\n<tr><td> Rotor1D </td>\n          <td> The 3D reaction torque was not completely correct and gave in\n                                                some situations a wrong result. This bug should not influence the\n                                                movement of a multi-body system, but only the constraint torques\n                                                are sometimes not correct.</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Rotational.</strong></td></tr>\n<tr><td> ElastoBacklash </td>\n          <td> If the damping torque was too large, the reaction torque\n                                                could \"pull\" which is unphysical. The component was\n                                                newly written by limiting the damping torque in such a case\n                                                so that \"pulling\" torques can no longer occur. Furthermore,\n                                                during initialization the characteristics is made continuous\n                                                to reduce numerical errors. The relative angle and relative\n                                                angular velocities are used as states, if possible\n                                                (StateSelect.prefer), since relative quantities lead usually\n                                                to better behavior.  </td>\n</tr>\n<tr><td> Position<br>Speed<br>Accelerate<br>Move</td>\n          <td> The movement of the flange was wrongly defined as absolute;\n                                                this is corrected as relative to connector support.<br>\n                                                For Accelerate, it was necessary to rename\n                                                RealInput a to a_ref, as well as the start values\n                                                phi_start to phi.start and w_start to w.start.\n                                                The conversion script performs the necessary conversion of\n                                                existing models automatically.</td>\n</tr>\n<tr><td colspan=\"2\"><strong>Media.Interfaces.</strong></td></tr>\n<tr><td> PartialSimpleIdealGasMedium </td>\n          <td> Inconsistency in reference temperature corrected. This may give\n                                                different results for functions:<br>\n                                                specificEnthalpy, specificInternalEnergy, specificGibbsEnergy,\n                                                specificHelmholtzEnergy.</td>\n</tr>\n<tr><td colspan=\"2\"><strong>Media.Air.</strong></td></tr>\n<tr><td> specificEntropy </td>\n          <td> Small bug in entropy computation of ideal gas mixtures corrected.</td>\n</tr>\n<tr><td colspan=\"2\"><strong>Media.IdealGases.Common.MixtureGasNasa</strong></td></tr>\n<tr><td> specificEntropy </td>\n          <td> Small bug in entropy computation of ideal gas mixtures corrected.</td>\n</tr>\n</table>\n\n<p><br>\nThe following <font color=\"red\"><strong>uncritical errors</strong></font> have been fixed (i.e., errors\nthat do <font color=\"red\"><strong>not</strong></font> lead to wrong simulation results, but, e.g.,\nunits are wrong or errors in documentation):\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">\n<tr><td colspan=\"2\"><strong>Blocks.Tables.</strong></td></tr>\n<tr><td> CombiTable2D</td>\n          <td> Documentation improved.</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Electrica.Digital.Gates</strong></td></tr>\n<tr><td> AndGate<br>\n                                                NandGate<br>\n                                                OrGate<br>\n                                                NorGate<br>\n                                                XorGate<br>\n                                                XnorGate</td>\n          <td> The number of inputs was not correctly propagated\n                                                to the included base model.<br>\n                                                This gave a translation error, if the number\n                                                of inputs was changed (and not the default used).</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Electrica.Digital.Sources</strong></td></tr>\n<tr><td> Pulse </td>\n          <td> Model differently implemented, so that\n                                                warning message about \"cannot properly initialize\" is gone.</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Mechanics.Rotational.</strong></td></tr>\n<tr><td> BearingFriction<br>\n                                                Clutch<br>\n                                                OneWayClutch<br>\n                                                Brake<br>\n                                                Gear </td>\n          <td> Declaration of table parameter changed from\n                                                table[:,:] to table[:,2].</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.</strong></td></tr>\n<tr><td> GasForce </td>\n          <td> Unit of variable \"press\" corrected (from Pa to bar)</td>\n</tr>\n\n<tr><td colspan=\"2\"><strong>StateGraph.Examples.</strong></td></tr>\n<tr><td>SimpleFriction</td>\n          <td> The internal parameter k is defined and calculated with the appropriate unit.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Thermal.FluidHeatFlow.Interfaces.Partials.</strong></td></tr>\n<tr><td>SimpleFriction</td>\n          <td> The internal parameter k is defined and calculated with the appropriate unit.</td></tr>\n\n</table>\n\n</html>"));
end Version_3_0;