Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

odeSolver.h

Go to the documentation of this file.
00001 /*
00002   Last changed Time-stamp: <2005-12-15 20:35:16 raim>
00003   $Id: odeSolver.h,v 1.19 2005/12/15 19:54:06 raimc Exp $
00004 */
00005 /* 
00006  *
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published
00009  * by the Free Software Foundation; either version 2.1 of the License, or
00010  * any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
00014  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
00015  * documentation provided hereunder is on an "as is" basis, and the
00016  * authors have no obligations to provide maintenance, support,
00017  * updates, enhancements or modifications.  In no event shall the
00018  * authors be liable to any party for direct, indirect, special,
00019  * incidental or consequential damages, including lost profits, arising
00020  * out of the use of this software and its documentation, even if the
00021  * authors have been advised of the possibility of such damage.  See
00022  * the GNU Lesser General Public License for more details.
00023  *
00024  * You should have received a copy of the GNU Lesser General Public License
00025  * along with this library; if not, write to the Free Software Foundation,
00026  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00027  *
00028  * The original code contained here was initially developed by:
00029  *
00030  *     Rainer Machne
00031  *
00032  * Contributor(s):
00033  *     
00034  */
00035 
00036 #ifndef _ODESOLVER_H_
00037 #define _ODESOLVER_H_
00038 
00039 /* libSBML header files */
00040 #include<sbml/SBMLTypes.h>
00041 
00042 /* own header files */
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   /* settings for parameter variation batch runs */
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 /* not part of official API */
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 /* End of file */

Generated on Wed Dec 21 18:10:07 2005 for SBML ODE Solver Library API by  doxygen 1.4.4