Skip to content

MSL v4.0.0-2

Compare
Choose a tag to compare
@filip-stenstrom filip-stenstrom released this 31 Aug 15:23
· 2 commits to v4.0.0-patched since this release

Modelica Standard Library (MSL) version 4.0.0 with the following patches applied:

  • The method ModelicaInternal_fullPathName in ModelicaInternal.c is updated according to the reported issue
    issue 3660 on the GitHub repository for Modelica Association (modelica#3660).
  • To the model Modelica.Blocks.Examples.NoiseExamples.ActuatorWithNoise defined in Modelica/Blocks/
    package.mo a StateSelect.always is added for Controller.y1. With this patch dynamic state selection is avoided.
    See also the reported issue 2189 on the GitHub repository for Modelica Association (modelica#2189).
  • The model Modelica.Electrical.Analog.Examples.SimpleTriacCircuit is patched to with a looser tolerance to
    improve numerical stability near certain event points.
  • The model Modelica.Electrical.Analog.Examples.OpAmps.DifferentialAmplifier is patched with an updated
    nominal to improve the scaling of the problem.
  • The model Modelica.Electrical.Machines.Examples.InductionMachines.IMC_DCBraking is patched to improve simulation performance. The variables imc.is[1] and imc.is[2] now have StateSelect.always, imc.is[3] has
    StateSelect.never.
  • The following functions were made impure: realFFTwriteToFile, initializeImpureRandom and readRealParameter in files Modelica/Math/FastFourierTransform.mo, Modelica/Math/Random.mo and Modelica/Utilities/Examples.mo respectively. The reason is that they contain calls to several impure functions. See also the
    reported issue 3857 on the GitHub repository for Modelica Association (modelica#3857).
  • The function getMemory in Modelica/Electrical/Digital.mo has been made impure since it contains
    a call to another impure function Modelica.Utilities.Streams.readLine. To account for this, if initial() has been replaced with when initial in both Modelica.Electrical.Digital.Memories.DLATRAM and
    Modelica.Electrical.Digital.Memories.DLATROM. See also the reported issue 3855 on the GitHub repository
    for Modelica Association (modelica#3855).
  • In Modelica.Media.Examples.SolveOneNonlinearEquation.Inverse_sine the call to function print has been put
    within an initial equation since print is an impure function. See also the reported issue 3856 on the GitHub
    repository for Modelica Association (modelica#3856).
  • In Modelica.Electrical.PowerConverters.Examples.ACDC.RectifierBridge2mPulse.DiodeBridge2mPulse the
    experiment tolerance is tightened to 3e-007 instead of 1e-006 to avoid infinite loops due to numerical noise.
  • The parameters Basic.LeakageWithCoefficient leakage and
    Modelica.Magnetic.QuasiStatic.FluxTubes.Basic.LeakageWithCoefficient leakage in files Magnetic/FluxTubes/Examples/BasicExamples/QuadraticCoreAirgap.mo and Magnetic/QuasiStatic/FluxTubes/Examples/BasicExamples/QuadraticCoreAirgap.mo had their start values explicitly set to 1e-8 for numerical stability.
  • In Modelica/Utilities/Examples.mo several calls to function Modelica.Utilities.Streams.readMatrixSize have
    been wrapped in pure since the function is impure.
  • In Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_InverterDrive the connection to ground has been relocated from the rectifier to the inductor in order to simplify the set of linear equations
    for proper state selection.
  • The subpackage Modelica.Clocked is currently not supported and thus has been removed.
  • In Modelica/Resources/C-Sources/ModelicaStandardTablesUsertab.c it is removed weak symbol linking for
    MacOS since MacOS doesn't support it. This affects the models using ModelicaStandardTables.
  • In Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls the experiment tolerance is tightened to
    1e-008 instead of 1e-006 to avoid chattering.
  • In Modelica/Media/package.mo array sizes are specified since OCT does not support this type
    of unspecified array sizes. This affects the models Modelica.Media.Examples.ReferenceAir.MoistAir,
    Modelica.Media.Examples.ReferenceAir.MoistAir1 and Modelica.Media.Examples.ReferenceAir.MoistAir2.
  • The component m has been removed from models Modelica.Electrical.QuasiStatic.Polyphase.Sources.FrequencySweepCurrentSource and Modelica.Electrical.QuasiStatic.Polyphase.Sources.FrequencySweepVoltageSource to avoid non-identical duplicate components. See also the reported issue 4021 on the GitHub repository for Modelica Association (modelica#4021).

The following changes have also been applied in order to support 3D animations in Modelon Impact:

  • In file MSL400/ModelicaServices/package.mo, a number of parameters / variables have been added.
  • In file MSL400/ModelicaServices/package.mo, the equation (x, y, z, C) =
    surfaceCharacteristic(nu,nv,multiColoredSurface) has been added.
  • In file MSL400/ModelicaServices/package.mo, the annotation Protection(access=Access.hide) has been added.
  • In directory MSL400/Modelica/Resources/Data/Shapes/Engine, the three files crank.glb, piston.glb and rod.glb
    have been added. These are files converted from their respective dxf-format in that same directory.
  • In directory MSL400/Modelica/Resources/Data/Shapes/RobotR3, the six files b0.glb, b1.glb, b2.glb, b3.glb,
    b4.glb, b5.glb and b6.glb have been added. These are files converted from their respective dxf-format in that
    same directory.

Several icons in the MSL bundle of version 4.0.0 are also updated visually such that they are using a gradient fill,
this change is in line with the pull request at issue 3952 (modelica#3952).