class Version_2_2_1 "Version 2.2.1 (March 24, 2006)"
    extends Modelica.Icons.ReleaseNotes;

    annotation (Documentation(info = "<html>\n\n<p>\nVersion 2.2.1 is backward compatible to version 2.2.\n</p>\n\n<p>\nIn this version, <strong>no</strong> new libraries have been added.\nThe following major improvements have been made:\n</p>\n\n<ul>\n<li> The <strong>Documentation</strong> of the Modelica standard library was\n         considerably improved:<br>\n         In Dymola 6, the new feature was introduced to automatically add tables\n         for class content and component interface definitions (parameters and\n         connectors) to the info layer. For this reason, the corresponding (partial)\n         tables previously present in the Modelica Standard Library have been\n         removed. The new feature of Dymola 6 has the significant advantage that\n         all tables are now guaranteed to be up-to-date.<br>\n         Additionally, the documentation has been improved by adding appropriate\n         description texts to parameters, connector instances, function input\n         and output arguments etc., in order that the automatically generated\n         tables do not have empty entries. Also new User's Guides for sublibraries\n         Rotational and SIunits have been added and the User's Guide on top\n         level (Modelica.UsersGuide) has been improved.<br>&nbsp;</li>\n\n<li> Initialization options have been added to the Modelica.Blocks.<strong>Continuous</strong>\n         blocks (NoInit, SteadyState, InitialState, InitialOutput). If InitialOutput\n         is selected, the block output is provided as initial condition. The states\n         of the block are then initialized as close as possible to steady state.\n         Furthermore, the Continuous.LimPID block has been significantly\n         improved and much better documented.<br>&nbsp;</li>\n\n<li> The Modelica.<strong>Media</strong> library has been significantly improved:<br>\n         New functions setState_pTX, setState_phX, setState_psX, setState_dTX\n         have been added to PartialMedium to compute the independent medium variables\n         (= state of medium) from p,T,X, or from p,h,X or from p,s,X or from\n         d,T,X. Then functions are provided for all interesting medium variables\n         to compute them from its medium state. All these functions are\n         implemented in a robust way for all media (with a few exceptions, if the\n         generic function does not make sense for a particular medium).</li>\n</ul>\n\n<p>\nThe following <strong>new components</strong> have been added to <strong>existing</strong> libraries:\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2>\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Examples.</strong></td></tr>\n<tr><td> PID_Controller</td>\n          <td> Example to demonstrate the usage of the\n                   Blocks.Continuous.LimPID block.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Math.</strong></td></tr>\n<tr><td> UnitConversions.*</td>\n          <td> New package that provides blocks for unit conversions.\n                   UnitConversions.ConvertAllBlocks allows to select all\n                   available conversions from a menu.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.</strong></td></tr>\n<tr><td> SM_ElectricalExcitedDamperCage</td>\n          <td> Electrical excited synchronous induction machine with damper cage</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Machines.BasicMachines.Components.</strong></td></tr>\n<tr><td> ElectricalExcitation </td>\n          <td> Electrical excitation for electrical excited synchronous\n                   induction machines</td></tr>\n<tr><td> DamperCage</td>\n          <td> Unsymmetrical damper cage for electrical excited synchronous\n                   induction machines. At least the user has to specify the dampers\n                   resistance and stray inductance in d-axis; if he omits the\n                   parameters of the q-axis, the same values as for the d.axis\n                   are used, assuming a symmetrical damper.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Machines.Examples.</strong></td></tr>\n<tr><td> SMEE_Gen </td>\n          <td> Test example 7: ElectricalExcitedSynchronousInductionMachine\n                   as Generator</td></tr>\n<tr><td> Utilities.TerminalBox</td>\n          <td> Terminal box for three-phase induction machines to choose\n                   either star (wye) ? or delta ? connection</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Math.Matrices.</strong></td></tr>\n<tr><td> equalityLeastSquares</td>\n          <td> Solve a linear equality constrained least squares problem:<br>\n                  min|A*x-a|^2 subject to B*x=b</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.MultiBody.</strong></td></tr>\n<tr><td> Parts.PointMass</td>\n          <td> Point mass, i.e., body where inertia tensor is neglected.</td></tr>\n<tr><td> Interfaces.FlangeWithBearing</td>\n          <td> Connector consisting of 1-dim. rotational flange and its\n                   3-dim. bearing frame.</td></tr>\n<tr><td> Interfaces.FlangeWithBearingAdaptor</td>\n          <td> Adaptor to allow direct connections to the sub-connectors\n                   of FlangeWithBearing.</td></tr>\n<tr><td> Types.SpecularCoefficient</td>\n          <td> New type to define a specular coefficient.</td></tr>\n<tr><td> Types.ShapeExtra</td>\n          <td> New type to define the extra data for visual shape objects and to\n                   have a central place for the documentation of this data.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.MultiBody.Examples.Elementary</strong></td></tr>\n<tr><td> PointGravityWithPointMasses</td>\n          <td> Example of two point masses in a central gravity field.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.Rotational.</strong></td></tr>\n<tr><td>UsersGuide</td>\n          <td> A User's Guide has been added by using the documentation previously\n                   present in the package documentation of Rotational.</td></tr>\n<tr><td>Sensors.PowerSensor</td>\n          <td> New component to measure the energy flow between two connectors\n                   of the Rotational library.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.Translational.</strong></td></tr>\n<tr><td>Speed</td>\n          <td> New component to move a translational flange\n                   according to a reference speed</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Media.Interfaces.PartialMedium.</strong></td></tr>\n<tr><td>specificEnthalpy_pTX</td>\n          <td> New function to compute specific enthalpy from pressure, temperature\n                   and mass fractions.</td></tr>\n<tr><td>temperature_phX</td>\n          <td> New function to compute temperature from pressure, specific enthalpy,\n                   and mass fractions.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Icons.</strong></td></tr>\n<tr><td> SignalBus</td>\n          <td> Icon for signal bus</td></tr>\n<tr><td> SignalSubBus</td>\n          <td> Icon for signal sub-bus</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.SIunits.</strong></td></tr>\n<tr><td>UsersGuide</td>\n          <td> A User's Guide has been added that describes unit handling.</td></tr>\n<tr><td> Resistance<br>\n                   Conductance</td>\n          <td> Attribute 'min=0' removed from these types.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Thermal.FluidHeatFlow.</strong></td></tr>\n<tr><td> Components.Valve</td>\n          <td> Simple controlled valve with either linear or\n                   exponential characteristic.</td></tr>\n<tr><td> Sources. IdealPump </td>\n          <td> Simple ideal pump (resp. fan)  dependent on the shaft's speed;\n                   pressure increase versus volume flow is defined as a linear\n                   function. Torque * Speed = Pressure increase * Volume flow\n                   (without losses).</td></tr>\n<tr><td> Examples.PumpAndValve </td>\n          <td> Test example for valves.</td></tr>\n<tr><td> Examples.PumpDropOut </td>\n          <td> Drop out of 1 pump to test behavior of semiLinear.</td></tr>\n<tr><td> Examples.ParallelPumpDropOut </td>\n          <td> Drop out of 2 parallel pumps to test behavior of semiLinear.</td></tr>\n<tr><td> Examples.OneMass </td>\n          <td> Cooling of 1 hot mass to test behavior of semiLinear.</td></tr>\n<tr><td> Examples.TwoMass </td>\n          <td> Cooling of 2 hot masses to test behavior of semiLinear.</td></tr>\n</table>\n\n<p>\nThe following <strong>components</strong> have been improved:\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2>\n<tr><td colspan=\"2\"><strong>Modelica.</strong></td></tr>\n<tr><td> UsersGuide</td>\n          <td> User's Guide and package description of Modelica Standard Library improved.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Interfaces.</strong></td></tr>\n<tr><td> RealInput<br>\n                   BooleanInput<br>\n                   IntegerInput</td>\n          <td> When dragging one of these connectors the width and height\n                   is a factor of 2 larger as a standard icon. Previously,\n                   these connectors have been dragged and then manually enlarged\n                   by a factor of 2 in the Modelica standard library.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.</strong></td></tr>\n<tr><td> Continuous.*</td>\n          <td> Initialization options added to all blocks\n                   (NoInit, SteadyState, InitialState, InitialOutput).\n                   New parameter limitsAtInit to switch off the limits\n                   of LimIntegrator or LimPID during initialization</td></tr>\n<tr><td> Continuous.LimPID</td>\n          <td> Option to select P, PI, PD, PID controller.\n                   Documentation significantly improved.</td></tr>\n<tr><td> Nonlinear.Limiter<br>\n                   Nonlinear.VariableLimiter<br>\n                   Nonlinear.Deadzone</td>\n          <td> New parameter limitsAtInit/deadZoneAtInit to switch off the limits\n                   or the dead zone during initialization</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Analog. </strong></td></tr>\n<tr><td> Sources</td>\n          <td> Icon improved (+/- added to voltage sources, arrow added to\n                   current sources).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Analog.Semiconductors. </strong></td></tr>\n<tr><td> Diode</td>\n          <td> smooth() operator included to improve numerics.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines. </strong></td></tr>\n<tr><td> SM_PermanentMagnetDamperCage<br>\n                   SM_ElectricalExcitedDamperCage<br>\n                   SM_ReluctanceRotorDamperCage</td>\n          <td> The user can choose \"DamperCage = false\" (default: true)\n                   to remove all equations for the damper cage from the model.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Machines.BasicMachines.AsynchronousInductionMachines. </strong></td></tr>\n<tr><td> AIM_SlipRing</td>\n          <td> Easier parameterization: if the user selects \"useTurnsRatio = false\"\n                   (default: true, this is the same behavior as before),\n                        parameter TurnsRatio is calculated internally from\n                        Nominal stator voltage and Locked-rotor voltage.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Math.Matrices.</strong></td></tr>\n<tr><td>leastSquares</td>\n          <td>The A matrix in the least squares problem might be rank deficient.\n                  Previously, it was required that A has full rank.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.MultiBody.</strong></td></tr>\n<tr><td>all models</td>\n          <td> <ul>\n                   <li> All components with animation information have a new variable\n                                <strong>specularCoefficient</strong> to define the reflection of ambient light.\n                                The default value is world.defaultSpecularCoefficient which has\n                                a default of 0.7. By changing world.defaultSpecularCoefficient, the\n                                specularCoefficient of all components is changed that are not\n                                explicitly set differently. Since specularCoefficient is a variable\n                                (and no parameter), it can be changed during simulation. Since\n                                annotation(Dialog) is set, this variable still appears in the\n                                parameter menus.<br>\n                                Previously, a constant specularCoefficient of 0.7 was used\n                                for all components.</li>\n                   <li> Variable <strong>color</strong> of all components is no longer a parameter\n                                but an input variable. Also all parameters in package <strong>Visualizers</strong>,\n                                with the exception of <strong>shapeType</strong> are no longer parameters but\n                                defined as input variables with annotation(Dialog). As a result,\n                                all these variables appear still in parameter menus, but they can\n                                be changed during simulation (e.g., color might be used to\n                                display the temperature of a part).</li>\n                   <li> All menus have been changed to follow the Modelica 2.2 annotations\n                                \"Dialog, group, tab, enable\" (previously, a non-standard Dymola\n                                definition for menus was used). Also, the \"enable\" annotation\n                                is used in all menus\n                                to disable input fields if the input would be ignored.</li>\n                   <li> All visual shapes are now defined with conditional declarations\n                                (to remove them, if animation is switched off). Previously,\n                                these (protected) objects have been defined by arrays with\n                                dimension 0 or 1.</li>\n                   </ul></td></tr>\n\n<tr><td>Frames.resolveRelative</td>\n          <td> The derivative of this function added as function and defined via\n                   an annotation. In certain situations, tools had previously\n                   difficulties to differentiate the inlined function automatically.</td></tr>\n\n<tr><td>Forces.*</td>\n          <td> The scaling factors N_to_m and Nm_to_m have no longer a default\n                   value of 1000 but a default value of world.defaultN_to_m (=1000)\n                   and world.defaultNm_to_m (=1000). This allows to change the\n                   scaling factors for all forces and torques in the world\n                   object.</td></tr>\n<tr><td>Interfaces.Frame.a<br>\n                  Interfaces.Frame.b<br>\n                  Interfaces.Frame_resolve</td>\n          <td> The Frame connectors are now centered around the origin to ease\n                   the usage. The shape was changed, such that the icon is a factor\n                   of 1.6 larger as a standard icon (previously, the icon had a\n                   standard size when dragged and then the icon was manually enlarged\n                   by a factor of 1.5 in the y-direction in the MultiBody library;\n                   the height of 16 allows easy positioning on the standard grid size of 2).\n                   The double line width of the border in icon and diagram layer was changed\n                   to a single line width and when making a connection the connection\n                   line is dark grey and no longer black which looks better.</td></tr>\n<tr><td>Joints.Assemblies.*</td>\n          <td> When dragging an assembly joint, the icon is a factor of 2\n                   larger as a standard icon. Icon texts and connectors have a\n                   standard size in this enlarged icon (and are not a factor of 2\n                   larger as previously).</td></tr>\n<tr><td>Types.*</td>\n          <td> All types have a corresponding icon now to visualize the content\n                   in the package browser (previously, the types did not have an icon).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.Rotational.</strong></td></tr>\n<tr><td> Inertia</td>\n          <td> Initialization and state selection added.</td></tr>\n<tr><td> SpringDamper</td>\n          <td> Initialization and state selection added.</td></tr>\n<tr><td> Move</td>\n          <td> New implementation based solely on Modelica 2.2 language\n                   (previously, the Dymola specific constrain(..) function was used).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Mechanics.Translational.</strong></td></tr>\n<tr><td> Move</td>\n          <td> New implementation based solely on Modelica 2.2 language\n                   (previously, the Dymola specific constrain(..) function was used).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Thermal.FluidHeatFlow.Interfaces.Partials.</strong></td></tr>\n<tr><td> SimpleFriction</td>\n          <td> Calculates friction losses from pressure drop and volume flow.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Thermal.FluidHeatFlow.Components.</strong></td></tr>\n<tr><td> IsolatedPipe<br>\n                   HeatedPipe</td>\n          <td> Added geodetic height as a source of pressure change;\n                   feeds friction losses as calculated by simple friction to\n                   the energy balance of the medium.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Media.Interfaces.PartialMedium.FluidConstants.</strong></td></tr>\n<tr><td>HCRIT0</td><td>Critical specific enthalpy of the fundamental\n                  equation (base formulation of the fluid medium model).</td></tr>\n<tr><td>SCRIT0</td><td>Critical specific entropy of the fundamental\n                  equation (base formulation of the fluid medium model).</td></tr>\n<tr><td>deltah</td><td>Enthalpy offset (default: 0) between the\n                  specific enthalpy of the fluid model and the user-visible\n                  specific enthalpy in the model: deltah = h_model - h_fundamentalEquation.\n</td></tr>\n<tr><td>deltas</td><td>Entropy offset (default: 0) between the\n                  specific entropy of the fluid model and the user-visible\n                  specific entropy in the model: deltas = s_model - s_fundamentalEquation.</td></tr>\n<tr><td>T_default</td><td>Default value for temperature of medium (for initialization)</td></tr>\n<tr><td>h_default</td><td>Default value for specific enthalpy of medium (for initialization)</td></tr>\n<tr><td>p_default</td><td>Default value for pressure of medium (for initialization)</td></tr>\n<tr><td>X_default</td><td>Default value for mass fractions of medium (for initialization)</td></tr>\n</table>\n<p>\nThe following <strong>errors</strong> have been fixed:\n</p>\n\n<table border=\"1\" cellspacing=0 cellpadding=2>\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Tables.</strong></td></tr>\n<tr><td>CombiTable1D<br>\n                  CombiTable1Ds<br>\n                  CombiTable2D</td>\n          <td> Parameter \"tableOnFile\" determines now whether a table is read from\n                   file or used from parameter \"table\". Previously, if \"fileName\" was not\n                   \"NoName\", a table was always read from file \"fileName\", independently\n                   of the setting of \"tableOnFile\". This has been corrected.<br>\n                   Furthermore, the initialization of a table is now performed in a\n                   when-clause and no longer in a parameter declaration, because some\n                   tools evaluate the parameter declaration in some situation more than\n                   once and then the table is unnecessarily read several times\n                   (and occupies also more memory).</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Blocks.Sources.</strong></td></tr>\n<tr><td>CombiTimeTable</td>\n          <td> Same bug fix/improvement as for the tables from Modelica.Blocks.Tables\n                   as outlined above.</td></tr>\n\n<tr><td colspan=\"2\"><strong>Modelica.Electrical.Analog.Semiconductors. </strong></td></tr>\n<tr><td> PMOS<br>\n                   NMOS<br>\n                   HeatingPMOS<br>\n                   HeatingNMOS</td>\n          <td> The Drain-Source-Resistance RDS had actually a resistance of\n                   RDS/v, with v=Beta*(W+dW)/(L+dL). The correct formula is without\n                   the division by \"v\". This has now been corrected.<br>\n                   This bug fix should not have an essential effect in most applications.\n                   In the default case (Beta=1e-5), the Drain-Source-Resistance was\n                   a factor of 1e5 too large and had in the default case the\n                   wrong value 1e12, although it should have the value 1e7. The effect\n                   was that this resistance had practically no effect.</td></tr>\n\n<tr><td colspan=\"2\"> <strong>Modelica.Media.IdealGases.Common.SingleGasNasa.</strong></td></tr>\n<tr><td> dynamicViscosityLowPressure</td>\n          <td> Viscosity and thermal conductivity (which needs viscosity as input)\n                   were computed wrong for polar gases and gas mixtures\n                   (i.e., if dipole moment not 0.0). This has been fixed in version 2.2.1.</td></tr>\n<tr><td colspan=\"2\"><strong>Modelica.Utilities.Streams.</strong></td></tr>\n<tr><td>readLine</td>\n          <td> Depending on the C-implementation, the stream was not correctly closed.\n                   This has been corrected by adding a \"Streams.close(..)\"\n                   after reading the file content.</td></tr>\n\n</table>\n</html>"));
end Version_2_2_1;