Skip to content

Releases: modelon-community/ModelicaStandardLibrary

MSL v4.0.0-3

27 Jan 07:46
53ca4fd
Compare
Choose a tag to compare

Added define to control weak linking of usertab

MSL v3.2.3-3

27 Jan 07:46
8a9f6c0
Compare
Choose a tag to compare

Added define to control weak linking of usertab

MSL v3.2.3-2

31 Aug 15:27
Compare
Choose a tag to compare

Modelica Standard Library (MSL) version 3.2.3 build 3 with the following patches applied:

  • 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 state selection in Modelica.Magnetic.FluxTubes.Examples.Hysteresis.HysteresisModelComparison is
    patched to improve the numerical robustness, see issue 2248 on the GitHub repository for Modelica Association (modelica#2248).
  • In Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls the experiment tolerance is tightened to
    1e-008 instead of 1e-006 to avoid chattering.
  • In Modelica.Magnetic.FluxTubes.Examples.Hysteresis.SinglePhaseTransformerWithHysteresis1 an initial
    equation has been added in order to fully specify the initial system, see issue 3409 on the GitHub repository
    for Modelica Association (modelica#3409).
  • 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.
  • 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.
  • 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.
  • 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.
  • The component m has been removed from models Modelica.Electrical.QuasiStationary.MultiPhase.Sources.FrequencySweepCurrentSource and Modelica.Electrical.QuasiStationary.MultiPhase.Sources.FrequencySweepVoltageSource to avoid non-identical duplicate components. See also the reported issue 4021 on the GitHub repository for Modelica Association (modelica#4021).

With the patches listed above applied, all example models in version 3.2.3 build 3 of MSL simulate correctly with
Modelon's OPTIMICA Compiler Toolkit (OCT).

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

  • In file MSL323/ModelicaServices/package.mo, a number of parameters / variables have been added.
  • In file MSL323/ModelicaServices/package.mo, the equation (x, y, z, C) =
    surfaceCharacteristic(nu,nv,multiColoredSurface) has been added.
  • In file MSL323/ModelicaServices/package.mo, the annotation Protection(access=Access.hide) has been added.
  • In directory MSL323/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 MSL323/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 3.2.3 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).

MSL v4.0.0-2

31 Aug 15:23
Compare
Choose a tag to compare

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).

MSL v4.0.0-1

15 Aug 12:21
Compare
Choose a tag to compare

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 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).

MSL v3.2.3-1

15 Aug 12:13
Compare
Choose a tag to compare

Modelica Standard Library (MSL) version 3.2.3 build 3 with the following patches applied:

  • 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 state selection in Modelica.Magnetic.FluxTubes.Examples.Hysteresis.HysteresisModelComparison is
    patched to improve the numerical robustness, see issue 2248 on the GitHub repository for Modelica Association (modelica#2248).
  • In Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls the experiment tolerance is tightened to
    1e-008 instead of 1e-006 to avoid chattering.
  • In Modelica.Magnetic.FluxTubes.Examples.Hysteresis.SinglePhaseTransformerWithHysteresis1 an initial
    equation has been added in order to fully specify the initial system, see issue 3409 on the GitHub repository
    for Modelica Association (modelica#3409).
  • 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.
  • 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.
  • 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.
  • 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.

With the patches listed above applied, all example models in version 3.2.3 build 3 of MSL simulate correctly with
Modelon's OPTIMICA Compiler Toolkit (OCT).

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

  • In file MSL323/ModelicaServices/package.mo, a number of parameters / variables have been added.
  • In file MSL323/ModelicaServices/package.mo, the equation (x, y, z, C) =
    surfaceCharacteristic(nu,nv,multiColoredSurface) has been added.
  • In file MSL323/ModelicaServices/package.mo, the annotation Protection(access=Access.hide) has been added.
  • In directory MSL323/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 MSL323/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 3.2.3 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).