within ;
package Modelica "Modelica Standard Library (Version 3.0.1 development)"
extends Icons.Library;


annotation (
  preferredView="info",
  version="3.0.1 development",
  versionBuild="$Rev$",
  versionDate="$Date::                            $",
  conversion(
    from(version="2.1", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"),
    from(version="2.2", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"),
    from(version="2.2.1", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"),
    from(version="2.2.2", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos")),
  Settings(NewStateSelection=true),
  Documentation(info="<HTML>
<p>
Package <b>Modelica</b> is a <b>standardized</b> and <b>free</b> package
that is developed together with the Modelica language from the
Modelica Association, see
<a href=\"http://www.Modelica.org\">http://www.Modelica.org</a>.
It is also called <b>Modelica Standard Library</b>.
It provides model components in many domains that are based on 
standardized interface definitions. Some typical examples are shown
in the next figure:
</p>
 
<p>
<img src=\"../Images/UsersGuide/ModelicaLibraries.png\">
</p>
 
<p>
For an introduction, have especially a look at:
</p>
<ul>
<li> <a href=\"Modelica://Modelica.UsersGuide.Overview\">Overview</a>
     provides an overview of the Modelica Standard Library
     inside the <a href=\"Modelica://Modelica.UsersGuide\">User's Guide</a>.</li>
<li><a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes\">Release Notes</a>
    summarizes the changes of new versions of this package.</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.Contact\">Contact</a>
     lists the contributors of the Modelica Standard Library.</li>
<li> <a href=\"../help/Documentation/ModelicaStandardLibrary.pdf\">ModelicaStandardLibrary.pdf</a>
     is the complete documentation of the library in pdf format.
<li> The <b>Examples</b> packages in the various libraries, demonstrate
     how to use the components of the corresponding sublibrary.</li>
</ul>
 
<p>
This version of the Modelica Standard Library consists of
</p>
<ul>
<li> <b>777</b> models and blocks, and</li>
<li> <b>549</b> functions
</ul>
<p>
that are directly usable (= number of public, non-partial classes).
</p>
 
<p>
Copyright &copy; 1998-2008, Modelica Association.
</p>
<p>
<i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified
under the terms of the <b>Modelica license</b>, see the license conditions
and the accompanying <b>disclaimer</b> 
<a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i>
</p>
</HTML>
"));


package UsersGuide "User's Guide of Modelica library"

  annotation (__Dymola_DocumentationClass=true, Documentation(info="<html>
<p>
Package <b>Modelica</b> is a <b>standardized</b> and <b>pre-defined</b> package
that is developed together with the Modelica language from the
Modelica Association, see
<a href=\"http://www.Modelica.org\">http://www.Modelica.org</a>.
It is also called <b>Modelica Standard Library</b>.
It provides constants, types, connectors, partial models and model
components in various disciplines.
</p>
<p>
This is a short <b>User's Guide</b> for 
the overall library. Some of the main sublibraries have their own
User's Guides that can be accessed by the following links:
</p>

<table border=1 cellspacing=0 cellpadding=2>
<tr><td valign=\"top\"><a href=\"Modelica://Modelica.Electrical.Digital.UsersGuide\">Digital</a>
    </td>
      <td valign=\"top\">Library for digital electrical components based on the VHDL standard 
         (2-,3-,4-,9-valued logic)</td>
  </tr>
  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.MultiBody.UsersGuide\">MultiBody</a>
             </td>
      <td valign=\"top\">Library to model 3-dimensional mechanical systems</td>
  </tr>

  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.Rotational.UsersGuide\">Rotational</a>
             </td>
      <td valign=\"top\">Library to model 1-dimensional mechanical systems</td>
  </tr>

  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Media.UsersGuide\">Media</a>
             </td>
      <td valign=\"top\">Property models of media</td>
  </tr>
  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.SIunits.UsersGuide\">SIunits</a> </td>
      <td valign=\"top\">Type definitions based on SI units according to ISO 31-1992</td>
  </tr>

  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.StateGraph.UsersGuide\">StateGraph</a>
             </td>
      <td valign=\"top\">Library to model discrete event and reactive systems by hierarchical state machines</td>
  </tr>


  <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Utilities.UsersGuide\">Utilities</a>
             </td>
      <td valign=\"top\">Utility functions especially for scripting (Files, Streams, Strings, System)</td>
  </tr>
</table>

</html>"));

  class Overview "Overview of Modelica Library"

    annotation (Documentation(info="<html>
<p>
The Modelica Standard Library consists of the following
main sub-libraries:
</p>

<table border=1 cellspacing=0 cellpadding=2>
<tr><th>Library Components</th> <th>Description</th></tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Electrical.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Electrical.Analog\">Analog</a><br>
    Analog electric and electronic components, such as <br> 
    resistor, capacitor, transformers, diodes, transistors,<br>
    transmission lines, switches, sources, sensors.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Digital.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Electrical.Digital\">Digital</a><br>
    Digital electrical components based on the VHDL standard, <br>
    like basic logic blocks with 9-value logic, delays, gates, <br>
    sources, converters between 2-, 3-, 4-, and 9-valued logic.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Machines.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Electrical.Machines\">Machines</a><br>
    Electrical asynchronous-, synchronous-, and DC-machines<br>
    (motors and generators) as well as 3-phase transformers.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Translational.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Mechanics.Translational\">Translational</a><br>
    1-dim. mechanical, translational systems, e.g.,  <br>
    sliding mass, mass with stops, spring, damper.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Rotational.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Mechanics.Rotational\">Rotational</a><br>
    1-dim. mechanical, rotational systems, e.g., inertias, gears, <br>
    planetary gears, convenient definition of speed/torque dependent friction<br>
    (clutches, brakes, bearings, ..)
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-MultiBody1.png\"><br>
    <img src=\"../Images/UsersGuide/Lib-MultiBody2.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Mechanics.MultiBody\">MultiBody</a><br>
    3-dim. mechanical systems consisting of joints, bodies, force and <br>
    sensor elements. Joints can be driven by drive trains defined by<br>
    1-dim. mechanical system library (Rotational).<br>
    Every component has a default animation.<br>
    Components can be arbitrarily connected together.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Media.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Media\">Media</a><br>
    Large media library providing models and functions<br>
    to compute media properties, such as h = h(p,T), d = d(p,T),<br>
    for the following media:
    <ul>
    <li> 1240 gases and mixtures between these gases.</li>
    <li> incompressible, table based liquids (h = h(T), etc.).</li>
    <li> compressible liquids</li>
    <li> dry and moist air</li>
    <li> high precision model for water (IF97).</li>
    </ul>
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Thermal.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Thermal.FluidHeatFlow\">FluidHeatFlow</a>, 
    <a href=\"Modelica://Modelica.Thermal.HeatTransfer\">HeatTransfer</a><br>
    Simple thermo-fluid pipe flow, especially to model cooling of machines <br>
    with air or water (pipes, pumps, valves, ambient, sensors, sources) and<br>
    lumped heat transfer with heat capacitors, thermal conductors, convection,<br>
    body radiation, sources and sensors.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-Blocks1.png\"><br>
    <img src=\"../Images/UsersGuide/Lib-Blocks2.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Blocks\">Blocks</a><br>
    Input/output blocks to model block diagrams and logical networks, e.g.,<br>
    integerator, PI, PID, transfer function, linear state space system,<br>
    sampler, unit delay, discrete transfer function, and/or blocks,<br>
    timer, hysteresis, nonlinear and routing blocks, sources, tables.
    </td>
</tr>

<tr><td valign=\"top\"> 
    <img src=\"../Images/UsersGuide/Lib-StateGraph.png\">
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.StateGraph\">StateGraph</a><br>
    Hierarchical state machines with a similar modeling power as Statecharts. <br>
    Modelica is used as synchronous action language, i.e. deterministic <br>
    behavior is guaranteed
    </td>
</tr>


<tr><td valign=\"top\"> 
    <pre>
    A = [1,2,3; 
         3,4,5;
         2,1,4];
    b = {10,22,12};
    x = Matrices.solve(A,b); 
    Matrices.eigenValues(A); 
    </pre>
    </td>
    <td valign=\"top\">
    <a href=\"Modelica://Modelica.Math\">Math</a>, 
    <a href=\"Modelica://Modelica.Utilities\">Utilities</a><br>
    Functions operating on vectors and matrices, such as for solving <br>
    linear systems, eigen and singular values etc.,  and <br>
    functions operating on strings, streams, files, e.g., <br>
    to copy and remove a file or sort a vector of strings.
    </td>
</tr>

</table>

</html>
"));
  end Overview;

  class Connectors "Connectors"

    annotation (Documentation(info="<html>

<p>
The Modelica standard library defines the most important 
<b>elementary connectors</b> in various domains. If any possible, 
a user should utilize these connectors in order that components
from the Modelica Standard Library and from other libraries
can be combined without problems. The following elementary
connectors are defined (potential variables are connector variables
without the flow attribute, flow variables are connector variables
that have the flow attribute):
</p>
 
<table border=1 cellspacing=0 cellpadding=1>
  <tr><td valign=\"top\"><b>domain</b></td>
      <td valign=\"top\"><b>pot. variables</b></td>
      <td valign=\"top\"><b>flow variables</b></td>
      <td valign=\"top\"><b>connector definition</b></td>
      <td valign=\"top\"><b>icons</b></td></tr>
 
  <tr><td valign=\"top\"><b>electrical<br>analog</b></td>
      <td valign=\"top\">electrical potential</td>
      <td valign=\"top\">electrical current</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Electrical.Analog.Interfaces\">Modelica.Electrical.Analog.Interfaces</a>
           <br>Pin, PositivePin, NegativePin</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/ElectricalPins.png\"></td></tr>

  <tr><td valign=\"top\"><b>electrical<br>multi-phase</b></td>
      <td colspan=\"2\">vector of electrical pins</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Electrical.MultiPhase.Interfaces\">Modelica.Electrical.MultiPhase.Interfaces</a>
           <br>Plug, PositivePlug, NegativePlug</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/ElectricalPlugs.png\"></td></tr>
  
  <tr><td valign=\"top\"><b>electrical <br>sphace phasor</b></td>
      <td valign=\"top\">2 electrical potentials</td>
      <td valign=\"top\">2 electrical currents</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Electrical.Machines.Interfaces\">Modelica.Electrical.Machines.Interfaces</a>
           <br>SpacePhasor</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/SpacePhasor.png\"></td></tr>
  
  <tr><td valign=\"top\"><b>electrical <br>digital</b></td>
      <td valign=\"top\">Integer (1..9)</td>
      <td valign=\"top\">---</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Electrical.Digital.Interfaces\">Modelica.Electrical.Digital.Interfaces</a>
           <br>DigitalSignal, DigitalInput, DigitalOutput</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/Digital.png\"></td></tr>
  
  <tr><td valign=\"top\"><b>translational</b></td>
      <td valign=\"top\">distance</td>
      <td valign=\"top\">cut-force</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.Translational.Interfaces\">Modelica.Mechanics.Translational.Interfaces</a>
           <br>Flange_a, Flange_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/TranslationalFlanges.png\"></td></tr>
 
  <tr><td valign=\"top\"><b>rotational</b></td>
      <td valign=\"top\">angle</td>
      <td valign=\"top\">cut-torque</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.Rotational.Interfaces\">Modelica.Mechanics.Rotational.Interfaces</a>
           <br>Flange_a, Flange_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/RotationalFlanges.png\"></td></tr>

  <tr><td valign=\"top\"><b>3-dim.<br>mechanics</b></td>
      <td valign=\"top\">position vector<br>
          orientation object</td>
      <td valign=\"top\">cut-force vector<br>
          cut-torque vector</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.MultiBody.Interfaces\">Modelica.Mechanics.MultiBody.Interfaces</a>
           <br>Frame, Frame_a, Frame_b, Frame_resolve</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/MultiBodyFrames.png\"></td></tr>

  <tr><td valign=\"top\"><b>simple<br>fluid flow</b></td>
      <td valign=\"top\">pressure<br>
          specific enthalpy</td>
      <td valign=\"top\">mass flow rate<br>
          enthalpy flow rate</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Thermal.FluidHeatFlow.Interfaces\">Modelica.Thermal.FluidHeatFlow.Interfaces</a>
           <br>FlowPort, FlowPort_a, FlowPort_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/FluidHeatFlowPorts.png\"></td></tr>

  <tr><td valign=\"top\"><b>heat<br>transfer</b></td>
      <td valign=\"top\">temperature</td>
      <td valign=\"top\">heat flow rate</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Thermal.HeatTransfer.Interfaces\">Modelica.Thermal.HeatTransfer.Interfaces</a>
           <br>HeatPort, HeatPort_a, HeatPort_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/ThermalHeatPorts.png\"></td></tr>
 
  <tr><td valign=\"top\"><b>block<br>diagram</b></td>
      <td valign=\"top\">Real variable<br>
          Integer variable<br>
          Boolean variable</td>
      <td valign=\"top\">---</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.Blocks.Interfaces\">Modelica.Blocks.Interfaces</a>
           <br>RealSignal, RealInput, RealOutput<br>
               IntegerSignal, IntegerInput, IntegerOutput<br>
               BooleanSignal, BooleanInput, BooleanOutput</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/Signals.png\"></tr>

  <tr><td valign=\"top\"><b>state<br>machine</b></td>
      <td valign=\"top\">Boolean variables<br>
          (occupied, set, <br>
           available, reset)</td>
      <td valign=\"top\">---</td>
      <td valign=\"top\"><a href=\"Modelica://Modelica.StateGraph.Interfaces\">Modelica.StateGraph.Interfaces</a>
           <br>Step_in, Step_out, Transition_in, Transition_out</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/StateGraphPorts.png\"></td></tr>

  <tr><td colspan=\"5\">&nbsp;<br><b>Connectors from libraries that will be included in one of 
                                   the next releases of package Modelica</b></td></tr>

  <tr><td valign=\"top\"><b>thermo<br>fluid flow</b></td>
      <td valign=\"top\">pressure<br>
          specific enthalpy<br>
          mass fractions</td>
      <td valign=\"top\">mass flow rate<br>
          enthalpy flow rate<br>
          subst. mass flow rates</td>
      <td valign=\"top\">Modelica_Fluid.Interfaces
           <br>FluidPort, FluidPort_a, FluidPort_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/FluidPorts.png\"></td></tr>

  <tr><td valign=\"top\"><b>magnetic</b></td>
      <td valign=\"top\">magnetic potential</td>
      <td valign=\"top\">magnetic flux</td>
      <td valign=\"top\">Magnetic.Interfaces
           <br>MagneticPort, PositiveMagneticPort, <br>NegativeMagneticPort</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/MagneticPorts.png\"></td></tr>


  <tr><td colspan=\"5\">&nbsp;<br><b>Connectors from other libraries</b></td></tr>

  <tr><td valign=\"top\"><b>hydraulic</b></td>
      <td valign=\"top\">pressure</td>
      <td valign=\"top\">volume flow rate</td>
      <td valign=\"top\">HyLibLight.Interfaces
           <br>Port_A, Port_b</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/HydraulicPorts.png\"></td></tr>

  <tr><td valign=\"top\"><b>pneumatic</b></td>
      <td valign=\"top\">pressure</td>
      <td valign=\"top\">mass flow rate</td>
      <td valign=\"top\">PneuLibLight.Interfaces
           <br>Port_1, Port_2</td>
      <td valign=\"top\"><img src=\"../Images/UsersGuide/PneumaticPorts.png\"></td></tr>
</table>

<p>
In all domains, usually 2 connectors are defined. The variable declarations
are <b>identical</b>, only the icons are different in order that it is easy
to distinguish connectors of the same domain that are attached at the same
component.
</p>

<p>
Modelica supports also hierarchical connectors, in a similar way as hierarchical models. 
As a result, it is, e.g., possible, to collect elementary connectors together. 
For example, an electrical plug consisting of two electrical pins can be defined as:
</p>

<pre>   <b>connector</b> Plug
      <b>import</b> Modelica.Electrical.Analog.Interfaces;
      Interfaces.PositivePin phase;
      Interfaces.NegativePin ground;
   <b>end</b> Plug;
</pre>

<p>
With one connect(..) equation, either two plugs can be connected 
(and therefore implicitly also the phase and ground pins) or a 
Pin connector can be directly connected to the phase or ground of 
a Plug connector, such as \"connect(resistor.p, plug.phase)\".
</p>


</html>
"));
  end Connectors;

  class Conventions "Conventions"

    annotation (Documentation(info="<html>

<p>
Note, in the html documentation of any Modelica library, 
the headings \"h1, h2, h3\" should not be used,
because they are utilized from the automatically generated documentation/headings.
Additional headings in the html documentation should start with \"h4\".
</p>

<p>
In the Modelica package the following conventions are used:
</p>
<ol>
<li> Class and instance names are written in upper and lower case
     letters, e.g., \"ElectricCurrent\". An underscore is only used
     at the end of a name to characterize a lower or upper index,
     e.g., \"pin_a\".<br>&nbsp;</li>

<li> <b>Class names</b> start always with an upper case letter.<br>&nbsp;</li>

<li> <b>Instance names</b>, i.e., names of component instances and
     of variables (with the exception of constants), 
     start usually with a lower case letter with only
     a few exceptions if this is common sense 
     (such as \"T\" for a temperature variable).<br>&nbsp;</li>

<li> <b>Constant names</b>, i.e., names of variables declared with the
     \"constant\" prefix, follow the usual naming conventions 
     (= upper and lower case letters) and start usually with an 
     upper case letter, e.g. UniformGravity, SteadyState.<br>&nbsp;<li>

<li> The two connectors of a domain that have identical declarations
     and different icons are usually distinguished by \"_a\", \"_b\"
     or \"_p\", \"_n\", e.g., Flange_a/Flange_b, HeatPort_a, HeatPort_b.<br>&nbsp;</li>

<li> The <b>instance name</b> of a component is always displayed in its icon
     (= text string \"%name\") in <b>blue color</b>. A connector class has the instance
     name definition in the diagram layer and not in the icon layer.
     <b>Parameter</b> values, e.g., resistance, mass, gear ratio, are displayed
     in the icon in <b>black color</b> in a smaller font size as the instance name.
    <br>&nbsp;<li>

<li> A main package has usually the following subpackages:
     <ul>
     <li><b>UsersGuide</b> containing an overall description of the library
         and how to use it.</li>  
     <li><b>Examples</b> containing models demonstrating the
         usage of the library.</li>  
     <li><b>Interfaces</b> containing connectors and partial
         models.</li>  
     <li><b>Types</b> containing type, enumeration and choice
         definitions.</li>
     </ul>
     </li>
</ol>

</html>
"));
  end Conventions;

  class ParameterDefaults "Parameter defaults"

    annotation (Documentation(info="<html>

<p>
In this section the convention is summarized how default parameters are
handled in the Modelica Standard Library (since version 3.0).
</p>

<p>
Many models in this library have parameter declarations to define
constants of a model that might be changed before simulation starts.
Example:
</p>

<blockquote>
<pre>
<b>model</b> SpringDamper
   <b>parameter</b> Real c(final unit=\"N.m/rad\")    = 1e5 \"Spring constant\";
   <b>parameter</b> Real d(final unit=\"N.m.s/rad\")  = 0   \"Damping constant\";
   <b>parameter</b> Modelica.SIunits.Angle phi_rel0 = 0   \"Unstretched spring angle\";
   ...
<b>end</b> SpringDamper;
</pre>
</blockquote>

<p>
In Modelica it is possible to define a default value of a parameter in
the parameter declaration. In the example above, this is performed for
all parameters. Providing default values for all parameters can lead to
errors that are difficult to detect, since a modeler may have forgotten
to provide a meaningful value (the model simulates but gives wrong
results due to wrong parameter values). In general the following basic
situations are present:
</p>

<ol>
<li> The parameter value could be anything (e.g., a spring constant or
     a resistance value) and therefore the user should provide a value in
     all cases. A Modelica translator should warn, if no value is provided.
     <br><br></li>

<li> The parameter value is not changed in &gt; 95 % of the cases
     (e.g. initialization or visualization parameters, or parameter phi_rel0
     in the example above). In this case a default parameter value should be
     provided, in order that the model or function can be conveniently
     used by a modeler.
     <br><br></li>

<li> A modeler would like to quickly utilize a model, e.g.,
     <ul>
     <li> to automatically check that the model still translates and/or simulates
          (after some changes in the library),</li>
     <li> to make a quick demo of a library by drag-and-drop of components,</li>
     <li> to implement a simple test model in order to get a better understanding
          of the desired component.</li>
     </ul>
     In all these cases, it would be not practical, if the modeler would
     have to provide explicit values for all parameters first.
     </li>
</ol>

<p>
To handle the conflicting goals of (1) and (3), the Modelica Standard Library
uses two approaches to define default parameters, as demonstrated with the
following example:
</p>

<blockquote>
<pre>
<b>model</b> SpringDamper
   <b>parameter</b> Real c(final unit=\"N.m/rad\"  , start=1e5) \"Spring constant\";
   <b>parameter</b> Real d(final unit=\"N.m.s/rad\", start=  0) \"Damping constant\";
   <b>parameter</b> Modelica.SIunits.Angle phi_rel0 = 0       \"Unstretched spring angle\";
   ...
<b>end</b> SpringDamper;

SpringDamper sp1;              // warning for \"c\" and \"d\"
SpringDamper sp2(c=1e4, d=0);  // fine, no warning
</pre>
</blockquote>

<p>
Both definition forms, using a \"start\" value (for \"c\" and \"d\") and providing
a declaration equation (for \"phi_rel0\"), are valid Modelica and define the value
of the parameter. By convention, it is expected that Modelica translators will
trigger a warning message for parameters that are <b>not</b> defined by a declaration
equation, by a modifier equation or in an initial equation/algorithm section. 
A Modelica translator might have options to change this behavior, especially,
that no messages are printed in such cases and/or that an error is triggered
instead of a warning.
</p>

</html>
"));
  end ParameterDefaults;

  package ReleaseNotes "Release notes"
  class Version_3_0_1_development "Version 3.0.1 (development)"

      annotation (Documentation(info="<html>

<p><br>
The following <b style=\"color:blue\">new components</b> have been added 
to <b style=\"color:blue\">existing</b> libraries:
</p>

<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Components.Examples.</b></td></tr>
  <tr><td valign=\"top\">Brake</td>
      <td valign=\"top\"> Demonstrates the usage of the translational brake component.</td> </tr>
</table>


<p><br>
The following <b style=\"color:blue\">existing components</b>
have been <b style=\"color:blue\">changed</b> (in a
<b style=\"color:blue\">backward compatible</b> way):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Components.Examples.</b></td></tr>
  <tr><td valign=\"top\"> Friction </td>
      <td valign=\"top\"> Added a third variant, where friction is modelled with
                        the SupportFriction component.</td> </tr>
</table>


<p><br>
The following <b style=\"color:red\">critical errors</b> have been fixed (i.e. errors
that can lead to wrong simulation results):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Forces</b></td></tr>
  <tr><td valign=\"top\"> WorldTorque </td>
      <td valign=\"top\"> Parameter \"ResolveInFrame\" was not propagated and therefore
                        always the default (resolved in world frame) was used, independently
                        of the setting of this parameter. </td> 
  </tr>
  <tr><td valign=\"top\"> WorldForceAndTorque </td>
      <td valign=\"top\"> Parameter \"ResolveInFrame\" was not propagated and therefore
                        always the default (resolved in world frame) was used, independently
                        of the setting of this parameter.<br>
                        Furthermore, internally WorldTorque was used instead of
                        Internal.BasicWorldTorque and therefore the visualization of
                        worldTorque was performed twice. </td> 
  </tr>
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Sensors</b></td></tr>
  <tr><td valign=\"top\"> AbsoluteSensor </td>
      <td valign=\"top\"> Velocity, acceleration and angular acceleration were computed
                          by differentiating in the resolveInFrame frame. This has been corrected, by
                          first transforming the vectors in to the world frame, differentiating here
                          and then transforming into resolveInFrame. The parameter in the Advanced menue
                          resolveInFrameAfterDifferentiation is then superfluous and was removed . </td> 
  </tr>
  <tr><td valign=\"top\"> AbsoluteVelocity </td>
      <td valign=\"top\"> The velocity was computed
                          by differentiating in the resolveInFrame frame. This has been corrected, by
                          first transforming the velocity in to the world frame, differentiating here
                          and then transforming into resolveInFrame </td> 
  </tr>
  <tr><td valign=\"top\"> RelativeSensor </td>
      <td valign=\"top\"> If resolveInFrame &lt;&gt; frame_resolve and 
                           resolveInFrameAfterDifferentiation = frame_resolve, a translation
                        error occured, since frame_resolve was not enabled in this situation.
                        This has been corrected.</td> 
  </tr>
  <tr><td valign=\"top\"> RelativeVelocity </td>
      <td valign=\"top\"> The velocity has have been computed
                          by differentiating in the resolveInFrame frame. This has been corrected, by
                          first transforming the relative position in to frame_a, differentiating here
                          and then transforming into resolveInFrame </td> 
  </tr>
  <tr><td valign=\"top\"> TransformRelativeVector </td>
      <td valign=\"top\"> The transformation was wrong, since the parameters frame_r_in and frame_r_out
                        have not been propagated to the submodel that performs the transformation.
                        This has been corrected. </td> 
  </tr>
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Components.</b></td></tr>
  <tr><td valign=\"top\"> SupportFriction<br>
                        Brake </td>
      <td valign=\"top\"> The sign of the friction force was wrong and therefore friction accelerated
                        instead of decelerated. This was fixed. </td> 
  </tr>
</table>
 
 
<p><br>
The following <b style=\"color:red\">uncritical errors</b> have been fixed (i.e. errors
that do <b style=\"color:red\">not</b> lead to wrong simulation results, but, e.g., 
units are wrong or errors in documentation):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Math.</b></td></tr>
  <tr><td valign=\"top\"> InverseBlockConstraint </td>
      <td valign=\"top\"> Changed annotation preserveAspectRatio from true to false.</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Blocks.Sources.</b></td></tr>
  <tr><td valign=\"top\"> RealExpression<br>
                        IntegerExpression<br>
                        BooleanExpression </td>
      <td valign=\"top\"> Changed annotation preserveAspectRatio from true to false.</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Electrical.Analog.Basic.</b></td></tr>
  <tr><td valign=\"top\"> SaturatingInductor</td>
      <td valign=\"top\"> Replaced non-standard \"arctan\" by \"atan\" function.</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Rotational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialFriction </td>
      <td valign=\"top\"> Corrected and simplified parameterized curve description.
                        The previous formulation could lead to an inconsistent mixed system
                        of equations if peak > 1 and then an additional event iteration
                        was needed to find the solution. The change therefore enhances
                        efficiency in some situations. </td> 
  </tr>
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialFriction </td>
      <td valign=\"top\"> Corrected and simplified parameterized curve description.
                        The previous formulation could lead to an inconsistent mixed system
                        of equations if peak > 1 and then an additional event iteration
                        was needed to find the solution. The change therefore enhances
                        efficiency in some situations. </td> </tr>
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Components.</b></td></tr>
  <tr><td valign=\"top\"> MassWithStopAndFriction </td>
      <td valign=\"top\"> Corrected and simplified parameterized curve description.
                        The previous formulation could lead to an inconsistent mixed system
                        of equations if peak > 1 and then an additional event iteration
                        was needed to find the solution. The change therefore enhances
                        efficiency in some situations. </td> </tr>
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialSimpleMedium</b></td></tr>
  <tr><td valign=\"top\"> pressure<br> 
                        temperature<br>
                        density<br>
                        specificEnthalpy </td>
      <td valign=\"top\"> Missing functions added.</td> 
  </tr>
</table>
                       
                               
</html>"));
  end Version_3_0_1_development;

    annotation (Documentation(info="<html>

<p>
This section summarizes the changes that have been performed
on the Modelica standard library.
</p>

<ul>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_3_0\">Version 3.0</a> (Jan., 2008)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_2_2_2\">Version 2.2.2</a> (Aug. 31, 2007)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_2_2_1\">Version 2.2.1</a> (March 24, 2006)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_2_2\">Version 2.2</a> (April 6, 2005)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_2_1\">Version 2.1</a> (Nov. 11, 2004)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_1_6\">Version 1.6</a> (June 21, 2004)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_1_5\">Version 1.5</a> (Dec. 16, 2002)</li>
<li> <a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes.Version_1_4\">Version 1.4</a> (June 28, 2001
     and previous versions)</li>
</ul>

<p>
Maintenance of the Modelica Standard Library is performed with
three branches on the subversion server of the Modelica Association:
</p>

<h4>Released branch</h4>
<p>
Example: \"Modelica/tags/V2_2_1/Modelica\"
</p>

<p>
This branch contains the released Modelica versions (e.g. version 2.2.1),
where all available test cases and compatibility checks with other Modelica
libraries have been performed on the respective release. This version is
usually shipped with a Modelica modelling and simulation environment and
utilized by a Modelica user.
</p>

<h4>Development branch</h4>
<p>
Example: \"Modelica/trunk/Modelica\"
</p>

<p>
This branch contains the actual development version, i.e., all bug fixes
and new features based on the last Modelica release.
New features should have been tested before including them.
However, the exhaustive tests for a new version are (usually) not performed.
This version is usually only be used by the developers of the
Modelica Standard Library and is not utilized by Modelica users.
</p>


<h4>Maintenance branch</h4>
<p>
Example: \"Modelica/branches/maintenance/2.2.1/Modelica\"
</p>

<p>
This branch contains the released Modelica version (e.g. version 2.2.1)
where all bug fixes since this release date are included (up to a  new release,
when becoming available; i.e., after a new release, the previous maintenance
versions are no longer changed).
These bug fixes might be not yet tested with all test cases or with
other Modelica libraries. The goal is that a vendor may take this version at
any time for a new release of its software, in order to incorporate the latest
bug fixes, without changing the version number of the Modelica Standard Library.
</p>

<p>
Incorporation of bug fixes (subversion \"commit\") shall be performed in the following way:
</p>

<ul>
<li> One person is fixing the bug and another person is checking whether the 
     fix is fine.</li>
<li> It is up to the library developer, whether he opens a new branch for
     testing and then merges it with the \"head\" maintenance branch or not.</li>
<li> Every change to the maintenance branch has to be done at the development 
     branch (see above) as well.</li>
<li> Every change to the maintenance branch requires introducing a
     description of the bug fix under
     Modelica.UsersGuide.ReleaseNotes.&lt;release-number&gt;_bugFixes.</li>
<li> Every change to the maintenance branch requires changing the date 
     and the subversion build number in the version annotation. This is automatically
     performed once a committ of file Modelica\\package.mo is performed.
     Example:<br>
     <pre>annotation(version=\"3.0\", versionBuild=\"$Rev$\",versionDate=\"$Date::                            $\").</pre></li>
<li> If time does not permit, a vendor makes the bug fix in its local version
     and then has to include it in the maintenance version. It would be best to make these
     changes at a new branch in order to get a unique release number.</li>
</ul>

<p>
A valid \"commit\" to the maintenance branch may contain one or
more of the following changes.
</p>

<ul>
<li> Correcting an equation.</li>
<li> Correcting attributes quantity/unit/defaultUnit in a declaration.</li>
<li> Improving/fixing the documentation.</li>
<li> Introducing a new name in the public section of a class
     (model, package, ...) or in any section of a partial class is <b>not</b> allowed.
     Since otherwise, a user might use this new name and when storing its model
     and loading it with an older build-version, an error would occur.</li>
<li> Introducing a new name in the protected section of a non-partial
     class should only be done if absolutely necessary to fix a bug. 
     The problem is that this might be non-backward compatible,
     because a user might already extend from this class and already using the same name.</li> 
</ul>
</html>
"));

  class Version_3_0 "Version 3.0 (Feb., 2008)"

      annotation (Documentation(info="<html>
<p>
Version 3.0 is <b>not</b> backward compatible to previous versions.
A conversion script is provided to transform models and libraries
of previous versions to the new version. Therefore, conversion 
should be automatic.
</p>

<p>
The following changes are present for the whole library:
</p>

<ul>
<li> In the Modelican language version 3.0, several restrictions have been
     introduced to allow better checking, e.g., models on all levels must be balanced
     (number of equations = number of unknown variables - unknown variables that have
     to be defined when using the component). A few models of the Modelica
     Standard Library did not fulfill these new restrictions and had
     either to be moved to library ObsoleteModelica3 (e.g. Blocks.Math.TwoInputs)
     or had to be differently implemented 
     (e.g. Media.Interfaces.PartialMedium.BaseProperties).
     The Modelica Standard Library version 3.0 fulfills all the restrictions of
     the Modelica Language version 3.0.<br>&nbsp;
     </li>

<li> The graphical annotations describing the layout of icon and diagram layer
     are changed from Modelica language version 1 to Modelica language version 3.
     This gives several significant improvements:<br>Especially, the coordinate systems
     of icon and diagram layers are no longer coupled and therefore the size of the
     icon layer can be changed independently of the size of the diagram layer.
     Also it can be defined that the aspect ratio of a component icon is kept when changing
     its size in a model. This flag is set so that all icons of the Modelica
     Standard Library keep its aspect ratios. This is slightly non-backward compatible:
     If the aspect ratio was not kept when using a component from the Modelica
     Standard Library, it is now resized so that the aspect ratio is maintained.<br>&nbsp; </li>

<li> All non-standard annotations removed by:<br>
     (1) Removing the annotation since without effect 
         (e.g., \"experimentSetupOutput\", \"Window\", \"Terminal\" removed).<br>
     (2) Renaming the annotation to a standard name (e.g., \"Hide\" renamed to \"HideResult\").<br>
     (3) Renaming the annotation to a vendor specific name 
         (e.g., \"checkBox\" renamed to \"__Dymola_checkBox\").<br>&nbsp; </li>

<li> All emulated enumerations (defined via packages and constants) have been 
     replaced by \"real\" enumerations. User models are automatically correctly
     converted, provided the user models used the package constants previously.
     <b>Existing models that use directly literal values for enumerations, might give in 
     some cases wrong results</b> (if the first constant of the emulated enumeration
     had value zero, whereas the first value of an enumeration is one).<br>&nbsp; </li>

<li> The operator \"cardinality\" will be removed in one of the next versions of the
     Modelica language, since it is a reflective operator and its usage significantly
     reduces the possibilities of advanced model checks (e.g. to guarantee that a model
     is \"balanced\", i.e., the number of equations and unknowns is identical,
     for all valid usages of the component). As a preparation for this change, all
     models that contain the \"cardinality(..)\" operator are rewritten: If possible
     the operator is removed. If this is not possible, it is only used in asserts to
     check that, e.g., a connector is connected at least once or is connected exactly
     once. In the next Modelica language version new language elements will be introduced
     to specifiy such a property check without the cardinality operator. Once these
     language elements are available, the cardinality operator will be removed completely
     from the Modelica Standard Library.<br>
     The changes with respect to the cardinality(..) operator are usually not backward
     compatible. This is the reason for the changes of the
     Rotational and Translational library (see below).<br>&nbsp;</li>

<li> The design of the <b>Rotational</b> and <b>Translational</b> libraries have been changed
     (especially to remove the cardinality(..) operator, see above):
     <ul>
     <li> Components have a <b>useSupport</b> flag to enable or disable a support flange.
          If the support flange is enabled, it must be connected. If it is disabled, it must
          not be connected and the component is then internally grounded. The grounding
          is visualized in the icon.</li>
     <li> The relative angle/distance and the relative speed of all force/torque elements
          (that need the relative speed) are by default defined with \"StateSelect.prefer\", i.e.,
          to use these variables as preferred states. This improves the numerics if the
          absolute angle or the absolute distance are continuously increasing during
          operation (e.g. driving shaft of the wheels of a car). The effect is that relative
          angles/distances and speeds are used as states and the size of these variables is
          limited. Previously, the default was to use the absolute angle/distance
          and absolute speed of every inertia/mass which has the disadvantage that the absolute
          angle and or distance are state variables that grow in size continuously.<br>
          A significant advantage is also, that default initialization is usually better,
          because a default value of zero for a relative angle/distance is usually what the
          user would like to have. Previously, say, the load was initialized to a non-zero
          angle and then the elastically coupled motor inertia had to be explicitly
          also initialized with this value. This is now, no longer needed. Since the default
          nominal value of 1 is usually too large for a relative quantity, the nominal 
          values of the relative angle/distance was changed to 1e-4.</li>
     <li> The two libraries have been restructured in sublibraries to cope
          with the growing number of components.</li>
     <li> Finally, the Translational library has been
          made as similar as possible to the Rotational library by, e.g., adding missing
          components.<br>&nbsp;</li>
     </ul></li>

<li> The initialization of the MultiBody, Rotational and Translational libraries have
     been signficantly simplified by removing the \"initType\" parameters and only
     using start/fixed values. This design assumes that a tool has special support
     for start/fixed values in the parameter menu.<br>&nbsp;</li>

<li> Nearly all parameters defined in the Modelica Standard Library had been
     defined with a default equation, e.g.,
     <pre>   <b>parameter</b> Modelica.SIunits.Resistance R=1; </pre>
     Physical parameters, such as a resistance, mass, gear ratio, do not have a meaningful
     default and in nearly all cases, the user of the corresponding component has to
     provide values for such parameters. If the user forgets this, a tool
     cannot provide diagnostics, since a default value is present in the library
     (such as 1 Ohm for the resistance). In most cases the model will simulate but will
     give wrong results due to wrong parameter values. To improve this situation, all physical
     parameter declarations in the Modelica Standard Library have been changed, so
     that the previous default becomes a start value. For example, the above
     declaration is changed to:
     <pre>   <b>parameter</b> Modelica.SIunits.Resistance R(start=1);  </pre>
     This is a backward compatible change and completely equivalent from the perspective
     of the Modelica language. It is, however, adviced that tools will print a warning
     or optionally an error message, if the start value of a parameter is defined, but
     no value for the parameter is given via a modification. Furthermore, it is expected,
     that the input field of a parameter menu is empty, if no default equation is defined,
     but only a start value. This shows clearly to the modeler that a value has to 
     be provided.</li>
</ul>

<p><br>
The following <b style=\"color:blue\">new components</b> have been added 
to <b style=\"color:blue\">existing</b> libraries (note, the names in paranthesis
are the new sublibrary names that are introduced in version 3.0):
</p>

<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Examples.</b></td></tr>
  <tr><td valign=\"top\">InverseModel</td>
      <td valign=\"top\"> Demonstrates the construction of an inverse model.</td> </tr>

  <tr><td colspan=\"2\"><b>Blocks.Math.</b></td></tr>
  <tr><td valign=\"top\">InverseBlockConstraints</td>
      <td valign=\"top\"> Construct inverse model by requiring that two inputs 
                        and two outputs are identical (replaces the previously, 
                        unbalanced, TwoInputs and TwoOutputs blocks).</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.Machines.Utilities</b></td></tr>
  <tr><td valign=\"top\">TransformerData</td>
      <td valign=\"top\"> A record that calculates required impedances (parameters) from nominal data of transformers.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Examples.Rotational3DEffects</b></td></tr>
  <tr><td valign=\"top\"> GyroscopicEffects<br>
                        ActuatedDrive<br> 
                        MovingActuatedDrive<br>
                        GearConstraint </td>
      <td valign=\"top\"> New examples to demonstrate the usage of the Rotational library
                        in combination with multi-body components. </td> 
  </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Sensors</b></td></tr>
  <tr><td valign=\"top\"> AbsolutePosition<br>
                        AbsoluteVelocity<br>
                        AbsoluteAngles<br>
                        AbsoluteAngularVelocity<br>
                        RelativePosition<br>
                        RelativeVelocity<br>
                        RelativeAngles<br>
                        RelativeAngularVelocity</td>
      <td valign=\"top\"> New sensors to measure one vector. </td> 
  </tr>
  <tr><td valign=\"top\"> TransformAbsoluteVector<br>
                        TransformRelativeVector</td>
      <td valign=\"top\"> Transform absolute and/or relative vector into another frame. </td> 
  </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Rotational.(Components)</b></td></tr>
  <tr><td valign=\"top\"> Disc </td>
      <td valign=\"top\"> Right flange is rotated by a fixed angle with respect to left flange</td> </tr>
  <tr><td valign=\"top\"> IdealRollingWheel </td>
      <td valign=\"top\"> Simple 1-dim. model of an ideal rolling wheel without inertia</td> </tr>


  <tr><td colspan=\"2\"><b>Mechanics.Translational.Sensors</b></td></tr>
  <tr><td valign=\"top\">RelPositionSensor<br>RelSpeedSensor<br>RelAccSensor<br>PowerSensor</td>
      <td valign=\"top\"> Relative position sensor, i.e. distance between two flanges<br>
                        Relative speed sensor<br>
                        Relative acceleration sensor<br>
                        Ideal power sensor</td> </tr>
  <tr><td colspan=\"2\"><b>Mechanics.Translational(.Components)</b></td></tr>
  <tr><td valign=\"top\">SupportFriction<br>Brake<br>InitializeFlange</td>
      <td valign=\"top\"> Model of friction due to support<br>
                        Model of a brake, base on Coulomb friction<br>
                        Initializes a flange with pre-defined postion, speed and acceleration .</td> </tr>
  <tr><td colspan=\"2\"><b>Mechanics.Translational(.Sources)</b></td></tr>
  <tr><td valign=\"top\">Force2<br>LinearSpeedDependentForce<br>QuadraticSpeedDependentForce<br>
                       ConstantForce<br>ConstantSpeed<br>ForceStep</td>
      <td valign=\"top\"> Force acting on 2 flanges<br> 
                        Force linearly dependent on flange speed<br>
                        Force quadratic dependent on flange speed<br>
                        Constant force source<br>
                        Constant speed source<br>
                        Force step</td> </tr>
</tr>
</table>


<p><br>
The following <b style=\"color:blue\">existing components</b>
have been <b style=\"color:blue\">changed</b> in a
<b style=\"color:blue\">non-backward compatible</b> way
(the conversion script transforms models and libraries
of previous versions to the new version. Therefore, conversion 
should be automatic):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Continuous.</b></td></tr>
  <tr><td valign=\"top\"> CriticalDamping </td>
      <td valign=\"top\"> New parameter \"normalized\" to define whether filter is provided
                        in normalized or non-normalized form. Default is \"normalized = true\".
                        The previous implementation was a non-normalized filter.
                        The conversion script automatically introduces the modifier
                        \"normalized=false\" for existing models.</td> </tr>

  <tr><td colspan=\"2\"><b>Blocks.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> RealInput<br>
                        RealOutput</td>
      <td valign=\"top\"> Removed \"SignalType\", since extending from a replaceable class 
                        and this is not allowed in Modelica 3.<br>The conversion script
                        removes modifiers to SignalType.</td> </tr>

  <tr><td valign=\"top\"> RealSignal<br>
                        IntegerSignal<br>
                        BooleanSignal</td>
      <td valign=\"top\"> Moved to library ObsoleteModelica3, since these connectors
                        are no longer allowed in Modelica 3<br>
                        (prefixes input and/or output are required). </td> </tr>

  <tr><td colspan=\"2\"><b>Blocks.Interfaces.Adaptors.</b></td></tr>
  <tr><td valign=\"top\"> AdaptorReal<br>
                        AdaptorBoolean<br>
                        AdaptorInteger</td>
      <td valign=\"top\"> Moved to library ObsoleteModelica3, since the models are not \"balanced\".
                        These are completely obsolete adaptors<br>between the Real, Boolean, Integer
                        signal connectors of version 1.6 and version &ge; 2.1 of the Modelica 
                        Standard Library. </td> </tr>
                    

  <tr><td colspan=\"2\"><b>Blocks.Math.</b></td></tr>
  <tr><td valign=\"top\"> ConvertAllUnits</td>
      <td valign=\"top\"> Moved to library ObsoleteModelica3, since extending from a replaceable class
                        and this is not allowed in Modelica 3.<br> It would be possible to rewrite this
                        model to use a replaceable component. However, the information about the
                        conversion<br> cannot be visualized in the icon in this case.</td> </tr>

  <tr><td colspan=\"2\"><b>Blocks.Math.UnitConversions.</b></td></tr>
  <tr><td valign=\"top\"> TwoInputs<br>
                        TwoOutputs</td>
      <td valign=\"top\"> Moved to library ObsoleteModelica3, since the models are not \"balanced\".
                        A new component<br>\"InverseBlockConstraints\"
                        is provided instead that has the same feature, but is \"balanced\".</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.Analog.Baisc.</b></td></tr>
  <tr><td valign=\"top\"> HeatingResistor</td>
      <td valign=\"top\"> The heatPort has to be connected; otherwise the component Resistor (without heatPort) has to be used.<br>
                        cardinality() is only used to check whether the heatPort is connected.</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.MultiPhase.Examples.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Changed the instance names of components used in the examples to more up-to-date style.</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.Machines.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Moved package <tt>Machines.Examples.Utilities</tt> to <tt>Machines.Utilities</tt></td> </tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Removed all nonSIunits; especially in DCMachines<br>
                        parameter NonSIunits.AngularVelocity_rpm rpmNominal was replaced by<br>
                        parameter SIunits.AngularVelocity wNominal</td> </tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Changed the following component variable and parameter names to be more concise:<br>
                        Removed suffix \"DamperCage\" from all synchronous induction machines 
                        since the user can choose whether the damper cage is present or not.<br><tt>
                        RotorAngle ... RotorDisplacementAngle<br>
                        J_Rotor ... Jr<br>
                        Rr ........ Rrd (damper of synchronous induction machines)<br>
                        Lrsigma ... Lrsigmad (damper of synchronous induction machines)<br>
                        phi_mechanical ... phiMechanical<br>
                        w_mechanical ..... wMechanical<br>
                        rpm_mechanical ... rpmMechanical<br>
                        tau_electrical ... tauElectrical<br>
                        tau_shaft ........ tauShaft<br>
                        TurnsRatio ....... turnsRatio    (AIMS)<br>
                        VsNom ............ VsNominal     (AIMS)<br>
                        Vr_Lr ............ VrLockedRotor (AIMS)<br>
                        DamperCage ....... useDamperCage (synchronous induction machines)<br>
                        V0 ............... VsOpenCicuit  (SMPM)<br>
                        Ie0 .............. IeOpenCicuit  (SMEE)
                        </tt></td> </tr>
  <tr><td valign=\"top\">Interfaces.</td>
      <td valign=\"top\"> Moved as much code as possible from specific machine models to partials to reduce redundant code.</td> </tr>
  <tr><td valign=\"top\">Interfaces.Adapter</td>
      <td valign=\"top\"> Removed to avoid cardinality; instead, the following solution has been implemented:</td> </tr>
  <tr><td valign=\"top\">Sensors.RotorDisplacementAngle<br>Interfaces.PartialBasicMachine</td>
      <td valign=\"top\"> Introduced <tt>parameter Boolean useSupport=false \"enable / disable (=fixed stator) support\"</tt><br>
                        The rotational support connector is only present with <tt>useSupport = true;</tt><br>
                        otherwise the stator is fixed internally.</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.Machines.Examples.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Changed the names of the examples to more meaninglful names.<br>
                        Changed the instance names of components used in the examples to more up-to-date style.</td> </tr>
  <tr><td valign=\"top\">SMEE_Generator</td>
      <td valign=\"top\"> Initialization of <tt>smee.phiMechanical</tt> with <tt>fixed=true</tt></td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.</b></td></tr>
  <tr><td valign=\"top\"> World</td>
      <td valign=\"top\"> Changed default value of parameter driveTrainMechanics3D from false to true.<br>
                        3-dim. effects in Rotor1D, Mounting1D and BevelGear1D are therefore taken<br>
                        into account by default (previously this was only the case, if 
                        world.driveTrainMechanics3D was explicitly set).</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Forces.</b></td></tr>
  <tr><td valign=\"top\"> FrameForce<br>
                        FrameTorque<br>
                        FrameForceAndTorque</td>
      <td valign=\"top\"> Models removed, since functionality now available via Force, Torque, ForceAndTorque</td> </tr>
  <tr><td valign=\"top\"> WorldForce<br>
                        WorldTorque<br>
                        WorldForceAndTorque<br>
                        Force<br>
                        Torque<br>
                        ForceAndTorque</td>
      <td valign=\"top\"> Connector frame_resolve is optionally enabled via parameter resolveInFrame<br>.
                        Forces and torques and be resolved in all meaningful frames defined
                        by enumeration resolveInFrame.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Frames.</b></td></tr>
  <tr><td valign=\"top\"> length<br>
                        normalize</td>
      <td valign=\"top\"> Removed functions, since available also in Modelica.Math.Vectors
                        <br>The conversion script changes the references correspondingly.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Joints.</b></td></tr>
  <tr><td valign=\"top\"> Prismatic<br>
                        ActuatedPrismatic<br>
                        Revolute<br>
                        ActuatedRevolute<br>
                        Cylindrical<br>
                        Universal<br>
                        Planar<br>
                        Spherical<br>
                        FreeMotion</td>
      <td valign=\"top\"> Changed initialization, by replacing initial value parameters with
                        start/fixed attributes.<br>
                        When start/fixed attributes are properly supported
                        in the parameter menu by a Modelica tool,<br>
                        the initialization is considerably simplified for the
                        user and the implementation is much simpler.<br>
                        Replaced parameter \"enforceStates\" by the more general 
                        built-in enumeration stateSelect=StateSelection.xxx.<br>
                        The conversion script automatically
                        transforms from the \"old\" to the \"new\" forms.</td> </tr>
  <tr><td valign=\"top\"> Revolute<br>
                        ActuatedRevolute</td>
      <td valign=\"top\"> Parameter \"planarCutJoint\" in the \"Advanced\" menu of \"Revolute\" and of
                        \"ActuatedRevolute\" removed.<br>
                        A new joint \"RevolutePlanarLoopConstraint\" introduced that defines the constraints
                        of a revolute joint<br> as cut-joint in a planar loop.
                        This change was needed in order that the revolute joint can be
                        properly used<br>in advanced model checking.<br>
                        ActuatedRevolute joint removed. Flange connectors of Revolute joint<br>
                        can be enabled with parameter useAxisFlange.</td> </tr>
  <tr><td valign=\"top\"> Prismatic<br>
                        ActuatedPrismatic</td>
      <td valign=\"top\"> ActuatedPrismatic joint removed. Flange connectors of Prismatic joint<br>
                        can be enabled with parameter useAxisFlange.</td> </tr>
  <tr><td valign=\"top\"> Assemblies</td>
      <td valign=\"top\"> Assembly joint implementation slightly changed, so that
                        annotation \"structurallyIncomplete\" <br>could be removed
                        (all Assembly joint models are now \"balanced\").</td> </tr>


  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Joints.Internal</b></td></tr>
  <tr><td valign=\"top\"> RevoluteWithLengthConstraint<br>
                        PrismaticWithLengthConstraint</td>
      <td valign=\"top\"> These joints should not be used by a user of the MultiBody library. 
                        They are only provided to built-up the
                        MultiBody.Joints.Assemblies.JointXYZ joints.
                        These two joints have been changed in a slightly not backward compatible
                        way, in order that the usage in the Assemblies.JointXYZ joints results in 
                        balanced models (<b>no conversion is provided for this change since the
                        user should not have used these joints and the conversion would be too
                        complicated</b>): 
                        In releases before version 3.0 of the Modelica Standard Library, 
                        it was possible to activate the torque/force projection equation 
                        (= cut-torque/-force projected to the rotation/translation
                        axis must be identical to
                        the drive torque/force of flange axis) via parameter <b>axisTorqueBalance</b>.
                        This is no longer possible, since otherwise this model would not be
                        \"balanced\" (= same number of unknowns as equations). Instead, when
                        using this model in version 3.0 and later versions, the torque/force
                        projection equation must be provided in the Advanced menu of joints
                        Joints.SphericalSpherical and Joints.UniversalSpherical
                        via the new parameter \"constraintResidue\".</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Parts.</b></td></tr>
  <tr><td valign=\"top\"> BodyBox<br>
                        BodyCylinder</td>
      <td valign=\"top\"> Changed unit of parameter density from g/cm3 to the SI unit kg/m3
                        in order to allow stricter unit checking.<br>The conversion script multiplies
                        previous density values with 1000.</td> </tr>
  <tr><td valign=\"top\"> Body<br>
                        BodyShape<br>
                        BodyBox<br>
                        BodyCylinder<br>
                        PointMass
                        Rotor1D</td>
      <td valign=\"top\"> Changed initialization, by replacing initial value parameters with
                        start/fixed attributes.<br>
                        When start/fixed attributes are properly supported
                        in the parameter menu by a Modelica tool,<br>
                        the initialization is considerably simplified for the
                        user and the implementation is much simpler.<br>The conversion script automatically
                        transforms from the \"old\" to the \"new\" form of initialization.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Sensors.</b></td></tr>
  <tr><td valign=\"top\"> AbsoluteSensor<br>
                        RelativeSensor<br>
                        CutForceAndTorque</td>
      <td valign=\"top\"> New design of sensor components: Via Boolean parameters<br>
                        signal connectors for the respective vectors are enabled/disabled.<br>
                        It is not possible to automatically convert models to this new design.<br>
                        Instead, references in existing models are changed to ObsoleteModelice3.<br>
                        This means that these models must be manually adapted.</td> </tr>
  <tr><td valign=\"top\"> CutForce<br>
                        CutTorque</td>
      <td valign=\"top\"> Slightly new design. The force and/or torque component can be
                        resolved in world, frame_a, or frame_resolved.<br>
                        Existing models are automatically converted.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Moved components to structured sub-packages (Sources, Components)</td> </tr>
  <tr><td valign=\"top\"> Inertia<br>
                        SpringDamper<br>
                        RelativeStates</td>
      <td valign=\"top\"> Changed initialization, by replacing initial value parameters with
                        start/fixed attributes.<br>
                        When start/fixed attributes are properly supported
                        in the parameter menu by a Modelica tool,<br>
                        the initialization is considerably simplified for the
                        user and the implementation is much simpler.<br>
                        Parameter \"stateSelection\" in \"Inertia\" and \"SpringDamper\" replaced
                        by the built-in enumeration<br>stateSelect=StateSelection.xxx.
                        Introduced the \"stateSelect\" enumeration in \"RelativeStates\".<br>
                        The conversion script automatically
                        transforms from the \"old\" to the \"new\" forms.</td> </tr>
  <tr><td valign=\"top\"> LossyGear<br>
                        GearBox</td>
      <td valign=\"top\"> Renamed gear ratio parameter \"i\" to \"ratio\", in order to have a
                        consistent naming convention.<br>
                        Existing models are automatically converted. </td> </tr>
  <tr><td valign=\"top\"> SpringDamper<br>
                        ElastoBacklash<br>
                        Clutch<br>
                        OneWayClutch</td>
      <td valign=\"top\"> Relative quantities (phi_rel, w_rel) are used as states, if possible 
                        (due to StateSelect.prefer). <br>
                        In most cases, relative states in drive trains are better suited as
                        absolute states. <br> This change might give changes in the selected states
                        of existing models.<br>
                        This might give rise to problems if, e.g., the initialization was not
                        completely defined in a user model,<br> since the default
                        initialization heuristic may give different initial values.</td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Translational.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Moved components to structured sub-packages (Sources, Components)</td> </tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Adaptions corresponding to Rotational</td> </tr>
  <tr><td valign=\"top\"> Stop</td>
      <td valign=\"top\"> Renamed to Components.MassWithStopAndFriction to be more concise.<br>
                        MassWithStopAndFriction is not available with a support connector, <br>
                        since the reaction force can't be modeled in a meaningful way due to reinit of velocity v.<br>
                        Until a sound implementation of a hard stop is available, the old model may be used.</td> </tr>
  <tr><td colspan=\"" + "2\"><b>Media.</b></td></tr>
  <tr><td valign=\"top\"> constant nX <br>
                        constant nXi <br>
                        constant reference_X<br>
                        BaseProperties</td>
      <td valign=\"top\"> 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>

  <tr><td colspan=\"2\"><b>SIunits.</b></td></tr>
  <tr><td valign=\"top\"> CelsiusTemperature </td>
      <td valign=\"top\"> Removed, since no SI unit. The conversion script changes references to 
                        SIunits.Conversions.NonSIunits.Temperature_degC </td> </tr>
  <tr><td valign=\"top\"> ThermodynamicTemperature <br>
                        TemperatureDifference</td>
      <td valign=\"top\"> Added annotation \"__Dymola_absoluteValue=true/false\"
                        in order that unit checking is possible<br> 
                        (the unit checker needs to know for a unit that has an offset,
                        whether it is used as absolute or as a relative number)</td> </tr>

  <tr><td colspan=\"2\"><b>SIunits.Conversions.NonSIunits.</b></td></tr>
  <tr><td valign=\"top\"> Temperature_degC<br>
                        Temperature_degF<br>
                        Temperature_degRk </td>
      <td valign=\"top\"> Added annotation \"__Dymola_absoluteValue=true\"
                        in order that unit checking is possible<br> 
                        (the unit checker needs to know for a unit that has an offset,
                        whether it is used as absolute or as a relative number)</td> </tr>

  <tr><td colspan=\"2\"><b>StateGraph.Examples.</b></td></tr>
  <tr><td valign=\"top\"> ControlledTanks </td>
      <td valign=\"top\"> The connectors of the ControlledTanks did not fulfill the new
                        restrictions of Modelica 3. This has been fixed.</td> </tr>
  <tr><td valign=\"top\"> Utilities </td>
      <td valign=\"top\"> Replacing inflow, outflow by connectors inflow1, inflow2, 
                        outflow1, outflow2 with appropriate input/output prefixes in 
                        order to fufill the restrictions of Modelica 3 to arrive
                        at balanced models. No conversion is provided, since
                        too difficult and since the non-backward compatible change is in
                        an example. </td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Sensors.</b></td></tr>
  <tr><td valign=\"top\"> <br>
                        pSensor<br>TSensor<br>dpSensor<br>dTSensor<br>m_flowSensor<br>V_flowSensor<br>H_flowSensor</td>
      <td valign=\"top\"> renamed to:<br>
                        PressureSensor<br>TemperatureSensor<br>RelPressureSensor<br>RelTemperatureSensor<br>MassFlowSensor<br>VolumeFlowSensor<br>EnthalpyFlowSensor
                        </td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Sources.</b></td></tr>
  <tr><td valign=\"top\"> Ambient<br>PrescribedAmbient</td>
      <td valign=\"top\"> available as one combined component Ambient<br>
                        Boolean parameters usePressureInput and useTemperatureInput decide 
                        whether pressure and/or temperature are constant or prescribed</td> </tr>
  <tr><td valign=\"top\"> ConstantVolumeFlow<br>PrescribedVolumeFlow</td>
      <td valign=\"top\"> available as one combined component VolumeFlow<br>
                        Boolean parameter useVolumeFlowInput decides 
                        whether volume flow is constant or prescribed</td> </tr>
  <tr><td valign=\"top\"> ConstantPressureIncrease<br>PrescribedPressureIncrease</td>
      <td valign=\"top\"> available as one combined component PressureIncrease<br>
                        Boolean parameter usePressureIncreaseInput decides 
                        whether pressure increase is constant or prescribed</td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Examples.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Changed the instance names of components used in the examples to more up-to-date style.</td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.HeatTransfer.(Components)</b></td></tr>
  <tr><td valign=\"top\"> HeatCapacitor</td>
      <td valign=\"top\"> Initialization changed: SteadyStateStart removed. Instead
                        start/fixed values for T and der_T<br>(initial temperature and its derivative).</td> </tr>

  <tr><td valign=\"top\"> <br><br>HeatCapacitor<br>ThermalConductor<br>ThermalConvection<br>BodyRadiation<br><br>
                        TemperatureSensor<br>RelTemperatureSensor<br>HeatFlowSensor<br><br>
                        FixedTemperature<br>PrescribedTemperature<br>FixedHeatFlow<br>PrescribedHeatFlow</td>
      <td valign=\"top\"> Moved components to sub-packages:<br><br>
                        Components.HeatCapacitor<br>Components.ThermalConductor<br>Components.ThermalConvection<br>Components.BodyRadiation<br><br>
                        Sensors.TemperatureSensor<br>Sensors.RelTemperatureSensor<br>Sensors.HeatFlowSensor<br><br>
                        Sources.FixedTemperature<br>Sources.PrescribedTemperature<br>Sources.FixedHeatFlow<br>Sources.PrescribedHeatFlow
                        </tt></td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Examples.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Changed the instance names of components used in the examples to more up-to-date style.</td> </tr>
</table>



<p><br>
The following <b style=\"color:blue\">existing components</b>
have been <b style=\"color:blue\">improved</b> in a
<b style=\"color:blue\">backward compatible</b> way:
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td valign=\"top\"> <b>Modelica.*</b> </td>
      <td valign=\"top\"> Parameter declarations, input and output function arguments without description
                        strings improved<br> by providing meaningful description texts.
                        </td> </tr>

  <tr><td colspan=\"2\"><b>Modelica.Blocks.Continuous.</b></td></tr>
  <tr><td valign=\"top\"> TransferFunction </td>
      <td valign=\"top\"> Internal scaling of the controller canonical states introduced
                        in order to enlarge the range of transfer functions where the default
                        relative tolerance of the simulator is sufficient.</td> 
  </tr>

  <tr><td valign=\"top\"> Butterworth<br>CriticalDamping </td>
      <td valign=\"top\"> Documentation improved and plots of the filter characteristics added.</td> </tr>

  <tr><td colspan=\"2\"><b>Electrical.Analog.Basic.</b></td></tr>
  <tr><td valign=\"top\"> EMF </td>
      <td valign=\"top\"> New parameter \"useSupport\" to optionally enable a support connector.</td> </tr>


  <tr><td colspan=\"2\"><b>Icons.</b></td></tr>
  <tr><td valign=\"top\"> TranslationalSensor<br>
                        RotationalSensor</td>
      <td valign=\"top\"> Removed drawing from the diagram layer (kept drawing only in 
                        icon layer),<br> in order that this icon can be used in situations
                        where components are dragged in the diagram layer.</td> </tr>

  <tr><td colspan=\"2\"><b>Math.Vectors.</b></td></tr>
  <tr><td valign=\"top\"> normalize</td>
      <td valign=\"top\"> Implementation changed, so that the result is awalys continuous<br>
                        (previously, this was not the case for small vectors: normalize(eps,eps)).
                        </td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.</b></td></tr>
  <tr><td valign=\"top\"> </td>
      <td valign=\"top\"> Renamed non-standard keywords defineBranch, defineRoot, definePotentialRoot, 
                        isRooted to the standard names:<br>
                        Connections.branch/.root/.potentialRoot/.isRooted.</td> </tr>
  <tr><td valign=\"top\"> Frames </td>
      <td valign=\"top\"> Added annotation \"Inline=true\" to all one-line functions
                        (which should be all inlined).</td> </tr>
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Parts.</b></td></tr>
  <tr><td valign=\"top\"> Mounting1D<br>
                        Rotor1D<br>
                        BevelGear1D</td>
      <td valign=\"top\"> Changed implementation so that no longer modifiers for connector
                        variables are used,<br>because this violates the restrictions on
                        \"balanced models\" of Modelica 3. </td> </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> InitializeFlange</td>
      <td valign=\"top\"> Changed implementation so that counting unknowns and
                        equations is possible without actual values of parameters.</td> </tr>

  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Interfaces.Partials.</b></td></tr>
  <tr><td valign=\"top\">TwoPort</td>
      <td valign=\"top\"> Introduced <tt>parameter Real tapT(final min=0, final max=1)=1</tt> <br> that defines the temperature of the heatPort
                        betwen inlet and outlet.</td> </tr>

  <tr><td colspan=\"2\"><b>StateGraph.</b></td></tr>
  <tr><td valign=\"top\"> InitialStep<br>
                        InitialStepWithSignal<br>
                        Step<br>
                        StepWithSignal</td>
      <td valign=\"top\"> Changed implementation so that no longer modifiers for output
                        variables are used,<br>because this violates the restrictions on
                        \"balanced models\" of Modelica 3. </td> </tr>

</table>


<p><br>
The following <b style=\"color:red\">critical errors</b> have been fixed (i.e. errors
that can lead to wrong simulation results):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Electrical.Analog.Examples.</b></td></tr>
  <tr><td valign=\"top\"> CauerLowPassSC </td>
      <td valign=\"top\"> Wrong calculation of Capacitor1 both in Rn and Rp corrected
                        (C=clock/R instead of C=clock*R) </td> 
  </tr>


  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Parts.</b></td></tr>
  <tr><td valign=\"top\"> Rotor1D </td>
      <td valign=\"top\"> The 3D reaction torque was not completely correct and gave in 
                        some situations a wrong result. This bug should not influence the
                        movement of a multi-body system, but only the constraint torques
                        are sometimes not correct. </td> 
  </tr>

  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> ElastoBacklash </td>
      <td valign=\"top\"> If the damping torque was too large, the reaction torque 
                        could \"pull\" which is unphysical. The component was
                        newly written by limiting the damping torque in such a case
                        so that \"pulling\" torques can no longer occur. Furthermore,
                        during initialization the characteristics is made continuous
                        to reduce numerical errors. The relative angle and relative
                        angular velocities are used as states, if possible
                        (StateSelect.prefer), since relative quantities lead usually
                        to better behavior.  </td> 
  </tr>
  <tr><td valign=\"top\"> Position<br>Speed<br>Accelerate<br>Move</td>
      <td valign=\"top\"> The movement of the flange was wrongly defined as absolute;
                        this is corrected as relative to connector support.<br>
                        For Accelerate, it was necessary to rename
                        RealInput a to a_ref, as well as the start values
                        phi_start to phi.start and w_start to w.start.
                        The conversion script performs the necessary conversion of  
                        existing models automatically.</td> 
  </tr>
  <tr><td colspan=\"2\"><b>Media.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialSimpleIdealGasMedium </td>
      <td valign=\"top\"> Inconsisteny in reference temperature corrected. This may give
                        different results for functions:<br>
                        specificEnthalpy, specificInternalEnergy, specificGibbsEnergy,
                        specificHelmholtzEnergy. </td> 
  </tr>
  <tr><td colspan=\"2\"><b>Media.Air.</b></td></tr>
  <tr><td valign=\"top\"> specificEntropy </td>
      <td valign=\"top\"> Small bug in entropy computation of ideal gas mixtures corrected.</td> 
  </tr>
  <tr><td colspan=\"2\"><b>Media.IdealGases.Common.MixtureGasNasa</b></td></tr>
  <tr><td valign=\"top\"> specificEntropy </td>
      <td valign=\"top\"> Small bug in entropy computation of ideal gas mixtures corrected.</td> 
  </tr>
</table>
 
 
<p><br>
The following <b style=\"color:red\">uncritical errors</b> have been fixed (i.e. errors
that do <b style=\"color:red\">not</b> lead to wrong simulation results, but, e.g., 
units are wrong or errors in documentation):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Tables.</b></td></tr>
  <tr><td valign=\"top\"> CombiTable2D</td>
      <td valign=\"top\"> Documentation improved.</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Electrica.Digital.Gates</b></td></tr>
  <tr><td valign=\"top\"> AndGate<br>
                        NandGate<br>
                        OrGate<br>
                        NorGate<br>
                        XorGate<br>
                        XnorGate</td>
      <td valign=\"top\"> The number of inputs was not correctly propagated
                        to the included base model.<br> 
                        This gave a translation error, if the number
                        of inputs was changed (and not the default used).</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Electrica.Digital.Sources</b></td></tr>
  <tr><td valign=\"top\"> Pulse </td>
      <td valign=\"top\"> Model differently implemented, so that 
                        warning message about \"cannot properly initialize\" is gone.</td> 
  </tr>


  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> BearingFriction<br>
                        Clutch<br>
                        OneWayClutch<br>
                        Brake <br>
                        Gear </td>
      <td valign=\"top\"> Declaration of table parameter changed from
                        table[:,:] to table[:,2].</td> 
  </tr>

  <tr><td colspan=\"2\"><b>Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.</b></td></tr>
  <tr><td valign=\"top\"> GasForce </td>
      <td valign=\"top\"> Unit of variable \"press\" corrected (from Pa to bar)</td> 
  </tr>

  <tr><td colspan=\"2\"><b>StateGraph.Examples.</b></td></tr>
  <tr><td valign=\"top\">SimpleFriction</td>
      <td valign=\"top\"> The internal parameter k is defined and calculated with the appropriate unit.</td> </tr>


  <tr><td colspan=\"2\"><b>Thermal.FluidHeatFlow.Interfaces.Partials.</b></td></tr>
  <tr><td valign=\"top\">SimpleFriction</td>
      <td valign=\"top\"> The internal parameter k is defined and calculated with the appropriate unit.</td> </tr>

</table>
                               
</html>"));
  end Version_3_0;

  class Version_2_2_2 "Version 2.2.2 (Aug. 31, 2007)"

      annotation (Documentation(info="<html>
<p>
Version 2.2.2 is backward compatible to version 2.2.1 and 2.2 with 
the following exceptions:
</p>
<ul>
<li> Removal of package Modelica.Media.Interfaces.PartialTwoPhaseMediumWithCache
     (this was not yet utilized).</li>
<li> Removal of the media packages in
     Modelica.Media.IdealGases.SingleGases that are not type compatible
     to Modelica.Media.Interfaces.PartialMedium, because a FluidConstants
     record definition is missing, 
     for details, see 
      <a href=\"Modelica://Modelica.Media.IdealGases\">Modelica.Media.IdealGases</a>
     (this is seen as a bug fix).
</ul>

<p>
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
<a href=\"../help/Documentation/Differences-Modelica-221-222.html\">here</a>.
This comparison file was generated automatically with Dymolas
ModelManagement.compare function.
</p>
 
<p>
In this version, <b>no</b> new libraries have been added. The <b>documentation</b>
of the whole library was improved. Especially, the documentation is now also
available as
<a href=\"../help/Documentation/ModelicaStandardLibrary.pdf\">one pdf file</a>.
</p>
 
 
<p><br>
The following <b style=\"color:blue\">new components</b> have been added 
to <b style=\"color:blue\">existing</b> libraries:
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Logical.</b></td></tr>
  <tr><td valign=\"top\"> TerminateSimulation</td>
      <td valign=\"top\"> Terminate a simulation by a given condition.</td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Blocks.Routing.</b></td></tr>
  <tr><td valign=\"top\"> RealPassThrough<br>
           IntegerPassThrough<br>
           BooleanPassThrough</td>
      <td valign=\"top\"> Pass a signal from input to output
           (useful in combination with a bus due to restrictions 
           of expandable connectors).</td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Blocks.Sources.</b></td></tr>
  <tr><td valign=\"top\"> KinematicPTP2 </td>
      <td valign=\"top\"> Directly gives q,qd,qdd as output (and not just qdd as KinematicPTP).
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.Examples.</b></td></tr>
  <tr><td valign=\"top\"> TransformerTestbench </td>
      <td valign=\"top\"> Transformer Testbench
      </td>
  <tr><td valign=\"top\"> Rectifier6pulse </td>
      <td valign=\"top\"> 6-pulse rectifier with 1 transformer
      </td>
  </tr>
  <tr><td valign=\"top\"> Rectifier12pulse </td>
      <td valign=\"top\"> 12-pulse rectifier with 2 transformers
      </td>
  </tr>
  <tr><td valign=\"top\"> AIMC_Steinmetz </td>
      <td valign=\"top\"> Asynchronous induction machine squirrel cage with Steinmetz connection 
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.BasicMachines.Components.</b></td></tr>
  <tr><td valign=\"top\"> BasicAIM </td>
      <td valign=\"top\"> Partial model for asynchronous induction machine
      </td>
  <tr><td valign=\"top\"> BasicSM </td>
      <td valign=\"top\"> Partial model for synchronous induction machine
      </td>
  <tr><td valign=\"top\"> PartialAirGap </td>
      <td valign=\"top\"> Partial airgap model
      </td>
  <tr><td valign=\"top\"> BasicDCMachine </td>
      <td valign=\"top\"> Partial model for DC machine
      </td>
  <tr><td valign=\"top\"> PartialAirGapDC </td>
      <td valign=\"top\"> Partial airgap model of a DC machine
      </td>
  <tr><td valign=\"top\"> BasicTransformer </td>
      <td valign=\"top\"> Partial model of threephase transformer
      </td>
  <tr><td valign=\"top\"> PartialCore </td>
      <td valign=\"top\"> Partial model of transformer core with 3 windings
      </td>
  <tr><td valign=\"top\"> IdealCore </td>
      <td valign=\"top\"> Ideal transformer with 3 windings
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.BasicMachines.</b></td></tr>
  <tr><td valign=\"top\"> Transformers </td>
      <td valign=\"top\"> Sub-Library for technical 3phase transformers
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> Adapter </td>
      <td valign=\"top\"> Adapter to model housing of electrical machine
      </td>
  </tr>

 <tr><td colspan=\"2\"><b>Math.</b></td></tr>
  <tr><td valign=\"top\"> Vectors </td>
      <td valign=\"top\"> New library of functions operating on vectors
      </td>
  </tr>
  <tr><td valign=\"top\"> atan3 </td>
      <td valign=\"top\"> Four quadrant inverse tangens (select solution that is closest to given angle y0)
      </td>
  </tr>
  <tr><td valign=\"top\"> asinh </td>
      <td valign=\"top\"> Inverse of sinh (area hyperbolic sine)
      </td>
  </tr>
  <tr><td valign=\"top\"> acosh </td>
      <td valign=\"top\"> Inverse of cosh (area hyperbolic cosine)
      </td>
  </tr>

 <tr><td colspan=\"2\"><b>Math.Vectors</b></td></tr>
  <tr><td valign=\"top\"> isEqual </td>
      <td valign=\"top\"> Determine if two Real vectors are numerically identical
      </td>
  </tr>
  <tr><td valign=\"top\"> norm </td>
      <td valign=\"top\"> Return the p-norm of a vector
      </td></tr>
  <tr><td valign=\"top\"> length </td>
      <td valign=\"top\"> Return length of a vector (better as norm(), if further symbolic processing is performed)
      </td></tr>
  <tr><td valign=\"top\"> normalize </td>
      <td valign=\"top\"> Return normalized vector such that length = 1 and prevent zero-division for zero vector
      </td></tr>
  <tr><td valign=\"top\"> reverse </td>
      <td valign=\"top\"> Reverse vector elements (e.g. v[1] becomes last element)
      </td></tr>
  <tr><td valign=\"top\"> sort </td>
      <td valign=\"top\"> Sort elements of vector in ascending or descending order
      </td></tr>

 <tr><td colspan=\"2\"><b>Math.Matrices</b></td></tr>
  <tr><td valign=\"top\"> solve2 </td>
      <td valign=\"top\"> Solve real system of linear equations A*X=B with a B matrix
           (Gaussian elemination with partial pivoting)
      </td>
  </tr>
  <tr><td valign=\"top\"> LU_solve2 </td>
      <td valign=\"top\"> Solve real system of linear equations P*L*U*X=B with a B matrix 
           and an LU decomposition (from LU(..))
      </td></tr>

 
  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> InitializeFlange </td>
      <td valign=\"top\"> Initialize a flange according to given signals
           (useful if initialization signals are provided by a signal bus).
      </td>
  </tr>

 
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialMedium.</b></td></tr>
  <tr><td valign=\"top\"> density_pTX </td>
      <td valign=\"top\"> Return density from p, T, and X or Xi
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialTwoPhaseMedium.</b></td></tr>
  <tr><td valign=\"top\"> BaseProperties </td>
      <td valign=\"top\"> Base properties (p, d, T, h, u, R, MM, x) of a two phase medium
      </td>
  </tr>
  <tr><td valign=\"top\"> molarMass </td>
      <td valign=\"top\"> Return the molar mass of the medium
      </td>
  </tr>
  <tr><td valign=\"top\"> saturationPressure_sat </td>
      <td valign=\"top\"> Return saturation pressure
      </td>
  </tr>
  <tr><td valign=\"top\"> saturationTemperature_sat </td>
      <td valign=\"top\"> Return saturation temperature
      </td>
  </tr>  
  <tr><td valign=\"top\"> saturationTemperature_derp_sat </td>
      <td valign=\"top\"> Return derivative of saturation temperature w.r.t. pressure
      </td>
  </tr>  <tr><td valign=\"top\"> setState_px </td>
      <td valign=\"top\"> Return thermodynamic state from pressure and vapour quality
      </td>
  </tr>  <tr><td valign=\"top\"> setState_Tx </td>
      <td valign=\"top\"> Return thermodynamic state from temperature and vapour quality
      </td>
  </tr>  <tr><td valign=\"top\"> vapourQuality </td>
      <td valign=\"top\"> Return vapour quality
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialLinearFluid </td>
      <td valign=\"top\"> Generic pure liquid model with constant cp, 
           compressibility and thermal expansion coefficients
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Air.MoistAir.</b></td></tr>
  <tr><td valign=\"top\"> massFraction_pTphi </td>
      <td valign=\"top\"> Return the steam mass fraction from relative humidity and T
      </td>
  </tr>
  <tr><td valign=\"top\"> saturationTemperature </td>
      <td valign=\"top\"> Return saturation temperature from (partial) pressure 
           via numerical inversion of function saturationPressure
      </td>
  </tr>
  <tr><td valign=\"top\"> enthalpyOfWater </td>
      <td valign=\"top\"> Return specific enthalpy of water (solid/liquid) near 
           atmospheric pressure from temperature
      </td>
  </tr>
  <tr><td valign=\"top\"> enthalpyOfWater_der </td>
      <td valign=\"top\"> Return derivative of enthalpyOfWater()\" function
      </td>
  </tr>
  <tr><td valign=\"top\"> PsychrometricData </td>
      <td valign=\"top\"> Model to generate plot data for psychrometric chart
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.CompressibleLiquids.</b><br>
      New sub-library for simple compressible liquid models</td></tr>
  <tr><td valign=\"top\"> LinearColdWater </td>
      <td valign=\"top\"> Cold water model with linear compressibility
      </td>
  <tr><td valign=\"top\"> LinerWater_pT_Ambient </td>
      <td valign=\"top\"> Liquid, linear compressibility water model at 1.01325 bar 
           and 25 degree Celsius
      </td>
 
  <tr><td colspan=\"2\"><b>SIunits.</b></td></tr>
  <tr><td valign=\"top\"> TemperatureDifference </td>
      <td valign=\"top\"> Type for temperature difference
      </td>
</table> 
 
 
<p><br>
The following <b style=\"color:blue\">existing components</b>
have been <b style=\"color:blue\">improved</b>:
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.Examples.</b></td></tr>
  <tr><td valign=\"top\"> BusUsage</td>
      <td valign=\"top\"> Example changed from the \"old\" to the \"new\" bus concept with
           expandable connectors.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Blocks.Discrete.</b></td></tr>
  <tr><td valign=\"top\"> ZeroOrderHold</td>
      <td valign=\"top\"> Sample output ySample moved from \"protected\" to \"public\"
           section with new attributes (start=0, fixed=true).
      </td> 
  </tr>
  <tr><td valign=\"top\"> TransferFunction</td>
      <td valign=\"top\"> Discrete state x with new attributes (each start=0, each fixed=0).
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.</b></td></tr>
  <tr><td valign=\"top\"> Analog<br>MultiPhase</td>
      <td valign=\"top\"> Improved some icons.
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> MISO</td>
      <td valign=\"top\"> Removed \"algorithm\" from this partial block.
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Delay.</b></td></tr>
  <tr><td valign=\"top\"> DelayParams</td>
      <td valign=\"top\"> Removed \"algorithm\" from this partial block.
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Delay.</b></td></tr>
  <tr><td valign=\"top\"> DelayParams</td>
      <td valign=\"top\"> Removed \"algorithm\" from this partial block.
      </td> 
  </tr>
  <tr><td valign=\"top\"> TransportDelay</td>
      <td valign=\"top\">  If delay time is zero, an infinitely small delay is 
            introduced via pre(x) (previously \"x\" was used). 
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Sources.</b></td></tr>
  <tr><td valign=\"top\"> Clock<br>Step</td>
      <td valign=\"top\"> 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).
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Converters.</b></td></tr>
  <tr><td valign=\"top\"> BooleanToLogic<br>
           LogicToBoolean<br>
           RealToLogic<br>
           LogicToReal</td>
      <td valign=\"top\"> Changed from \"algorithm\" to \"equation\" section
           to allow better symbolic preprocessing
      </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Electrical.</b></td></tr>
  <tr><td valign=\"top\"> Machines</td>
      <td valign=\"top\"> Slightly improved documentation, typos in 
           documentation corrected
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.Examples.</b></td></tr>
  <tr><td valign=\"top\"> AIMS_start</td>
      <td valign=\"top\"> Changed QuadraticLoadTorque1(TorqueDirection=true) to
           QuadraticLoadTorque1(TorqueDirection=false) since more realistic
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialBasicMachine</td>
      <td valign=\"top\"> Introduced support flange to model the 
           reaction torque to the housing
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Machines.Sensors.</b></td></tr>
  <tr><td valign=\"top\"> Rotorangle</td>
      <td valign=\"top\"> Introduced support flange to model the 
           reaction torque to the housing
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Examples.Elementary.</b></td></tr>
  <tr><td valign=\"top\"> PointMassesWithGravity</td>
      <td valign=\"top\"> 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.</td>
  </tr>
  
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Examples.Systems.</b></td></tr>
  <tr><td valign=\"top\"> RobotR3</td>
      <td valign=\"top\"> 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.</td>
  </tr>
  
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Frames.Orientation.</b></td></tr>
  <tr><td valign=\"top\"> equalityConstraint</td>
      <td valign=\"top\"> 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).</td>
  </tr>
    

  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.</b></td></tr>
  <tr><td valign=\"top\"> Visualizers.</td>
      <td valign=\"top\"> Removed (misleading) annotation \"structurallyIncomplete\" 
           in the models of this sub-library
      </td>
  </tr>
  
  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> Examples</td>
      <td valign=\"top\"> For all models in this sub-library:
           <ul>
           <li> Included a housing object in all examples to compute
                all support torques.</li>
           <li> Replaced initialization by modifiers via the
                initialization menu parameters of Inertia components.</li>
           <li> Removed \"encapsulated\" and unnecessary \"import\". </li>
           <li> Included \"StopTime\" in the annotations.</li>
           </ul>
      </td>
  </tr>
   
  <tr><td colspan=\"2\"><b>Mechanics.Rotational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> FrictionBase</td>
      <td valign=\"top\"> Introduced \"fixed=true\" for Boolean variables startForward, 
           startBackward, mode.
      </td>
  </tr>
  
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> FrictionBase</td>
      <td valign=\"top\"> Introduced \"fixed=true\" for Boolean variables startForward, 
           startBackward, mode.
      </td>
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.UsersGuide.MediumUsage.</b></td></tr>
  <tr><td valign=\"top\"> TwoPhase</td>
      <td valign=\"top\"> Improved documentation and demonstrating the newly introduced functions
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Examples.</b></td></tr>
  <tr><td valign=\"top\"> WaterIF97</td>
      <td valign=\"top\"> Provided (missing) units for variables V, dV, H_flow_ext, m, U.
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialMedium</td>
      <td valign=\"top\"> Final modifiers are removed from nX and nXi, to allow
           customized medium models such as mixtures of refrigerants with oil, etc.
      </td>
  </tr>
  <tr><td valign=\"top\"> PartialCondensingGases</td>
      <td valign=\"top\"> Included attributes \"min=1, max=2\" for input argument FixedPhase
           for functions setDewState and setBubbleState (in order to guarantee
           that input arguments are correct).
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Interfaces.PartialMedium.</b></td></tr>
  <tr><td valign=\"top\"> BaseProperties</td>
      <td valign=\"top\"> 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.
      </td>
  </tr>
  <tr><td valign=\"top\"> IsentropicExponent</td>
      <td valign=\"top\"> \"max\" value changed from 1.7 to 500000
      </td>
  </tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>        
           setState_psX<br>        
           setState_dTX<br>        
           specificEnthalpy_pTX<br>
           temperature_phX<br>     
           density_phX<br>         
           temperature_psX<br>     
           density_psX<br>         
           specificEnthalpy_psX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Interfaces.PartialSimpleMedium.</b></td></tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>
           setState_psX<br>
           setState_dTX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Interfaces.PartialSimpleIdealGasMedium.</b></td></tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>
           setState_psX<br>
           setState_dTX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Air.MoistAir.</b></td></tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>
           setState_dTX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
  
  <tr><td colspan=\"2\"><b> Media.IdealGases.Common.SingleGasNasa.</b></td></tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>
           setState_psX<br>
           setState_dTX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
  
  <tr><td colspan=\"2\"><b> Media.IdealGases.Common.MixtureGasNasa.</b></td></tr>
  <tr><td valign=\"top\"> setState_pTX<br>
           setState_phX<br>
           setState_psX<br>
           setState_dTX<br>
           h_TX</td>
      <td valign=\"top\"> Introduced defaut value \"reference_X\" for input argument \"X\".
      </td>
  </tr>
 
  <tr><td colspan=\"2\"><b> Media.Common.</b></td></tr>
  <tr><td valign=\"top\"> IF97PhaseBoundaryProperties<br>
           gibbsToBridgmansTables </td>
      <td valign=\"top\"> Introduced unit for variables vt, vp.
      </td>
  </tr>
  <tr><td valign=\"top\"> SaturationProperties</td>
      <td valign=\"top\"> Introduced unit for variable dpT.
      </td>
  </tr>     
  <tr><td valign=\"top\"> BridgmansTables</td>
      <td valign=\"top\"> Introduced unit for dfs, dgs.
      </td>
  </tr>   
 
  <tr><td colspan=\"2\"><b> Media.Common.ThermoFluidSpecial.</b></td></tr>
  <tr><td valign=\"top\"> gibbsToProps_ph<br>
           gibbsToProps_ph  <br>   
           gibbsToBoundaryProps<br>
           gibbsToProps_dT<br>     
           gibbsToProps_pT</td>
      <td valign=\"top\"> Introduced unit for variables vt, vp.
      </td>
  <tr><td valign=\"top\"> TwoPhaseToProps_ph</td>
      <td valign=\"top\"> Introduced unit for variables dht, dhd, detph.
      </td>
  </tr>     
 
  <tr><td colspan=\"2\"><b> Media.</b></td></tr>
  <tr><td valign=\"top\"> MoistAir</td>
      <td valign=\"top\"> Documentation of moist air model significantly improved.
      </td>
  </tr>     
 
  <tr><td colspan=\"2\"><b> Media.MoistAir.</b></td></tr>
  <tr><td valign=\"top\"> enthalpyOfVaporization</td>
      <td valign=\"top\"> Replaced by linear correlation since simpler and more 
           accurate in the entire region.
      </td>
  </tr>     
 
  <tr><td colspan=\"2\"><b> Media.Water.IF97_Utilities.BaseIF97.Regions.</b></td></tr>
  <tr><td valign=\"top\"> drhovl_dp</td>
      <td valign=\"top\"> Introduced unit for variable dd_dp.
      </td>
  </tr>   
 
  <tr><td colspan=\"2\"><b> Thermal.</b></td></tr>
  <tr><td valign=\"top\"> FluidHeatFlow</td>
      <td valign=\"top\"> 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.
      </td>
  </tr> 
</table> 
 
 
 
<p><br>
The following <b style=\"color:red\">critical errors</b> have been fixed (i.e. errors
that can lead to wrong simulation results):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Electrical.Machines.BasicMachines.Components.</b></td></tr>
  <tr><td valign=\"top\"> ElectricalExcitation</td>
      <td valign=\"top\"> Excitation voltage ve is calculated as
           \"spacePhasor_r.v_[1]*TurnsRatio*3/2\" instead of
           \"spacePhasor_r.v_[1]*TurnsRatio
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Parts.</b></td></tr>
  <tr><td valign=\"top\"> FixedRotation</td>
      <td valign=\"top\"> 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 seldomly in practice):
           <ul><li> frame_b is in the spanning tree closer to the root
                    (usually this is frame_a).</li>
               <li> vector r from frame_a to frame_b is not zero.</li>
           </ul>
       </td> 
  </tr>
 
 <tr><td valign=\"top\"> PointMass</td>
     <td valign=\"top\"> 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.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialPureSubstance.</b></td></tr>
  <tr><td valign=\"top\"> pressure_dT<br>
           specificEnthalpy_dT
      </td>
      <td valign=\"top\"> Changed wrong call from \"setState_pTX\" to \"setState_dTX\"
       </td> 
  </tr>
 
 
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialTwoPhaseMedium.</b></td></tr>
  <tr><td valign=\"top\"> pressure_dT<br>        
           specificEnthalpy_dT
      </td>
      <td valign=\"top\"> Changed wrong call from \"setState_pTX\" to \"setState_dTX\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Common.ThermoFluidSpecial.</b></td></tr>
  <tr><td valign=\"top\"> gibbsToProps_dT<br>    
           helmholtzToProps_ph<br>
           helmholtzToProps_pT<br>
           helmholtzToProps_dT</td>
      <td valign=\"top\"> Bugs in equations corrected </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Common.</b></td></tr>
  <tr><td valign=\"top\"> helmholtzToBridgmansTables<br>            
           helmholtzToExtraDerivs</td>
      <td valign=\"top\"> Bugs in equations corrected </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.IdealGases.Common.SingleGasNasa.</b></td></tr>
  <tr><td valign=\"top\"> density_derp_T</td>
      <td valign=\"top\"> Bug in equation of partial derivative corrected </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.</b></td></tr>
  <tr><td valign=\"top\"> BaseIF97.Inverses.dtofps3<br>  
           isentropicExponent_props_ph<br> 
           isentropicExponent_props_pT<br>
           isentropicExponent_props_dT</td>         
      <td valign=\"top\"> Bugs in equations corrected </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Air.MoistAir.</b></td></tr>
  <tr><td valign=\"top\"> h_pTX</td>         
      <td valign=\"top\"> Bug in setState_phX due to wrong vector size in h_pTX corrected.
           Furthermore, syntactical errors corrected:  
           <ul><li> In function massFractionpTphi an equation 
                    sign is used in an algorithm.</li>
               <li> Two consecutive semicolons removed</li>
           </ul>
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Water.</b></td></tr>
  <tr><td valign=\"top\"> waterConstants</td>         
      <td valign=\"top\"> Bug in equation of criticalMolarVolume corrected.
      </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.BaseIF97.Regions.</b></td></tr>
  <tr><td valign=\"top\"> region_ph<br>
           region_ps</td>         
      <td valign=\"top\"> Bug in region determination corrected.
      </td> 
  </tr>
 
  <tr><td valign=\"top\"> boilingcurve_p<br>
           dewcurve_p</td>         
      <td valign=\"top\"> Bug in equation of plim corrected.
      </td> 
  </tr>
</table>
 
 
<p><br>
The following <b style=\"color:red\">uncritical errors</b> have been fixed (i.e. errors
that do <b style=\"color:red\">not</b> lead to wrong simulation results, but, e.g., 
units are wrong or errors in documentation):
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2 style=\"border-collapse:collapse;\">
  <tr><td colspan=\"2\"><b>Blocks.</b></td></tr>
  <tr><td valign=\"top\"> Examples</td>
      <td valign=\"top\"> Corrected typos in description texts of bus example models.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Blocks.Continuous.</b></td></tr>
  <tr><td valign=\"top\"> LimIntegrator</td>
      <td valign=\"top\"> removed incorrect smooth(0,..) because expression might be discontinuous.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Blocks.Math.UnitConversions.</b></td></tr>
  <tr><td valign=\"top\"> block_To_kWh<br>block_From_kWh</td>
      <td valign=\"top\"> Corrected unit from \"kWh\" to (syntactically correct) \"kW.h\".
       </td> 
  </tr>

  <tr><td colspan=\"2\"><b>Electrical.Analog.Examples.</b></td></tr>
  <tr><td valign=\"top\"> HeatingNPN_OrGate</td>
      <td valign=\"top\"> Included start values, so that initialization is
                        successful </td> 
  </tr>

  <tr><td colspan=\"2\"><b>Electrical.Analog.Lines.</b></td></tr>
  <tr><td valign=\"top\"> OLine</td>
      <td valign=\"top\"> Corrected unit from \"Siemens/m\" to \"S/m\".
       </td> 
  <tr><td valign=\"top\"> TLine2</td>
      <td valign=\"top\"> Changed wrong type of parameter NL (normalized length) from
           SIunits.Length to Real.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital.Delay.</b></td></tr>
  <tr><td valign=\"top\"> TransportDelay</td>
      <td valign=\"top\"> Syntax error corrected
           (\":=\" in equation section is converted by Dymola silently to \"=\").
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.Digital</b></td></tr>
  <tr><td valign=\"top\"> Converters</td>
      <td valign=\"top\"> Syntax error corrected
           (\":=\" in equation section is converted by Dymola silently to \"=\").
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.MultiPhase.Basic.</b></td></tr>
  <tr><td valign=\"top\"> Conductor</td>
      <td valign=\"top\"> Changed wrong type of parameter G from SIunits.Resistance to
           SIunits.Conductance.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.MultiPhase.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> Plug<br></td>
      <td valign=\"top\"> Made used \"pin\" connectors non-graphical (otherwise, 
           there are difficulties to connect to Plug).
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Electrical.MultiPhase.Sources.</b></td></tr>
  <tr><td valign=\"top\"> SineCurrent</td>
      <td valign=\"top\"> Changed wrong type of parameter offset from SIunits.Voltage to
           SIunits.Current.
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Examples.Loops.</b></td></tr>
  <tr><td valign=\"top\"> EngineV6</td>
      <td valign=\"top\"> Corrected wrong crankAngleOffset of some cylinders
           and improved the example.
       </td> 
  </tr>
 
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Examples.Loops.Utilities.</b></td></tr>
  <tr><td valign=\"top\"> GasForce</td>
      <td valign=\"top\"> Wrong units corrected:
           \"SIunitsPosition x,y\" to \"Real x,y\";
" + "           \"SIunits.Pressure press\" to \"SIunits.Conversions.NonSIunits.Pressure_bar\"
       </td> 
  </tr>
  <tr><td valign=\"top\"> GasForce2</td>
      <td valign=\"top\"> Wrong unit corrected: \"SIunits.Position x\" to \"Real x\".
       </td> 
  </tr>
  <tr><td valign=\"top\"> EngineV6_analytic</td>
      <td valign=\"top\"> Corrected wrong crankAngleOffset of some cylinders.
       </td> 
  </tr>
 
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> PartialLineForce</td>
      <td valign=\"top\"> Corrected wrong unit: \"SIunits.Position eRod_a\" to \"Real eRod_a\";
       </td> 
  </tr>
  <tr><td valign=\"top\"> FlangeWithBearingAdaptor </td>
      <td valign=\"top\"> 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.</td>
  </tr>

 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Forces.</b></td></tr>
  <tr><td valign=\"top\"> ForceAndTorque</td>
      <td valign=\"top\"> Corrected wrong unit: \"SIunits.Force t_b_0\" to \"SIunits.Torque t_b_0\".
       </td> 
  </tr>
  <tr><td valign=\"top\"> LineForceWithTwoMasses</td>
      <td valign=\"top\"> Corrected wrong unit: \"SIunits.Position e_rel_0\" to \"Real e_rel_0\".
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Frames.</b></td></tr>
  <tr><td valign=\"top\"> axisRotation</td>
      <td valign=\"top\"> Corrected wrong unit: \"SIunits.Angle der_angle\" to
            \"SIunits.AngularVelocity der_angle\".
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Joints.Assemblies.</b></td></tr>
  <tr><td valign=\"top\"> JointUSP<br>JointSSP</td>
      <td valign=\"top\"> Corrected wrong unit: \"SIunits.Position aux\"  to \"Real\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Sensors.</b></td></tr>
  <tr><td valign=\"top\"> AbsoluteSensor</td>
      <td valign=\"top\"> Corrected wrong units: \"SIunits.Acceleration angles\" to
           \"SIunits.Angle angles\" and
           \"SIunits.Velocity w_abs_0\" to \"SIunits.AngularVelocity w_abs_0\"
       </td> 
  </tr>
  <tr><td valign=\"top\"> RelativeSensor</td>
      <td valign=\"top\"> Corrected wrong units: \"SIunits.Acceleration angles\" to
           \"SIunits.Angle angles\"
       </td> 
  </tr>
  <tr><td valign=\"top\"> Distance</td>
      <td valign=\"top\"> Corrected wrong units: \"SIunits.Length L2\" to \"SIunits.Area L2\" and
           SIunits.Length s_small2\" to \"SIunits.Area s_small2\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.MultiBody.Visualizers.Advanced.</b></td></tr>
  <tr><td valign=\"top\"> Shape</td>
      <td valign=\"top\"> 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\".
       </td> 
  </tr>  
 
  <tr><td colspan=\"2\"><b>Mechanics.Rotational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> FrictionBase</td>
      <td valign=\"top\"> 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)
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\"> OneWayClutch<br>LossyGear</td>
      <td valign=\"top\"> 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)
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.Translational.Interfaces.</b></td></tr>
  <tr><td valign=\"top\"> FrictionBase</td>
      <td valign=\"top\"> 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)
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Mechanics.Translational.</b></td></tr>
  <tr><td valign=\"top\"> Speed</td>
      <td valign=\"top\"> Corrected unit of v_ref from SIunits.Position to SIunits.Velocity
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Examples.Tests.Components.</b></td></tr>
  <tr><td valign=\"top\"> PartialTestModel<br>PartialTestModel2</td>
      <td valign=\"top\"> Corrected unit of h_start from \"SIunits.Density\" to \"SIunits.SpecificEnthalpy\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Examples.SolveOneNonlinearEquation.</b></td></tr>
  <tr><td valign=\"top\"> Inverse_sh_T
           InverseIncompressible_sh_T<br>
           Inverse_sh_TX</td>
      <td valign=\"top\"> Rewrote equations so that dimensional (unit) analysis is correct\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Incompressible.Examples.</b></td></tr>
  <tr><td valign=\"top\"> TestGlycol</td>
      <td valign=\"top\"> Rewrote equations so that dimensional (unit) analysis is correct\"
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Interfaces.PartialTwoPhaseMedium.</b></td></tr>
  <tr><td valign=\"top\"> dBubbleDensity_dPressure<br>dDewDensity_dPressure</td>
      <td valign=\"top\"> Changed wrong type of ddldp from \"DerDensityByEnthalpy\"
           to \"DerDensityByPressure\".
       </td> 
  </tr>
 
  <tr><td colspan=\"2\"><b>Media.Common.ThermoFluidSpecial.</b></td></tr>
  <tr><td valign=\"top\"> ThermoProperties</td>
      <td valign=\"top\"> Changed wrong units:
           \"SIunits.DerEnergyByPressure dupT\" to \"Real dupT\" and
           \"SIunits.DerEnergyByDensity dudT\" to \"Real dudT\"
       </td> 
  </tr>
  <tr><td valign=\"top\"> ThermoProperties_ph</td>
      <td valign=\"top\"> Changed wrong unit from \"SIunits.DerEnergyByPressure duph\" to \"Real duph\"
       </td> 
  </tr>
  <tr><td valign=\"top\"> ThermoProperties_pT</td>
      <td valign=\"top\"> Changed wrong unit from \"SIunits.DerEnergyByPressure dupT\" to \"Real dupT\"
       </td> 
  </tr>  
  <tr><td valign=\"top\"> ThermoProperties_dT</td>
      <td valign=\"top\">  Changed wrong unit from \"SIunits.DerEnergyByDensity dudT\" to \"Real dudT\"
       </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.IdealGases.Common.SingleGasNasa.</b></td></tr>
  <tr><td valign=\"top\"> cp_Tlow_der</td>
      <td valign=\"top\"> Changed wrong unit from \"SIunits.Temperature dT\" to \"Real dT\".
       </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.BaseIF97.Basic.</b></td></tr>
  <tr><td valign=\"top\"> p1_hs<br>
           h2ab_s<br> 
           p2a_hs<br> 
           p2b_hs<br> 
           p2c_hs<br> 
           h3ab_p<br> 
           T3a_ph<br> 
           T3b_ph<br> 
           v3a_ph<br> 
           v3b_ph<br> 
           T3a_ps<br> 
           T3b_ps<br> 
           v3a_ps<br> 
           v3b_ps</td>
      <td valign=\"top\"> Changed wrong unit of variables h/hstar, s, sstar from
           \"SIunits.Enthalpy\" to \"SIunits.SpecificEnthalpy\",
           \"SIunits.SpecificEntropy\", \"SIunits.SpecificEntropy
       </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.BaseIF97.Transport.</b></td></tr>
  <tr><td valign=\"top\"> cond_dTp</td>
      <td valign=\"top\"> Changed wrong unit of TREL, rhoREL, lambdaREL from
           \"SIunits.Temperature\", \"SIunit.Density\", \"SIunits.ThermalConductivity\"
           to \"Real\".
       </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.BaseIF97.Inverses.</b></td></tr>
  <tr><td valign=\"top\"> tofps5<br>tofpst5</td>
      <td valign=\"top\"> Changed wrong unit of pros from \"SIunits.SpecificEnthalpy\" to
           \"SIunits.SpecificEntropy\".
       </td> 
  </tr>
  
  <tr><td colspan=\"2\"><b>Media.Water.IF97_Utilities.</b></td></tr>
  <tr><td valign=\"top\"> waterBaseProp_ph</td>
      <td valign=\"top\"> Improved calculation at the limits of the validity.
       </td> 
  </tr>
 
    <tr><td colspan=\"2\"><b>Thermal.</b></td></tr>
  <tr><td valign=\"top\"> FluidHeatFlow<br>HeatTransfer</td>
      <td valign=\"top\"> Corrected wrong unit \"SIunits.Temperature\" of difference temperature
            variables with \"SIunits.TemperatureDifference\".
       </td> 
  </tr>
 
</table>
                               
</html>"));
  end Version_2_2_2;

  class Version_2_2_1 "Version 2.2.1 (March 24, 2006)"

      annotation (Documentation(info="<html>

<p>
Version 2.2.1 is backward compatible to version 2.2.
</p>
 
<p>
In this version, <b>no</b> new libraries have been added.
The following major improvements have been made:
</p>
 
<ul>
<li> The <b>Documentation</b> of the Modelica standard library was
     considerably improved:<br>
     In Dymola 6, the new feature was introduced to automatically add tables
     for class content and component interface definitions (parameters and 
     connectors) to the info layer. For this reason, the corresponding (partial)
     tables previously present in the Modelica Standard Library have been
     removed. The new feature of Dymola 6 has the significant advantage that
     all tables are now guaranteed to be up-to-date.<br>
     Additionally, the documentation has been improved by adding appropriate
     description texts to parameters, connector instances, function input
     and output arguments etc., in order that the automatically generated
     tables do not have empty entries. Also new User's Guides for sublibraries
     Rotational and SIunits have been added and the User's Guide on top
     level (Modelica.UsersGuide) has been improved.<br>&nbsp;</li>
 
<li> Initialization options have been added to the Modelica.Blocks.<b>Continuous</b>
     blocks (NoInit, SteadyState, InitialState, InitialOutput). If InitialOutput
     is selected, the block output is provided as initial condition. The states
     of the block are then initialized as close as possible to steady state.
     Furthermore, the Continuous.LimPID block has been significantly
     improved and much better documented.<br>&nbsp;</li>
 
<li> The Modelica.<b>Media</b> library has been significantly improved:<br>
     New functions setState_pTX, setState_phX, setState_psX, setState_dTX
     have been added to PartialMedium to compute the independent medium variables
     (= state of medium) from p,T,X, or from p,h,X or from p,s,X or from
     d,T,X. Then functions are provided for all interesting medium variables
     to compute them from its medium state. All these functions are
     implemented in a robust way for all media (with a few exceptions, if the
     generic function does not make sense for a particular medium).</li>
</ul>
 
<p>
The following <b>new components</b> have been added to <b>existing</b> libraries:
</p>
 
<table border=\"1\" cellspacing=0 cellpadding=2>
  <tr><td colspan=\"2\"><b>Modelica.Blocks.Examples.</b></td></tr>
  <tr><td valign=\"top\"> PID_Controller</td>
      <td valign=\"top\"> Example to demonstrate the usage of the
           Blocks.Continuous.LimPID block.</td> </tr>
  <tr><td colspan=\"2\"><b>Modelica.Blocks.Math.</b></td></tr>
  <tr><td valign=\"top\"> UnitConversions.*</td>
      <td valign=\"top\"> New package that provides blocks for unit conversions.
           UnitConversions.ConvertAllBlocks allows to select all
           available conversions from a menu.</td> </tr>
  <tr><td colspan=\"2\"><b>Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.</b></td></tr>
  <tr><td valign=\"top\"> SM_ElectricalExcitedDamperCage</td>
      <td valign=\"top\"> Electrical excited synchronous induction machine with damper cage</td> </tr>
  <tr><td colspan=\"2\"><b>Modelica.Electrical.Machines.BasicMachines.Components.</b></td></tr>
  <tr><td valign=\"top\"> ElectricalExcitation </td>
      <td valign=\"top\"> Electrical excitation for electrical excited synchronous 
           induction machines</td> </tr>
  <tr><td valign=\"top\"> DamperCage</td>
      <td valign=\"top\"> Unsymmetrical damper cage for electrical excited synchronous 
           induction machines. At least the user has to specify the dampers
           resistance and stray inductance in d-axis; if he omits the
           parameters of the q-axis, the same values as for the d.axis 
           are used, assuming a symmetrical damper.</td> </tr>
  <tr><td colspan=\"2\"><b>Modelica.Electrical.Machines.Examples.</b></td></tr>
  <tr><td valign=\"top\"> SMEE_Gen </td>
      <td valign=\"top\"> Test example 7: ElectricalExcitedSynchronousInductionMachine 
           as Generator</td> </tr>
  <tr><td valign=\"top\"> Utilities.TerminalBox</td>
      <td valign=\"top\"> Terminal box for three-phase induction machines to choose  
           either star (wye) ? or delta ? connection</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Math.Matrices.</b></td></tr>
  <tr><td valign=\"top\"> equalityLeastSquares</td>
      <td valign=\"top\"> Solve a linear equality constrained least squares problem:<br>
          min|A*x-a|^2 subject to B*x=b</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Mechanics.MultiBody.</b></td></tr>
  <tr><td valign=\"top\"> Parts.PointMass</td>
      <td valign=\"top\"> Point mass, i.e., body where inertia tensor is neglected.</td> </tr>
  <tr><td valign=\"top\"> Interfaces.FlangeWithBearing</td>
      <td valign=\"top\"> Connector consisting of 1-dim. rotational flange and its 
           3-dim. bearing frame.</td> </tr>
  <tr><td valign=\"top\"> Interfaces.FlangeWithBearingAdaptor</td>
      <td valign=\"top\"> Adaptor to allow direct connections to the sub-connectors 
           of FlangeWithBearing.</td> </tr>
  <tr><td valign=\"top\"> Types.SpecularCoefficient</td>
      <td valign=\"top\"> New type to define a specular coefficient.</td> </tr>
  <tr><td valign=\"top\"> Types.ShapeExtra</td>
      <td valign=\"top\"> New type to define the extra data for visual shape objects and to
           have a central place for the documentation of this data.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Mechanics.MultiBody.Examples.Elementary</b></td></tr>
  <tr><td valign=\"top\"> PointGravityWithPointMasses</td>
      <td valign=\"top\"> Example of two point masses in a central gravity field.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Mechanics.Rotational.</b></td></tr>
  <tr><td valign=\"top\">UsersGuide</td>
      <td valign=\"top\"> A User's Guide has been added by using the documentation previously
           present in the package documentation of Rotational.</td> </tr>
  <tr><td valign=\"top\">Sensors.PowerSensor</td>
      <td valign=\"top\"> New component to measure the energy flow between two connectors
           of the Rotational library.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Mechanics.Translational.</b></td></tr>
  <tr><td valign=\"top\">Speed</td>
      <td valign=\"top\"> New component to move a translational flange 
           according to a reference speed</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Media.Interfaces.PartialMedium.</b></td></tr>
  <tr><td valign=\"top\">specificEnthalpy_pTX</td>
      <td valign=\"top\"> New function to compute specific enthalpy from pressure, temperature
           and mass fractions.</td> </tr>
  <tr><td valign=\"top\">temperature_phX</td>
      <td valign=\"top\"> New function to compute temperature from pressure, specific enthalpy,
           and mass fractions.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Icons.</b></td></tr>
  <tr><td valign=\"top\"> SignalBus</td>
      <td valign=\"top\"> Icon for signal bus</td> </tr>
  <tr><td valign=\"top\"> SignalSubBus</td>
      <td valign=\"top\"> Icon for signal sub-bus</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.SIunits.</b></td></tr>
  <tr><td valign=\"top\">UsersGuide</td>
      <td valign=\"top\"> A User's Guide has been added that describes unit handling.</td> </tr>
  <tr><td valign=\"top\"> Resistance<br>
           Conductance</td>
      <td valign=\"top\"> Attribute 'min=0' removed from these types.</td> </tr>
 
  <tr><td colspan=\"2\"><b>Modelica.Thermal.FluidHeatFlow.</b></td></tr>
  <tr><td valign=\"top\"> Components.Valve</td>
      <td 