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

integratorSettings.h

Go to the documentation of this file.
00001 /*
00002   Last changed Time-stamp: <2005-12-15 20:38:57 raim>
00003   $Id: integratorSettings.h,v 1.12 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 #include "sbmlsolver/exportdefs.h"
00036 
00037 #ifndef _CVODESETTINGS_H_
00038 #define _CVODESETTINGS_H_
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044   /* structures */
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   /* functions */
00094   /* ??might be implented?? */
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   /* create and free, get and set cvodeSettings */
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 /* _CVODESETTINGS_H_ */
00149 

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