Steady State Solver Class

class roadrunner.SteadyStateSolver

A Steady State Solver gives the steady states of involved species. Currently, libRoadRunner supports NLEQ2 solver. For solver related methods, refer to http://sys-bio.github.io/roadrunner/python_docs/api_reference.html#solver-class.

NLEQ2

NLEQ2 is a non-linear equation solver which uses a global Newton method with adaptive damping strategies (see http://www.zib.de/weimann/NewtonLib/index.html).

SteadyStateSolver.allow_presimulation

Flag for starting steady state analysis with simulation. This flag does not affect the usage of approximation routine when the default steaty state solver fails. Default value is false.

To enable, type:

>>> rr.getSteadyStateSolver().setValue("allow_presimulation", True)
SteadyStateSolver.presimulation_maximum_steps

Maximum number of steps that can be taken for presimulation before steady state analysis. Takes priority over presimulation_time. Only used when allow_presimulation is True. Default value is 100.

>>> rr.getSteadyStateSolver().setValue("presimulation_maximum_steps", 50)
SteadyStateSolver.presimulation_time

End time for presimulation steady state analysis. Only used when allow_presimulation is True. Default value is 100.

>>> rr.getSteadyStateSolver().setValue("presimulation_time", 50)
SteadyStateSolver.allow_approx

Flag for using steady state approximation routine when steady state solver fails. Approximation routine will run only when the default solver fails to fine a solution. This flag does not affect usage of approximation routine for pre-simulation. Default is True.

To disable, type:

>>> rr.getSteadyStateSolver().setValue("allow_approx", False)
SteadyStateSolver.approx_tolerance

Tolerance for steady state approximation routine. Absolute tolerance used by steady state approximation routine. Only used when steady state approximation routine is used. Default value is 1e-12.

>>> rr.getSteadyStateSolver().setValue("approx_tolerance", 1e-6)
SteadyStateSolver.approx_maximum_steps

Maximum number of steps that can be taken for steady state approximation routine. Takes priority over approx_time. Only used when steady state approximation routine is used. Default value is 10000.

>>> rr.getSteadyStateSolver().setValue("approx_maximum_steps", 5000)
SteadyStateSolver.approx_time

End time for steady state approximation routine. approx_maximum_steps takes priority. Only used when steady state approximation routine is used. Default value is 10000.

>>> rr.getSteadyStateSolver().setValue("approx_time", 5000)
SteadyStateSolver.broyden_method

Switches on Broyden method, which is a quasi-Newton approximation for rank-1 updates. Default value is 0.

To enable, type:

>>> rr.getSteadyStateSolver().setValue("broyden_method", 1)
SteadyStateSolver.linearity

Specifies linearity of the problem. 1 is for linear problem and 4 is for extremly nonlinear problem. Default value is 3.

>>> rr.getSteadyStateSolver().setValue("linearity", 1)
SteadyStateSolver.maximum_iterations

The maximum number of iterations the solver is allowed to use. Iteration caps off at the maximum, regardless of whether a solution has been reached. Default value is 100.

>>> rr.getSteadyStateSolver().setValue("maximum_iterations", 50)
SteadyStateSolver.minimum_damping

The minimum damping factor used by the algorithm. Default value is 1e-4.

>>> rr.getSteadyStateSolver().setValue("minimum_damping", 1e-20)
SteadyStateSolver.relative_tolerance

Specifies the relative tolerance used by the solver. Default value is 1e-16.

>>> rr.getSteadyStateSolver().setValue("relative_tolerance", 1e-15)
SteadyStateSolver.solve()

Main solver routine