#include <malloc.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <cvodes.h>
#include <kinsol.h>
#include <cvdense.h>
#include <nvector_serial.h>
#include "sbmlsolver/cvodedata.h"
#include "sbmlsolver/processAST.h"
#include "sbmlsolver/odeModel.h"
#include "sbmlsolver/variableIndex.h"
#include "sbmlsolver/solverError.h"
#include "sbmlsolver/integratorInstance.h"
#include "sbmlsolver/cvodeSolver.h"
#include "sbmlsolver/sensSolver.h"
#include "sbmlsolver/modelSimplify.h"
Include dependency graph for integratorInstance.c:
Functions | |
SBML_ODESOLVER_API integratorInstance_t * | IntegratorInstance_create (odeModel_t *om, cvodeSettings_t *opt) |
Creates an new integratorInstance. | |
SBML_ODESOLVER_API int | IntegratorInstance_set (integratorInstance_t *engine, cvodeSettings_t *opt) |
Resets and existing integratorInstance with new settings. | |
SBML_ODESOLVER_API int | IntegratorInstance_reset (integratorInstance_t *engine) |
Resets and integratorInstance to its initial values. | |
SBML_ODESOLVER_API cvodeSettings_t * | IntegratorInstance_getSettings (integratorInstance_t *engine) |
Returns the settings of this integratorInstance. | |
SBML_ODESOLVER_API void | IntegratorInstance_copyVariableState (integratorInstance_t *target, integratorInstance_t *source) |
Copies variable and parameter values between two integratorInstances that have been created from the same odeModel. | |
SBML_ODESOLVER_API double | IntegratorInstance_getTime (integratorInstance_t *engine) |
Returns the current time of an integration. | |
SBML_ODESOLVER_API int | IntegratorInstance_setNextTimeStep (integratorInstance_t *engine, double nexttime) |
Sets the next output time for infinite integration. | |
SBML_ODESOLVER_API double | IntegratorInstance_getVariableValue (integratorInstance_t *engine, variableIndex_t *vi) |
Gets the value of a variable or parameter during an integration via its variableIndex. | |
SBML_ODESOLVER_API double | IntegratorInstance_getSensitivity (integratorInstance_t *engine, variableIndex_t *y, variableIndex_t *p) |
Gets the sensitivity of variable y to parameter p at the current time. | |
SBML_ODESOLVER_API void | IntegratorInstance_dumpNames (integratorInstance_t *engine) |
Prints variable names, the first value is the time,. | |
SBML_ODESOLVER_API void | IntegratorInstance_dumpData (integratorInstance_t *engine) |
Prints the current integration data,. | |
SBML_ODESOLVER_API void | IntegratorInstance_dumpYSensitivities (integratorInstance_t *engine, variableIndex_t *y) |
Prints the current time, current value of variable y and sensitivities to all parameters for which calculated. | |
SBML_ODESOLVER_API void | IntegratorInstance_dumpPSensitivities (integratorInstance_t *engine, variableIndex_t *p) |
Prints the current time, the value of parameter p and all variable's sensitivities Si to p, where i = 1 to NEQ. | |
SBML_ODESOLVER_API cvodeData_t * | IntegratorInstance_getData (integratorInstance_t *engine) |
Returns a pointer cvodeData of the integratorInstance, which contains the current values of all variables. | |
SBML_ODESOLVER_API int | IntegratorInstance_integrate (integratorInstance_t *engine) |
Starts the default integration loop with standard error handling and returns 0 if integration was OK, and the error code if not. | |
SBML_ODESOLVER_API int | IntegratorInstance_timeCourseCompleted (integratorInstance_t *engine) |
Returns TRUE if the requested timecourse has been completed for the passed integratorInstance. | |
SBML_ODESOLVER_API cvodeResults_t * | IntegratorInstance_createResults (integratorInstance_t *engine) |
Creates and returns a cvodeResults structure containing the results of one integration run and NULL if not successful. | |
SBML_ODESOLVER_API int | IntegratorInstance_updateModel (integratorInstance_t *engine) |
Writes current simulation data to original model. | |
SBML_ODESOLVER_API int | IntegratorInstance_simpleOneStep (integratorInstance_t *engine) |
Handles the simple case of models that contain no ODEs. | |
int | IntegratorInstance_updateData (integratorInstance_t *engine) |
Default function for updating data, to be used by solvers after they have calculate x(t) and updated the time. | |
SBML_ODESOLVER_API int | IntegratorInstance_checkTrigger (integratorInstance_t *engine) |
Evaluates event trigger expressions and executes event assignments for those triggers that are true. | |
SBML_ODESOLVER_API int | IntegratorInstance_checkSteadyState (integratorInstance_t *engine) |
Approximate identification of a steady state. | |
SBML_ODESOLVER_API void | IntegratorInstance_setVariableValue (integratorInstance_t *engine, variableIndex_t *vi, double value) |
Sets the value of a variable or parameter during an integration via its variableIndex. | |
SBML_ODESOLVER_API int | IntegratorInstance_integrateOneStep (integratorInstance_t *engine) |
Moves the current integration one step forward and switches between different solvers for filling ODE variables. | |
SBML_ODESOLVER_API void | IntegratorInstance_dumpSolver (integratorInstance_t *engine) |
Prints the current state of the solver. | |
SBML_ODESOLVER_API void | IntegratorInstance_free (integratorInstance_t *engine) |
Frees an integratorInstance, including cvodeData. | |
SBML_ODESOLVER_API int | IntegratorInstance_handleError (integratorInstance_t *engine) |
Standard handler for when the integrate function fails. | |
SBML_ODESOLVER_API void | IntegratorInstance_printStatistics (integratorInstance_t *engine, FILE *f) |
Prints some final statistics of the solver. |