Open DeadParrot opened 1 year ago
The BouncingBall model has this conditional block:
when h < 0 then
reinit(v, -e*pre(v));
end when;
For QSS this means that the FMU value of v
must be set just before the FMU event handling occurs so v
needs a self-dependency. As of OCT 1.43.4 this dependency is missing and must be added before running QSS for accurate results.
Edit: Created a separate issue for this: #31.
Edit: The reinit + pre issue was resolved by OCT-master-8bb4688ea939e98a3f23be67236795ab5f2d3ac4.
The Dependencies section does not yet provide the complete dependency graph that is needed for QSS to simulate correctly. An example of this is detailed below.
The Case600 model was found to not be tracking correctly with the latest QSS, which uses the Dependencies section to get the dependency graph. Investigation showed that Dependencies does not contain equivalent information to the Derivatives section. For example for the variable
roo.conExt[4].opa.T[2]
:the
<Derivatives>
section has dependencies on three continuous state variables:but the
<Dependencies>
section has dependencies on three non-state variables for which no dependencies are provided:With no dependency graph out of these variables, that presumably leads to the three states shown in
<Derivatives>
, QSS cannot get the necessary information from<Dependencies>
.The Dependencies behavior described is based on the OCT update version OCT-master-7245bce03ab2ebdfdaaf0805d75209efaa009c67.
Edit: This issue is still present in OCT-master-8bb4688ea939e98a3f23be67236795ab5f2d3ac4 from June 2023.