modelica / fmi-standard

Specification of the Functional Mock-up Interface (FMI)
https://fmi-standard.org/
Other
274 stars 85 forks source link

Mark CS FMUs that are pure algebraic / stateless #1880

Open chrbertsch opened 1 year ago

chrbertsch commented 1 year ago

(from a discsussion at the FMI Design meeting with @pmai and @klausschuch ) There are CS FMUs, where the outputs are directly calculated from the input (independent of the the timestep) and without internal states. Such a direct feedthrough behavior can be implemented with ME FMUs, but many users and tool vendors prefer the simpler CS interface. FMI forbids calling fmi3doStep with communicationStepSize = 0, but an importer that is informed about the pure algebraic nature of such an FMU could call fmi3DoStep with any timestep and use the result in a suitable way. For FMI 3.0 (and 2.0.4) we could mark such FMUs with a minimalistic layered standard, defining only a manifest file in the extra directory.

KarlWernersson commented 1 year ago

Would it not be simpler to make an addition to allow output to be computed wihtout dostep? This can also already be done with and fmu that allow event mode, just go into event mode compute your output->done.

KarlWernersson commented 1 year ago

Related ticket https://github.com/modelica/fmi-standard/issues/94