Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardizing FMU-import #3585

Open
9 tasks
HansOlsson opened this issue Oct 17, 2024 · 2 comments
Open
9 tasks

Standardizing FMU-import #3585

HansOlsson opened this issue Oct 17, 2024 · 2 comments
Labels
discussion Indicates that there's a discussion; not clear if bug, enhancement, or working as intended
Milestone

Comments

@HansOlsson
Copy link
Collaborator

As discussed on the coordination meeting.
The goal was not to standardize on an implementation, but instead standardize the interface of an FMU in Modelica.

Having an "FMU-external-object" is one way, but regardless we need to explain how an FMU behaves as Modelica class, specifically:

  • Mapping of FMU-parameters (to Modelica parameters; similarly, below)
  • Mapping of FMU-inputs
  • Mapping of FMU-inputs
  • For Model Exchange: Mapping of states and derivatives.
  • Mapping of other variables?
  • For both Model Exchange and CoSimulation: Parameters of the FMU (like logging and co-simulation interval/triggering).
  • Graphics? I haven't investigated Terminals and Icons for this; and I don't know how important it is.
  • Clocks?
  • Is there any ambiguity regarding the semantics?

Notes:

  • Even if a co-simulation FMU cannot be imported as standard Modelica we can still standardize the interface for it.
  • It might be that we only standardize some sub-set, perhaps only structured naming as in Modelica - or only names that are valid Modelica names.

Note that tools may have special options for this, and it is not clear if should only standardize one way or the options. E.g., Dymola has:

  • Black-box import, but also the possibility to expose everything or a specific list of variables.
  • Structured or non-structured naming.
  • For co-simulation either a regular sampling interval or a triggering Boolean (not clocked sub-system).

Additionally, it would be desirable that tools that do generate Modelica code, that code is at least standard-conformant, even if non-standard extensions are needed for performance reasons.

@HansOlsson HansOlsson added the discussion Indicates that there's a discussion; not clear if bug, enhancement, or working as intended label Oct 17, 2024
@casella
Copy link
Collaborator

casella commented Oct 18, 2024

As I understand (I'm not an expert here), we also need to define some primitives so that FMU actions like rejecting a step can be communicated to the Modelica tool runtime. This seems to me the really thorny issue.

@HansOlsson
Copy link
Collaborator Author

As I understand (I'm not an expert here), we also need to define some primitives so that FMU actions like rejecting a step can be communicated to the Modelica tool runtime. This seems to me the really thorny issue.

That seems to be part of the implementation (as well as step-events), and thus not something to standardize on.

@HansOlsson HansOlsson added this to the 2024-November milestone Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Indicates that there's a discussion; not clear if bug, enhancement, or working as intended
Projects
None yet
Development

No branches or pull requests

2 participants