Skip to contents

Takes the ubiquity system object and other optional inputs to verify the system is running at steady state. This also provides information that can be helpful in debugging systems not running at steady state.

Usage

system_check_steady_state(
  cfg,
  parameters = NULL,
  zero_rates = TRUE,
  zero_bolus = TRUE,
  output_times = seq(0, 100, 1),
  offset_tol = .Machine$double.eps * 100,
  derivative_tol = .Machine$double.eps * 100,
  derivative_time = 0
)

Arguments

cfg

ubiquity system object

parameters

optional set of parameters (NULL) to check at steady state (if set to NULL then the parameters for the currently selected parameter set will be used)

zero_rates

Boolean value to control removing all rate inputs (TRUE)

zero_bolus

Boolean value to control removing all bolus inputs (TRUE)

output_times

sequence of output times to simulate for offset determination (seq(0,100,1))

offset_tol

maximum percent offset to be considered zero (.Machine$double.eps*100)

derivative_tol

maximum derivative value to be considered zero (.Machine$double.eps*100)

derivative_time

time to evaluate derivatives to identify deviations (0), set to NULL to skip derivative evaluation

Value

List with the following names

  • steady_state Boolean indicating weather the system was at steady state

  • states_derivative Derivatives that had values greater than the derivative_tol

  • states_simulation States that had values greater than the offset_tol

  • som Simulated output

  • derivatives Derivatives

  • states_derivative_NA_NaN States that had derivatives that evaluated as either NA or NaN

  • states_simulation_NA_NaN States with simulation values that had either NA or NaN

  • derivative_tc Data frame with the timecourse of states where the derivative was found to be greater than tolerance (states_derivative)