# ReleaseNotes.Version_3_1

## Information

Version 3.1 is backward compatible to version 3.0 and 3.0.1, i.e., models developed with version 3.0 or 3.0.1 will work without any changes also with version 3.1.

Version 3.1 is slightly based on the Modelica Specification 3.1. It uses the following new language elements (compared to Modelica Specification 3.0):

- Prefix stream and built-in operators inStream(..) and actualStream(..) in Modelica.Fluid.
- Annotation connectorSizing in Modelica.Fluid.
- Annotation inverse in Modelica.Media.
- Annotations versionBuild, dateModified, revisionId at the root level annotation of package Modelica, to improve the version handling.
- Modifiers can be used in connectors instances (so balanced models are less restrictive). This allowed to make the implementation of conditional connectors (support and heatPort) in the Rotational, Translational and Electrical libraries simpler.

The following new libraries have been added:

Modelica.Fluid | Components to model 1-dim. thermo-fluid flow in networks of vessels, pipes, fluid machines, valves and fittings. All media from the Modelica.Media library can be used (so incompressible or compressible, single or multiple substance, one or two phase medium). The library is using the stream-concept from Modelica Specification 3.1.
Modelica.Magnetic.FluxTubes | Components to model magnetic devices based on the magnetic flux tubes concepts. Especially to model electro-magnetic actuators. Nonlinear shape, force, leakage, and Material models. Material data for steel, electric sheet, pure iron, Cobalt iron, Nickel iron, NdFeB, Sm2Co17, and more.
ModelicaServices | New top level package that shall contain functions and models to be used in the Modelica Standard Library that requires a tool specific implementation. ModelicaServices is then used in the Modelica package. In this first version, the 3-dim. animation with model Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape was moved to ModelicaServices. Tool vendors can now provide their own implementation of the animation.

The following new components have been added to existing libraries:

