Skip to content

Releases: modelica/fmi-standard

v3.0-alpha.7

25 Mar 12:15
Compare
Choose a tag to compare
v3.0-alpha.7 Pre-release
Pre-release

Compared to v3.0-alpha.6, v3.0-alpha.7 introduces the following changes (for details and smaller changes see commit history)

C-API & XML Schema

  • Change of C-type for bool variables (#1353)
  • Unify naming of "continuous states" and "derivatives" in API and XML (#1355)
  • Clean up Clocks API and schema (#1361)
  • Remove explicit enum values from fmi3DependencyKind (#1363)

Specification

  • Change example code from C-like pseoudo-code to compilable C-Code (that gets automatically compiled by CI) (#1358)
  • Move and improve data flow images (#1354)
  • Explain dependency on multiple clocks (#1349)
  • Clarify intermediateUpdateTime in SE (#1342)

v3.0-alpha.6

08 Mar 13:02
be9e94b
Compare
Choose a tag to compare
v3.0-alpha.6 Pre-release
Pre-release

The following larger changes have been made since v3.0-alpha.5 (for details and smaller changes see commit history)

  • Refactoring and restructuring of the specification document (#1272, #1222 )
  • Clarification and unification of the Clocks API between different FMI Interface Types, to allow for usage of the Clocks API in different semantics (#1272, #1314)

C-API

  • Changes of arguments in doStep (#1320)
  • Rename fmi3NewDiscreteStates to fmi3UpdateDiscreteStates (#1224)
  • Adapt instantiation functions (#1195, #1169 , #1272)
  • Move eventEncountered to fmi3DoStep (#1127)
  • Removed clocksAboutToTick from fmi3DoStep (#1320)
  • Improved Clocks API (#1272)

XML Schema

  • Add Name to sourcefileset (#1302)
  • Add fmi3ScheduledExecution to schema (#1176)
  • Improved Clock Attributes (#1272 )
  • Rename Derivatives to StateDerivatives (#1272)
  • Introduce DiscreteTimeState(#1279)
  • Changes from xs:int to xs:long (#1272)
  • Add ClockedState elements to ModelStructure (#1328, #1287)
  • Added Clock elements to ModelStructure (#1328, #1287)
  • Added previous attribute to Variable (#1328, #1287)

Specification

  • Unification and improvement of state charts, super states (#1315, #1204)
    • Clarifications for Intermediate Update mode including continuity requirements (#1302, #1149, #1142)
    • Moved Configuration Mode and Reconfiguration Mode outside FMU State Setable (#1315)

FMU File Structure

  • Definition of layered standards (#1218)
    • Add first layered standard (proposal) XCP4FMI (#1179)
    • Second layered standard for networks still pending (see #1177)

FMI Specification 2.0.2

23 Dec 19:55
9a8fdec
Compare
Choose a tag to compare
  • p. 22 Fixed: Discourage use of memory management functions (#931)
  • p. 27 Fixed formula for directional derivatives (#668)
  • p. 29 Fixed: Correct code example describing Jacobian construction using fmi2GetDirectionalDerivative (#867)
  • p. 29 Fixed: Formatting of hints on graph coloring algorithm (#703)
  • p. 37ff Fixed: Unit speficiation error relative quantity usage (#1267)
  • p. 67 Fixed: "Apostrophe" instead of "Right Single Quotation Mark" in EBNF (#692)
  • p. 68 Clarified: allowing 0-based arrays (#1197)
  • p. 70 Added: /extra directory as clarification of storage location for additional files, non-functional change (#1207)
  • p. 91 Fixed: typos in pseudocode (#1269)

v2.0.2-rc.1

14 Nov 20:32
Compare
Choose a tag to compare
v2.0.2-rc.1 Pre-release
Pre-release
  • p. 22 Fixed: Discourage use of memory management functions (#931)
  • p. 27 Fixed formula for directional derivatives (#668)
  • p. 29 Fixed: Correct code example describing Jacobian construction using fmi2GetDirectionalDerivative (#867)
  • p. 29 Fixed: Formatting of hints on graph coloring algorithm (#703)
  • p. 37ff Fixed: Unit speficiation error relative quantity usage (#1267)
  • p. 67 Fixed: "Apostrophe" instead of "Right Single Quotation Mark" in EBNF (#692)
  • p. 68 Clarified: allowing 0-based arrays (#1197)
  • p. 70 Added: /extra directory as clarification of storage location for additional files, non-functional change (#1207)
  • p. 91 Fixed: typos in pseudocode (#1269)

v3.0-alpha.5

29 Jul 20:19
1286e1f
Compare
Choose a tag to compare
v3.0-alpha.5 Pre-release
Pre-release

The following changes have been made since v3.0-alpha.4:

  • Improve description of Scheduled Execution (#1092)
  • Define calling sequence in intermediate update mode (#1088)
  • Clarify changes to continuous and discrete variables in the different simulation phases. (#1081)
  • Merge Basic and Hybrid Co-Simulation (#1086)
  • Merge arguments intermediateVariables{Get|Set}Required (#1084)

v3.0-alpha.4

29 Jul 20:19
Compare
Choose a tag to compare
v3.0-alpha.4 Pre-release
Pre-release

The following changes have been made since v3.0-alpha.3:

  • Make independent variable mandatory in xml and add references to indepent
  • Remove parameter inputEvent from fmi3EnterEventMode()
  • make activation time madatory and adding references to indepent variable instead of time
  • Change BCS description w.r.t to IVA and add new flag in xml to indicate requirement on intermediate input smoothness
  • Remove parameter inputEvent from fmi3EnterEventMode()
  • Make resouces folder optional and describe return of NULL pointer (#1030)
  • Remove buildConfiguration from modeldescrpition.xml (#1001)
  • Fix fmi3EnterContinuousTimeMode in ME state machine (#1025)
  • Regularize and expand Annotations (#949)
  • Move build configuration to separate XML file (#905)
  • Remove fmi3SetupExperiment (#920)

FMI Specification 3.0 Alpha 3

04 May 12:18
2b95d02
Compare
Choose a tag to compare
Pre-release

The following changes have been made since v3.0-alpha.2:

  • Define event indicators in (#587)
  • Add element to model variables (#834)
  • Add <{Basic|Hybrid|Scheduled}CoSimulation> elements to XML (#841)
  • Inline structs and add separate instantiate functions (#821)
  • Add fmi3GetAdjointDerivative to C-API (#722)
  • Remove "Fatal" state and derive all state machines from a template (#739)
  • Add Hybrid Co-Simulation and Scheduled Execution Simulation to interface types (#728)
  • Port changes from 2.0.1 (#674)
  • Clarify access rules for variables, (#726)
  • Use new FMI logo (#706)
  • Use "Apostrophe" instead of "Right Single Quotation Mark" in EBNF (#693)
  • Add extra directory for metadata transport (#586)
  • Add terminals and icons to schema and docs (#614)
  • Pass direction of zero-crossing in fmi3EnterEventMode() (#663)
  • Remove causalities "inferred" and "triggered" (#640)
  • Change parameters of fmi3EnterEventMode() (#651)
  • Pass reason for entering Event Mode to FMU (#619)
  • Add Clocks & Hybrid Co-Simulation API (#615)
  • Move BuildConfiguration to fmiModelDescription (#611)
  • Use "discrete" as default variability for non-Float variables (#604)
  • Add enter/exitConfigurationMode functions (#599)

NOTE: This is a pre-release that is intended for initial prototyping and testing of the currently included subset of features and changes. This is a partial pre-release, and is in no way intended to convey the expected set of features and changes that will end up in the actual release.

Do not use for production.

FMI Specification 2.0.1

31 Oct 18:11
Compare
Choose a tag to compare

The FMI Specification 2.0.1 is a maintenance release with the following fixes and clarifications, but no addtional freatures w.r.t. version 2.0. It is identical to Release Candidate 6 that has been approved for release by the FMI Steering Committee and the Modelica Association.

Specification document:

  • improved wording in the whole document
  • typographical errors fixed in the whole document (#444, #623)
  • p. 3 Clarified BSD version in standard documents (#347, #494)
  • p. 8 Remove references to outdated ImplementationHint document (#352)
  • p. 14 clarified: Who shall define the prefix for source code FMUs? (#420)
  • p. 27 ff., p. 88 ff. fixed pseudo code examples:
    • fmi2GetDirectionalDerivative: Inconsistency in specification and pseudocode example (#311)
    • detect a state change during event iteration: wrong in pseudo code (#333)
    • Wrong call sequence for fmi2SetTime in ME pseudo code example (#296)
    • Fix Pseudocode Example (#308)
  • p. 31 Improved ModelStructure description in FMI 2.0 specification (#374)
  • p. 22 fixed: inconsistency between description and state machine (#338)
  • p. 33, p.68 provide license information (#417)
  • p. 33 Clarifying FMI version string: forward/backwards compatibility; version string (#388, #498)
  • p. 41 Clarified: do not use empty unit definitions (#337)
  • p. 41 Clarified that all units must be defined in UnitDefinitions (#337, #500)
  • p. 49 Remove reference to fmi2ExitEventMode (#432, #450)
  • p. 52 ff. Clarification of alias variables (and variability) (#436)
  • p. 55 clarified: Changing parameter values in the modeldescription.xml file discussion specification (#387)
  • p. 60 Clarified the definition of the number of continuous-time state variables model-exchange (#396)
  • p. 65 added example for Dependency information for FMUs for ModelExchange and CoSimulation (#380)
  • p. 66 clarification: Setting input start values before fmi2EnterInitializationMode (clarification in 2.0.1) (#440)
  • p. 66 Clarification that variable names must be unique (#415)
  • p. 67 Clarified: Are all of the API functions mandatory? (#411)
  • p. 68 Update text under state chart in FMI 2 (#431)
  • p. 68 clarified: Backslash as path separator not be allowed in FMUs (#547)
  • p. 68 clarified: Handling international encodings (#95)
  • p. 68 clarified: Location of additional DLLs (#401)
  • p. 69 clarified: Order of scalar variables with respect to structured naming (#413)
  • p. 73 Improve sentence using nextMode (#393, #456)
  • p. 77 fixed: Inconsistent definition of the calling conditions for fmi2SetContinuousStates (#407)
  • p. 80 Clarification for pure discrete FMUs
    • Pure discrete-time FMU with state events (#405)
    • Non-determinism regarding the pure discrete-time FMU variant (#409)
  • p. 82 Fixed: Description of fmi2GetContinuousStates is out of date (#334, #501)
  • p. 85 inconsistent definitions of when fmi2GetDerivatives and fmi2GetNominalsOfContinuousStates may be called (#301)
  • p. 87 fixed: fmi2SetTime in Event Mode of Model Exchange (#394)
  • p. 87 fixed: Can fmi2SetReal be used for changing the value of continuous-time state variables? (#391, #392, #402)
  • p. 99 Clarified mathematical model for co-simulation (#460)
  • p. 103 fmi2CancelStep clarification (#426, #460)
  • p. 115 Fixed literature links (#478)

C headers (no functional changes):

  • Add parameter names to function prototypes (#2)
  • License changed to 2-clause BSD (w/o extensions) (#347, #494)
  • fixed: fmiCallbackFunction structure declare const function pointers (#216)

XSD schema (no functional changes)

  • Clarifying FMI version string in xsd documentation string (#388 , #498)

Distribution archive:

  • file names and structure changed

FMI Specification 2.0.1 Release Candidate 6

07 Oct 08:08
Compare
Choose a tag to compare

The 6th (and hopefully final) release candidate of the 2.0.1 maintenance release is ready for review.
It adds the following clarifications w.r.t. version 2.0.

Specification document:

  • improved wording in the whole document
  • typographical errors fixed in the whole document (#444, #623)
  • p. 3 Clarified BSD version in standard documents (#347, #494)
  • p. 8 Remove references to outdated ImplementationHint document (#352)
  • p. 14 clarified: Who shall define the prefix for source code FMUs? (#420)
  • p. 27 ff., p. 88 ff. fixed pseudo code examples:
    • fmi2GetDirectionalDerivative: Inconsistency in specification and pseudocode example (#311)
    • detect a state change during event iteration: wrong in pseudo code (#333)
    • Wrong call sequence for fmi2SetTime in ME pseudo code example (#296)
    • Fix Pseudocode Example (#308)
  • p. 31 Improved ModelStructure description in FMI 2.0 specification (#374)
  • p. 22 fixed: inconsistency between description and state machine (#338)
  • p. 33, p.68 provide license information (#417)
  • p. 33 Clarifying FMI version string: forward/backwards compatibility; version string (#388, #498)
  • p. 41 Clarified: do not use empty unit definitions (#337)
  • p. 41 Clarified that all units must be defined in UnitDefinitions (#337, #500)
  • p. 49 Remove reference to fmi2ExitEventMode (#432, #450)
  • p. 52 ff. Clarification of alias variables (and variability) (#436)
  • p. 55 clarified: Changing parameter values in the modeldescription.xml file discussion specification (#387)
  • p. 60 Clarified the definition of the number of continuous-time state variables model-exchange (#396)
  • p. 65 added example for Dependency information for FMUs for ModelExchange and CoSimulation (#380)
  • p. 66 clarification: Setting input start values before fmi2EnterInitializationMode (clarification in 2.0.1) (#440)
  • p. 66 Clarification that variable names must be unique (#415)
  • p. 67 Clarified: Are all of the API functions mandatory? (#411)
  • p. 68 Update text under state chart in FMI 2 (#431)
  • p. 68 clarified: Backslash as path separator not be allowed in FMUs (#547)
  • p. 68 clarified: Handling international encodings (#95)
  • p. 68 clarified: Location of additional DLLs (#401)
  • p. 69 clarified: Order of scalar variables with respect to structured naming (#413)
  • p. 73 Improve sentence using nextMode (#393, #456)
  • p. 77 fixed: Inconsistent definition of the calling conditions for fmi2SetContinuousStates (#407)
  • p. 80 Clarification for pure discrete FMUs
    • Pure discrete-time FMU with state events (#405)
    • Non-determinism regarding the pure discrete-time FMU variant (#409)
  • p. 82 Fixed: Description of fmi2GetContinuousStates is out of date (#334, #501)
  • p. 85 inconsistent definitions of when fmi2GetDerivatives and fmi2GetNominalsOfContinuousStates may be called (#301)
  • p. 87 fixed: fmi2SetTime in Event Mode of Model Exchange (#394)
  • p. 87 fixed: Can fmi2SetReal be used for changing the value of continuous-time state variables? (#391, #392, #402)
  • p. 99 Clarified mathematical model for co-simulation (#460)
  • p. 103 fmi2CancelStep clarification (#426, #460)
  • p. 115 Fixed literature links (#478)

C headers (no functional changes):

  • Add parameter names to function prototypes (#2)
  • License changed to 2-clause BSD (w/o extensions) (#347, #494)
  • fixed: fmiCallbackFunction structure declare const function pointers (#216)

XSD schema (no functional changes)

  • Clarifying FMI version string in xsd documentation string (#388 , #498)

Distribution archive:

  • file names and structure changed

FMI Specification 2.0.1 Release Candidate 3

28 Sep 21:00
Compare
Choose a tag to compare

The third release candidate of the 2.0.1 maintenance release is ready for review. See the closed issues of milestone v2.0.1 for an overview of the changes.