Releases: modelica/fmi-standard
v3.0-alpha.7
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
v3.0-alpha.6
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
FMU File Structure
FMI Specification 2.0.2
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
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
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
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
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
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: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 FMUsp. 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)
Distribution archive:
- file names and structure changed
FMI Specification 2.0.1 Release Candidate 6
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: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 FMUsp. 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)
Distribution archive:
- file names and structure changed
FMI Specification 2.0.1 Release Candidate 3
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.