FMI-LS-DAE v1.0.0-alpha.1
Pre-releaseFMI-LS-DAE 1.0.0-alpha.1
This is the first pre-release of the FMI Layered Standard for Differential-Algebraic Equations (FMI-LS-DAE). It specifies how semi-explicit index-1 differential-algebraic equations can be exposed by FMI 3.0 Model Exchange FMUs, so that the algebraic equations and their
associated algebraic variables are solved by the importer instead of inside the FMU.
The specification of version 1.0.0-alpha.1 is published at modelica.github.io/fmi-ls-dae/v1.0.0-alpha.1.
Being a pre-release, this version is published for review and for prototype implementations. The specification is not yet stable and is subject to change before version 1.0.0 is released.
Key features
- A layered standard manifest stored inside the FMU at
/extra/org.fmi-standard.fmi-ls-dae/fmi-ls-manifest.xml, defined by the XML
schemafmi3LayeredStandardDaeManifest.xsd. - Declaration of the algebraic variables and of the residual equations of the DAE in the manifest, together with the model structure and the dependencies of outputs, continuous state derivatives, event indicators and residuals. The dependency information preserves the sparsity of the DAE system, which is lost in the corresponding reduced ODE system.
- A structural parameter
enableDAEModeParameterthat switches the FMU between ODE mode and DAE mode. An FMU implementing this layered standard is at the same time a valid FMI 3.0 Model Exchange ODE FMU and defaults to ODE mode, so that importers that do not support this layered standard can use it unchanged. - No extension of the FMI 3.0 C API is required. Algebraic variables and residuals are exchanged through the existing FMI 3.0 getter and setter functions.
As a consequence, index reduction and local non-linear equation solvers are no longer required inside the FMU.
Merged pull requests
- Incorporate 2018 proposal for DAE support by @AnHeuermann in #13
- [docs] Adding mathematical notations by @AnHeuermann in #17
- Adding docs/theme to build by @AnHeuermann in #20
- Use rouge source-highlighter for PDFs by @AnHeuermann in #25
- Validate XSP/XML fmi-ls-dae schema and examples by @AnHeuermann in #24
- OpenModelica example generic DAE use case by @AnHeuermann in #18
- Use product structure for math function definitions by @AnHeuermann in #27
- Issue, PR, Release templates form CONTRIBUTING by @AnHeuermann in #28
- Update CONTRIBUTING.md by @AnHeuermann in #29
- Removing lint.py, gitpod yml by @AnHeuermann in #31
- Add pre-commit hook and CI by @AnHeuermann in #30
- Fixing copying of images for HTML by @AnHeuermann in #32
- AsciiDoc formatting: One sentence per line by @AnHeuermann in #34
- Fixing grammar errors by @AnHeuermann in #35
- Work on manifest file with an example, and a slight addition to notation by @elmir-nahodovic in #23
- Fixing perturbation index by @AnHeuermann in #36
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #41
- Clarify DAE Model Structure by @elmir-nahodovic in #40
- Update copyright year by @AnHeuermann in #47
- Fixing section id / numbering by @AnHeuermann in #52
- Bump phpcsstandards/xmllint-validate from 1 to 2 by @dependabot[bot] in #57
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #58
- How to read by @AnHeuermann in #46
enableDAEModeVariableStructural Parameter by @AnHeuermann in #53- Add EnableDAE element, move alg. varaibles and model structure to manifest XML by @AnHeuermann in #60
- SimpleDAE.fmu FMI-LS-DAE + ODE reference FMU by @AnHeuermann in #55
- Adding Allan's Init write-up by @Maplesoft-fmigroup in #63
- Update manifest by @elmir-nahodovic in #64
- Expand Common Concepts and reorder docs by @elmir-nahodovic in #67
- Adding citation, sorting badges by @AnHeuermann in #56
Scope and known limitations
- The standard is restricted to semi-explicit index-1 DAEs; higher-index formulations are not supported.
- Consistent initialization in DAE mode is not specified yet.
- Behavior associated with discontinuities and event handling is not specified yet.
Intended audience
This pre-release is addressed to developers of FMI importing and exporting tools and to members of the Modelica Association Project FMI.
Full Changelog: https://github.com/modelica/fmi-ls-dae/commits/v1.0.0-alpha.1