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
00036 #ifndef _ODESOLVER_H_
00037 #define _ODESOLVER_H_
00038
00039
00040 #include<sbml/SBMLTypes.h>
00041
00042
00043
00044 #include "sbmlsolver/util.h"
00045 #include "sbmlsolver/sbml.h"
00046 #include "sbmlsolver/modelSimplify.h"
00047 #include "sbmlsolver/cvodedata.h"
00048 #include "sbmlsolver/odeConstruct.h"
00049 #include "sbmlsolver/integratorSettings.h"
00050 #include "sbmlsolver/integratorInstance.h"
00051 #include "sbmlsolver/solverError.h"
00052 #include "sbmlsolver/drawGraph.h"
00053 #include "sbmlsolver/processAST.h"
00054 #include "sbmlsolver/sbmlResults.h"
00055 #include "sbmlsolver/exportdefs.h"
00056
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00062 typedef struct varySettings varySettings_t;
00064 struct varySettings {
00065 int nrdesignpoints;
00066 int nrparams;
00067 int cnt_params;
00068 char **id;
00070 char **rid;
00072 double **params;
00073 };
00074
00075 SBML_ODESOLVER_API SBMLResults_t *SBML_odeSolver(SBMLDocument_t *, cvodeSettings_t *);
00076 SBML_ODESOLVER_API SBMLResultsMatrix_t *SBML_odeSolverBatch(SBMLDocument_t *, cvodeSettings_t *, varySettings_t *);
00077 SBML_ODESOLVER_API SBMLResults_t *Model_odeSolver(Model_t *, cvodeSettings_t *);
00078 SBML_ODESOLVER_API SBMLResultsMatrix_t *Model_odeSolverBatch(Model_t *, cvodeSettings_t *, varySettings_t *);
00079 SBML_ODESOLVER_API SBMLResults_t *SBMLResults_fromIntegrator(Model_t *, integratorInstance_t *);
00080
00081
00082 SBML_ODESOLVER_API varySettings_t *VarySettings_allocate(int nrparams, int nrdesignpoints);
00083 SBML_ODESOLVER_API int VarySettings_addParameter(varySettings_t *, char *id, char *rid, double start, double end);
00084 SBML_ODESOLVER_API int VarySettings_setName(varySettings_t *, int i, char *id, char *rid);
00085 SBML_ODESOLVER_API void VarySettings_setValue(varySettings_t *, int i, int j, double value);
00086
00087 SBML_ODESOLVER_API double VarySettings_getValue(varySettings_t *, int i, int j);
00088 SBML_ODESOLVER_API const char *VarySettings_getName(varySettings_t *, int i);
00089 SBML_ODESOLVER_API const char *VarySettings_getReactionName(varySettings_t *vs, int i);
00090
00091 SBML_ODESOLVER_API void VarySettings_dump(varySettings_t *);
00092 SBML_ODESOLVER_API void VarySettings_free();
00093
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097
00098
00099 int VarySettings_addParameterSeries(varySettings_t *, char *id, char *rid, double *designpoints);
00100 int VarySettings_addParameterSet(varySettings_t *,
00101 double **designpoints, char **id, char **rid);
00102
00103
00104
00105 #endif
00106
00107