DeltaNotchOffLatticeSimulation.hpp
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 DELTANOTCHOFFLATTICESIMULATION_HPP_
00030 #define DELTANOTCHOFFLATTICESIMULATION_HPP_
00031
00032 #include <map>
00033 #include "ChasteSerialization.hpp"
00034 #include "OffLatticeSimulation.hpp"
00035 #include "PetscTools.hpp"
00036
00042 template<unsigned DIM>
00043 class DeltaNotchOffLatticeSimulation : public OffLatticeSimulation<DIM>
00044 {
00045 private :
00046
00048 friend class boost::serialization::access;
00055 template<class Archive>
00056 void serialize(Archive & archive, const unsigned int version)
00057 {
00058 archive & boost::serialization::base_object<OffLatticeSimulation<DIM> >(*this);
00059 }
00060
00064 void PostSolve();
00065
00066 public:
00067
00069 out_stream mVizDeltaFile;
00070
00079 DeltaNotchOffLatticeSimulation(AbstractCellPopulation<DIM>& rCellPopulation,
00080 bool deleteCellPopulationInDestructor=false,
00081 bool initialiseCells=true);
00082
00086 ~DeltaNotchOffLatticeSimulation();
00087 };
00088
00089 #include "SerializationExportWrapper.hpp"
00090 EXPORT_TEMPLATE_CLASS_SAME_DIMS(DeltaNotchOffLatticeSimulation)
00091
00092 namespace boost
00093 {
00094 namespace serialization
00095 {
00096 template<class Archive, unsigned DIM>
00097 inline void save_construct_data(
00098 Archive & ar, const DeltaNotchOffLatticeSimulation<DIM> * t, const BOOST_PFTO unsigned int file_version)
00099 {
00100 const AbstractCellPopulation<DIM> * p_cell_population = &(t->rGetCellPopulation());
00101 ar & p_cell_population;
00102 }
00103
00104 template<class Archive, unsigned DIM>
00105 inline void load_construct_data(
00106 Archive & ar, DeltaNotchOffLatticeSimulation<DIM> * t, const unsigned int file_version)
00107 {
00108 AbstractCellPopulation<DIM>* p_cell_population;
00109 ar >> p_cell_population;
00110
00111 ::new(t)DeltaNotchOffLatticeSimulation<DIM>(*p_cell_population, true, false);
00112 }
00113 }
00114 }
00115
00116 #endif