sbml-test-suite tolerance setup

35 views
Skip to first unread message

Иван Борисов

unread,
Jul 31, 2020, 12:36:12 PM7/31/20
to sbml-interoperability
Hello!

I am testing my simulation software against sbml semantic test cases and I would like to know how to set up tolerances of the ODE solver, that I am using. I have successfully passed most of the tests by setting reltol and abstol of the ODE solver to reltol and abstol provided in the settings file of the test.  For some cases it didn't work and I had to lower the tolerance setup to pass the test . My ODE solver uses almost the same rule as sbml-test-suite to control stepsize: abstol+max(C_previous, C)*reltol but these tolerances are not the same as the sbml-suite tolerances. ODE solver uses reltol and abstol to compute stepsize dt and than interpolates the solution in the timepoints of interest which, I believe, doesn't guarantee the interpolated timepoints will satisfy sbml-suite tolerance tests. What is the intended way to link sbml-test tolerance settings to ODE solver settings?

Kind regards,
Ivan

HEMIL PANCHIWALA

unread,
Jul 31, 2020, 1:45:14 PM7/31/20
to sbml-interoperability
Hi Ivan,


I am currently working on the Systems Biology Simulation Core Library (SBSCL) and have recently worked on simulating the models from the SBML Test Suite. I also had a similar problem of some tests failing when I used the tolerances from the settings file. But on making the tolerances more strict, the tests started to pass successfully. Currently, I am simulating the models using 1E-5 times of the absolute as well as the relative tolerance values given in the settings file, and things are working fine. However, in the comparison of the results, you should use the values from the settings file.


Thanks and regards
Hemil Panchiwala

Lucian Smith

unread,
Jul 31, 2020, 1:47:26 PM7/31/20
to SBML Software Interoperability Discussion List
There are tolerances in the test suite settings file that indicate how closely your results are supposed to match the expected results.  Many people use those values as a starting point for their simulator's tolerances:  either 10x or 100x smaller will work, I think.

The idea is that if your simulator has tolerances of 0.0001, the numbers should be within 0.001 of the truth, and it's the latter that the settings file is directly describing.

-Lucian

--
You received this message because you are subscribed to the Google Groups "sbml-interoperability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sbml-interoperab...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sbml-interoperability/134c2fe1-1ba8-4bf7-b8f8-4874272f32e4o%40googlegroups.com.

Иван Борисов

unread,
Aug 5, 2020, 4:17:48 AM8/5/20
to sbml-interoperability
Hemil, Lucian, thanks for clarification!

To summarize, if I understood correctly SBML suite doesn't oblige users to set any predefined tolerances for ODE solvers and one can choose tolerances intuitively on the basis of "settings" tolerances.

Kind regards,
Ivan
Reply all
Reply to author
Forward
0 new messages