36#ifndef OFFLATTICESIMULATION_HPP_
37#define OFFLATTICESIMULATION_HPP_
39#include "AbstractCellBasedSimulation.hpp"
40#include "AbstractForce.hpp"
41#include "AbstractCellPopulationBoundaryCondition.hpp"
42#include "AbstractNumericalMethod.hpp"
45#include <boost/serialization/base_object.hpp>
46#include <boost/serialization/set.hpp>
47#include <boost/serialization/vector.hpp>
70template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM=ELEMENT_DIM>
77 friend class TestOffLatticeSimulation;
78 friend class TestOffLatticeSimulationWithNodeBasedCellPopulation;
86 template<
class Archive>
87 void serialize(Archive & archive,
const unsigned int version)
89 archive & boost::serialization::base_object<AbstractCellBasedSimulation<ELEMENT_DIM,SPACE_DIM> >(*this);
98 std::vector<boost::shared_ptr<AbstractForce<ELEMENT_DIM, SPACE_DIM> > >
mForceCollection;
101 std::vector<boost::shared_ptr<AbstractCellPopulationBoundaryCondition<ELEMENT_DIM,SPACE_DIM> > >
mBoundaryConditions;
150 bool deleteCellPopulationInDestructor=
false,
151 bool initialiseCells=
true);
187 const boost::shared_ptr<AbstractNumericalMethod<ELEMENT_DIM, SPACE_DIM> >
GetNumericalMethod()
const;
210 const std::vector<boost::shared_ptr<AbstractForce<ELEMENT_DIM, SPACE_DIM> > >&
rGetForceCollection()
const;
219namespace serialization
224template<
class Archive,
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
225inline void save_construct_data(
230 ar & p_cell_population;
236template<
class Archive,
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
237inline void load_construct_data(
242 ar >> p_cell_population;
gcov doesn't like this file...
#define EXPORT_TEMPLATE_CLASS_ALL_DIMS(CLASS)
std::vector< boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > > mForceCollection
const boost::shared_ptr< AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > > GetNumericalMethod() const
virtual void UpdateCellLocationsAndTopology()
void OutputAdditionalSimulationSetup(out_stream &rParamsFile)
void RemoveAllCellPopulationBoundaryConditions()
void AddCellPopulationBoundaryCondition(boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > pBoundaryCondition)
std::vector< boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > > mBoundaryConditions
const std::vector< boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > > & rGetForceCollection() const
void SetNumericalMethod(boost::shared_ptr< AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > > pNumericalMethod)
virtual void SetupSolve()
void ApplyBoundaries(std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > oldNodeLoctions)
friend class boost::serialization::access
virtual void WriteVisualizerSetupFile()
virtual void OutputSimulationParameters(out_stream &rParamsFile)
void RevertToOldLocations(std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > oldNodeLoctions)
void AddForce(boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > pForce)
void serialize(Archive &archive, const unsigned int version)
boost::shared_ptr< AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > > mpNumericalMethod