Open meek1 opened 4 years ago
Can you add some details on what dependencies you're referring to and where you want this information to be stored?
The dependency information that @meek is refering to is the information conveyed in the “ModelStructure” element of the “ModelDescription” file, see for example page 64 of the FMI 2.0 specification. The FMUs that we have exported with FMIKit lacks this information. If I interpret the standard correctly, then this information is required, if for example, algebraic loops are to be resolved during initialization. If the information is not available, then the standard states that it “must be assumed that the unknowns depends on the knowns without a particular structure”. As far as I understand it, this means that the master simulation tool (for connected CS FMUs) might have to (depending on the implementation) need to iterate a solution in every communication step which is very inefficient.
... (for connected CS FMUs) due to the calling sequence for 2.0 CS-FMUs (see p. 106 of the FMI 2.0.1 standard: "There is the additional restriction in “slaveInitialized” state that it is not allowed to call fmi2GetXXX functions after fmi2SetXXX functions without an fmi2DoStep call in between.) there is anyway no direct feedthough for CS FMUs. So this is only relevant ME FMUs in my understanding.
I am not sure that I completely understand and, this may as a result not be a relevant comment, but on page 66 of the specification it is stated that "For standard Co-Simulation FMUs, it is common that no algebraic loops over the input/output variables nor over start-values is supported. In such a case, all dependencies lists for output variables under the InitialUnknowns element should be defined as empty lists defining that the setting of inputs and/or of start values does not influence the ouputs". What happens if there are no empty lists? In our FMUs there is no dependency information in the ModelDescription file.
To clarify, there is no dependency information avalailable in the ModelDescription file, not under ModelStructure-Unknowns or ModelStructure-InitialUnknowns
Which target do you use to export your FMUs (grtfmi.tlc or rtwsfcnfmi.tlc)?
I believe that we are using grtfmi.tlc but I will have to come back with a definite answer after the holidays
I have now checked and we are using grtfmi.tlc
Add dependency information in generated FMUs from Simulink. @robha67