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 #ifndef CELLCYCLEMODELODESOLVEREXPORTWRAPPER_HPP_
00030 #define CELLCYCLEMODELODESOLVEREXPORTWRAPPER_HPP_
00031
00032 #include "CellCycleModelOdeSolver.hpp"
00033
00034
00035
00036
00037 #include "CvodeAdaptor.hpp"
00038 #include "BackwardEulerIvpOdeSolver.hpp"
00039 #include "EulerIvpOdeSolver.hpp"
00040 #include "HeunIvpOdeSolver.hpp"
00041 #include "RungeKutta2IvpOdeSolver.hpp"
00042 #include "RungeKutta4IvpOdeSolver.hpp"
00043
00044 #endif
00045
00046
00047
00048
00049 #ifdef EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
00050
00051 #undef EXPORT_CCM_INTERNAL
00052 #undef EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
00053 #endif // EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER
00054
00055 #define EXPORT_CCM_INTERNAL(CCM_CLASS, ODE_SOLVER) \
00056 EXPORT_TEMPLATE_CLASS2(CellCycleModelOdeSolver, CCM_CLASS, ODE_SOLVER)
00057
00058 #ifdef CHASTE_CVODE
00059 #ifdef EXPORT_CCM_CVODE
00060
00061 #undef EXPORT_CCM_CVODE
00062 #endif // EXPORT_CCM_CVODE
00063 #define EXPORT_CCM_CVODE(CCM_CLASS) EXPORT_CCM_INTERNAL(CCM_CLASS, CvodeAdaptor)
00064 #else
00065 #define EXPORT_CCM_CVODE(CCM_CLASS)
00066 #endif // CHASTE_CVODE
00067
00068 #define EXPORT_CELL_CYCLE_MODEL_ODE_SOLVER(CCM_CLASS) \
00069 EXPORT_CCM_CVODE(CCM_CLASS) \
00070 EXPORT_CCM_INTERNAL(CCM_CLASS, BackwardEulerIvpOdeSolver) \
00071 EXPORT_CCM_INTERNAL(CCM_CLASS, EulerIvpOdeSolver) \
00072 EXPORT_CCM_INTERNAL(CCM_CLASS, HeunIvpOdeSolver) \
00073 EXPORT_CCM_INTERNAL(CCM_CLASS, RungeKutta2IvpOdeSolver) \
00074 EXPORT_CCM_INTERNAL(CCM_CLASS, RungeKutta4IvpOdeSolver)