Modelica.
versionBuild versionDate dateModified revisionId | New annotations from Modelica 3.1 for version handling added.
Modelica.UsersGuide.ReleaseNotes.
VersionManagement | Copied from info layer of previous ReleaseNotes (to make it more visible) and adapted it to the new possibilities in Modelica Specification 3.1.
Modelica.Blocks.Math.
RectangularToPolar PolarToRectangular | New blocks to convert between rectangular and polar form of space phasors.
Modelica.Blocks.Routing.
Replicator | New block to replicate an input signal to many output signals.
Modelica.Electrical.Analog.Examples.
AmplifierWithOpAmpDetailed HeatingResistor CompareTransformers OvervoltageProtection ControlledSwitchWithArc SwitchWithArc ThyristorBehaviourTest | New examples to demonstrate the usage of new components.
Modelica.Electrical.Analog.Basic.
OpAmpDetailed TranslationalEMF M_Transformer | New detailed model of an operational amplifier. New electromotoric force from electrical energy into mechanical translational energy. Generic transformer with choosable number of inductors
Modelica.Electrical.Analog.Ideal.
OpenerWithArc CloserWithArc ControlledOpenerWithArc ControlledCloserWithArc | New switches with simple arc model.
Modelica.Electrical.Analog.Interfaces.
ConditionalHeatPort | New partial model to add a conditional HeatPort to an electrical component.
Modelica.Electrical.Analog.Lines.
M_Oline | New multiple line model, both the number of lines and the number of segments choosable.
Modelica.Electrical.Analog.Semiconductors.
ZDiode Thyristor | Zener Diode with 3 working areas and simple thyristor model.
Modelica.Electrical.MultiPhase.Ideal.
OpenerWithArc CloserWithArc | New switches with simple arc model (as in Modelica.Electrical.Analog.Ideal.
Modelica.Mechanics.MultiBody.Examples.Elementary.
RollingWheel RollingWheelSetDriving RollingWheelSetPulling | New examples to demonstrate the usage of new components.
Modelica.Mechanics.MultiBody.Joints.
RollingWheel RollingWheelSet | New joints (no mass, no inertia) that describe an ideal rolling wheel and a ideal rolling wheel set consisting of two wheels rolling on the plane z=0.
Modelica.Mechanics.MultiBody.Parts.
RollingWheel RollingWheelSet | New ideal rolling wheel and ideal rolling wheel set consisting of two wheels rolling on the plane z=0.
Modelica.Mechanics.MultiBody.Visualizers.
Ground | New model to visualize the ground (box at z=0).
Modelica.Mechanics.Rotational.Interfaces.
PartialElementaryOneFlangeAndSupport2 PartialElementaryTwoFlangesAndSupport2 | New partial model with one and two flanges and the support flange with a much simpler implementation as previously.
Modelica.Mechanics.Translational.Interfaces.
PartialElementaryOneFlangeAndSupport2 PartialElementaryTwoFlangesAndSupport2 | New partial model with one and two flanges and the support flange with a much simpler implementation as previously.
Modelica.Media.IdealGases.Common.MixtureGasNasa.
setSmoothState | Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b.
Modelica.Utilities.Internal.
PartialModelicaServices | New package containing the interface description of models and functions that require a tool dependent implementation (currently only "Shape" for 3-dim. animation, but will be extended in the future)
Modelica.Thermal.HeatTransfer.Components.
ThermalCollector | New auxiliary model to collect the heat flows from m heatports to a single heatport; useful for multiphase resistors (with heatports) as a junction of the m heatports.
Modelica.Icons.
VariantLibrary BaseClassLibrary ObsoleteModel | New icons (VariantLibrary and BaseClassLibrary have been moved from Modelica_Fluid.Icons to this place).
Modelica.SIunits.
ElectricalForceConstant | New type added (#190).
Modelica.SIunits.Conversions.
from_Hz to_Hz | New functions to convert between frequency [Hz] and angular velocity [1/s]. (#156)

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

Modelica.
Blocks Mechanics StateGraph | Provided missing parameter values for examples (these parameters had only start values)
Modelica.Electrical.Analog.Basic
Resistor, Conductor, VariableResistor, VariableConductor | Conditional heatport added for coupling to thermal network.
Modelica.Electrical.Analog.Ideal
Thyristors, Switches, IdealDiode | Conditional heatport added for coupling to thermal network.
Modelica.Electrical.Analog.Semiconductors
Diode, ZDiode, PMOS, NMOS, NPN, PNP | Conditional heatport added for coupling to thermal network.
Modelica.Electrical.MultiPhase.Basic
Resistor, Conductor, VariableResistor, VariableConductor | Conditional heatport added for coupling to thermal network (as in Modelica.Electrical.Analog).
Modelica.Electrical.MultiPhase.Ideal
Thyristors, Switches, IdealDiode | Conditional heatport added for coupling to thermal network (as in Modelica.Electrical.Analog).
Modelica.Mechanics.MultiBody.Visualizers.Advanced.
Shape | New implementation by inheriting from ModelicaServices. This allows a tool vendor to provide its own implementation of Shape.
Modelica.StateGraph.
Examples | Introduced "StateGraphRoot" on the top level of all example models.
Modelica.StateGraph.Interfaces.
StateGraphRoot PartialCompositeStep CompositeStepState | Replaced the wrong Modelica code "flow output Real xxx" by "Real dummy; flow Real xxx;". As a side effect, several "blocks" had to be changed to "models".
PartialStep | Changed model by packing the protected outer connector in to a model. Otherwise, there might be differences in the sign of the flow variable in Modelica 3.0 and 3.1.
Modelica.Utilities.Examples.
expression | Changed local variable "operator" to "opString" since "operator" is a reserved keyword in Modelica 3.1

The following uncritical errors have been fixed (i.e., errors that do not lead to wrong simulation results, but, e.g., units are wrong or errors in documentation):

Modelica.
Many models | Removed wrong usages of annotations fillColor and fillPattern in text annotations (#155, #185).
Modelica.Electrical.Machines
All machine models | The conditional heatports of the instantiated resistors (which are new in Modelica.Electrical.Analog and Modelica.Electrical.MultiPhase) are finally switched off until a thermal connector design for machines is implemented.
Modelica.Media.Air.MoistAir
saturationPressureLiquid sublimationPressureIce saturationPressure | For these three functions, an error in the `derivative` annotation was corrected. However, the effect of this bug was minor, as a Modelica tool was allowed to compute derivatives automatically via the `smoothOrder` annotation.
Modelica.Math.Matrices.
eigenValues | Wrong documentation corrected (#162)

Generated at 2018-08-07T07:53:32Z by OpenModelicaOpenModelica 1.13.0~dev-1195-g6d891ea