36 #include "OnLatticeSimulation.hpp"
37 #include "AbstractOnLatticeCellPopulation.hpp"
38 #include "CellBasedEventHandler.hpp"
40 template<
unsigned DIM>
42 bool deleteCellPopulationInDestructor,
45 deleteCellPopulationInDestructor,
50 EXCEPTION(
"OnLatticeSimulations require a subclass of AbstractOnLatticeCellPopulation.");
54 template<
unsigned DIM>
61 template<
unsigned DIM>
68 template<
unsigned DIM>
76 template<
unsigned DIM>
80 if (update_cell_population_this_timestep)
86 template<
unsigned DIM>
90 *rParamsFile <<
"\n\t<UpdateRules>\n";
93 std::vector<boost::shared_ptr<AbstractUpdateRule<DIM> > > collection =
97 iter != collection.end();
100 (*iter)->OutputUpdateRuleInfo(rParamsFile);
103 *rParamsFile <<
"\t</UpdateRules>\n";
106 template<
unsigned DIM>
#define EXCEPTION(message)
static void BeginEvent(unsigned event)
static SimulationTime * Instance()
unsigned GetTimeStepsElapsed() const
void UpdateCellLocationsAndTopology()
virtual void RemoveAllUpdateRules()
virtual void AddUpdateRule(boost::shared_ptr< AbstractUpdateRule< DIM > > pUpdateRule)=0
virtual void UpdateCellLocations(double dt)=0
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
virtual void OutputSimulationParameters(out_stream &rParamsFile)=0
void OutputSimulationParameters(out_stream &rParamsFile)
virtual void UpdateCellPopulation()
void AddUpdateRule(boost::shared_ptr< AbstractUpdateRule< DIM > > pUpdateRule)
virtual const std::vector< boost::shared_ptr< AbstractUpdateRule< DIM > > > GetUpdateRuleCollection() const
void RemoveAllUpdateRules()
OnLatticeSimulation(AbstractCellPopulation< DIM > &rCellPopulation, bool deleteCellPopulationInDestructor=false, bool initialiseCells=true)
static void EndEvent(unsigned event)
void OutputAdditionalSimulationSetup(out_stream &rParamsFile)
void UpdateCellPopulation()