00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include "sbmlsolver/exportdefs.h"
00036
00037 #ifndef _CVODESETTINGS_H_
00038 #define _CVODESETTINGS_H_
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00045 typedef struct cvodeSettings cvodeSettings_t;
00046 typedef struct timeSettings timeSettings_t;
00047
00050 struct timeSettings {
00051 double t0;
00052 double tmult;
00053 double tend;
00054 int nout;
00055 } ;
00056
00058 struct cvodeSettings {
00059 double Time;
00061 int PrintStep;
00063 double *TimePoints;
00068 int Indefinitely;
00071 double Error;
00072 double RError;
00073 int Mxstep;
00074 int CvodeMethod;
00076 int IterMethod;
00078 int MaxOrder;
00079 int Sensitivity;
00080 int SensMethod;
00085 int HaltOnEvent;
00086 int SteadyState;
00088 int UseJacobian;
00090 int StoreResults;
00091 } ;
00092
00093
00094
00095 timeSettings_t *TimeSettings_create(double t0, double tend, int nout);
00096 void TimeSettings_free(timeSettings_t *time);
00097 cvodeSettings_t *CvodeSettings_createFromTimeSettings(timeSettings_t *time);
00098
00099
00100 SBML_ODESOLVER_API cvodeSettings_t *CvodeSettings_create();
00101 SBML_ODESOLVER_API cvodeSettings_t *CvodeSettings_createWithTime(double Time, int PrintStep);
00102 SBML_ODESOLVER_API cvodeSettings_t *CvodeSettings_createWith(double EndTime, int PrintStep, double Error, double RError, int Mxstep, int UseJacobian, int Indefinitely, int HaltOnEvent, int SteadyState, int StoreResults, int Sensitivity, int SensMethod);
00103 SBML_ODESOLVER_API int CvodeSettings_setTime(cvodeSettings_t *, double EndTime, int PrintStep);
00104 SBML_ODESOLVER_API int CvodeSettings_setTimeStep(cvodeSettings_t *, int, double);
00105 SBML_ODESOLVER_API void CvodeSettings_setSwitches(cvodeSettings_t *, int UseJacobian, int Indefinitely, int HaltOnEvent, int SteadyState, int StoreResults, int Sensitivity, int SensMethod);
00106 SBML_ODESOLVER_API void CvodeSettings_setErrors(cvodeSettings_t *, double Error, double RError, int Mxstep);
00107 SBML_ODESOLVER_API void CvodeSettings_setError(cvodeSettings_t *, double);
00108 SBML_ODESOLVER_API void CvodeSettings_setRError(cvodeSettings_t *, double);
00109 SBML_ODESOLVER_API void CvodeSettings_setMxstep(cvodeSettings_t *, int);
00110 SBML_ODESOLVER_API void CvodeSettings_setMethod(cvodeSettings_t *, int, int);
00111 SBML_ODESOLVER_API void CvodeSettings_setIterMethod(cvodeSettings_t *, int);
00112 SBML_ODESOLVER_API void CvodeSettings_setMaxOrder(cvodeSettings_t *, int);
00113 SBML_ODESOLVER_API void CvodeSettings_setJacobian(cvodeSettings_t *, int);
00114 SBML_ODESOLVER_API void CvodeSettings_setIndefinitely(cvodeSettings_t *, int);
00115 SBML_ODESOLVER_API void CvodeSettings_setHaltOnEvent(cvodeSettings_t *, int);
00116 SBML_ODESOLVER_API void CvodeSettings_setSteadyState(cvodeSettings_t *, int);
00117 SBML_ODESOLVER_API void CvodeSettings_setStoreResults(cvodeSettings_t *, int);
00118 SBML_ODESOLVER_API void CvodeSettings_setSensitivity(cvodeSettings_t *, int);
00119 SBML_ODESOLVER_API void CvodeSettings_setSensMethod(cvodeSettings_t *, int);
00120 SBML_ODESOLVER_API void CvodeSettings_dump(cvodeSettings_t *);
00121 SBML_ODESOLVER_API void CvodeSettings_free(cvodeSettings_t *);
00122 SBML_ODESOLVER_API cvodeSettings_t *CvodeSettings_clone(cvodeSettings_t *);
00123
00124 SBML_ODESOLVER_API double CvodeSettings_getEndTime(cvodeSettings_t *);
00125 SBML_ODESOLVER_API int CvodeSettings_getPrintsteps(cvodeSettings_t *);
00126 SBML_ODESOLVER_API double CvodeSettings_getTimeStep(cvodeSettings_t *);
00127 SBML_ODESOLVER_API double CvodeSettings_getTime(cvodeSettings_t *, int);
00128 SBML_ODESOLVER_API double CvodeSettings_getError(cvodeSettings_t *);
00129 SBML_ODESOLVER_API double CvodeSettings_getRError(cvodeSettings_t *);
00130 SBML_ODESOLVER_API int CvodeSettings_getMxstep(cvodeSettings_t *);
00131 SBML_ODESOLVER_API char *CvodeSettings_getMethod(cvodeSettings_t *);
00132 SBML_ODESOLVER_API char *CvodeSettings_getIterMethod(cvodeSettings_t *);
00133 SBML_ODESOLVER_API int CvodeSettings_getMaxOrder(cvodeSettings_t *);
00134
00135 SBML_ODESOLVER_API int CvodeSettings_getJacobian(cvodeSettings_t *);
00136 SBML_ODESOLVER_API int CvodeSettings_getIndefinitely(cvodeSettings_t *);
00137 SBML_ODESOLVER_API int CvodeSettings_getHaltOnEvent(cvodeSettings_t *);
00138 SBML_ODESOLVER_API int CvodeSettings_getSteadyState(cvodeSettings_t *);
00139 SBML_ODESOLVER_API int CvodeSettings_getStoreResults(cvodeSettings_t *);
00140 SBML_ODESOLVER_API int CvodeSettings_getSensitivity(cvodeSettings_t *);
00141 SBML_ODESOLVER_API char *CvodeSettings_getSensMethod(cvodeSettings_t *);
00142
00143
00144 #ifdef __cplusplus
00145 }
00146 #endif
00147
00148 #endif
00149