Closed jonrkarr closed 3 years ago
Done! I will note that the first seven options Roadrunner considers to be generic steady state solver options, and the last two as NLEQ options, but either NLEQ1 or NLEQ2.
Would it be helpful to add the other roadrunner options to KiSAO as well? For NLEQ, we have:
addSetting("relative_tolerance", Setting(1e-12), "Relative Tolerance", "Specifies the relative tolerance (double).",
"(double) Relative tolerance used by the solver");
addSetting("maximum_iterations", Setting(100), "Maximum Iterations",
"The maximum number of iterations the solver is allowed to use (int)",
"(int) Iteration caps off at the maximum, regardless of whether a solution has been reached");
addSetting("minimum_damping", Setting(1e-20), "Minimum Damping", "The minimum damping factor (double).",
"(double) Minumum damping factor used by the algorithm");
And for steady state in general, we also have:
addSetting("presimulation_times", Setting(std::vector<double>({0.1, 1, 10, 100, 1e3, 1e4})),
"Presimulation Times",
"Vector of successive time points to try presimulation prior to solving for steady state (std::vector<double>).",
"(double) Similar to presimulation_time, but tries multiple time points before failing");
For some studies, those values could be important. For those options to be exposed through SED-ML, they would need to be mapped to KiSAO terms.
allow_presimulation
: False:KISAO_0000674
presimulation_maximum_steps
: 100:KISAO_0000677
presimulation_time
: 100:KISAO_0000680
allow_approx
: False:KISAO_0000682
approx_tolerance
: 0.000001:KISAO_0000683
approx_maximum_steps
: 10000:KISAO_0000678
approx_time
: 10000:KISAO_0000679
broyden_method
: 0:KISAO_0000675
linearity
: 3:KISAO_0000676
KiSAO terms likely need to be created for most, if not all, of these parameters.