-
Notifications
You must be signed in to change notification settings - Fork 14
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
Test FMI-CS simulation with CVODE #193
Comments
I guess you could extend that with "and give the same results up to a tolerance", to catch differences in solution behaviour caused by bugs in the FMI-CS implementation? Or is that too high a bar to clear (at first)? |
That was implicit. The CI infrastructure always compares the simulation results if they are provided. Thanks for making that clear. However, I guess there could be problems verifying the results of models with events, since FMI-CS won't report the additional time points where events take place, I guess. |
(Disclaimer: I'm still not familiar enough with FMI to answer this confidently myself) |
Yes, that is only FMI3, in FMI2 one reports the events at the end of the doStep. |
We'll get there, eventually. We are already implementing some FMI 3.0.x features, but we also still need to make sure that FMI 2.0.4 export works well. |
@adrpo, OpenModelica/OpenModelica#13582 shows that we probably have serious problems with non-trivial implementations of FMI-CS.
In principle, if we use stiff CVODE as internal solver and a co-simulation time step equal to the Interval annotation (or to the default 500 steps), all the simulations that run with the regular runtime and the stiff DASSL solver should also run successfully. If they don't, it means there's some problem in the internal implementation of the ODE solver in the CS FMU, which should be checked.
I would suggest that we add yet another FMI task where we generate FMI-CS with stiff CVODE and then use OMSimulator to simulate them. Could run once every week or something.
The text was updated successfully, but these errors were encountered: