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 toNULL
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 toNULL
to skip derivative evaluation
Value
List with the following names
steady_state
Boolean indicating weather the system was at steady statestates_derivative
Derivatives that had values greater than thederivative_tol
states_simulation
States that had values greater than theoffset_tol
som
Simulated outputderivatives
Derivativesstates_derivative_NA_NaN
States that had derivatives that evaluated as either NA or NaNstates_simulation_NA_NaN
States with simulation values that had either NA or NaNderivative_tc
Data frame with the timecourse of states where the derivative was found to be greater than tolerance (states_derivative)