MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OdeSystem.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment.
4 ** Copyright (C) 2003-2007 Upinder S. Bhalla. and NCBS
5 ** It is made available under the terms of the
6 ** GNU Lesser General Public License version 2.1
7 ** See the file COPYING.LIB for the full notice.
8 **********************************************************************/
9 
10 #ifndef _ODE_SYSTEM_H
11 #define _ODE_SYSTEM_H
12 
13 #if USE_BOOST_ODE
14 #include "BoostSys.h"
15 #elif USE_GSL
16 #include <gsl/gsl_odeiv2.h>
17 #endif /* ----- not USE_BOOST_ODE ----- */
18 
19 class OdeSystem {
20  public:
22  : method( "rk5" ),
23  initStepSize( 0.001 ),
24  epsAbs( 1e-6 ),
25  epsRel( 1e-6 )
26  {;}
27 
28  std::string method;
29  // GSL stuff
30 
31 #ifdef USE_GSL
32  gsl_odeiv2_system gslSys;
33  const gsl_odeiv2_step_type* gslStep;
34 #endif
35  double initStepSize;
36  double epsAbs; // Absolute error
37  double epsRel; // Relative error
38 
39 #if USE_BOOST_ODE
40  //BoostSys* pBoostSys;
41  BoostSys boostSys;
42  size_t dimension;
43 #endif /* ----- USE_BOOST_ODE ----- */
44 };
45 
46 #endif // _ODE_SYSTEM_H
OdeSystem()
Definition: OdeSystem.h:21
std::string method
Definition: OdeSystem.h:28
double epsAbs
Definition: OdeSystem.h:36
double epsRel
Definition: OdeSystem.h:37
double initStepSize
Definition: OdeSystem.h:35