36#ifndef MESHBASEDCELLPOPULATIONWITHGHOSTNODES_HPP_
37#define MESHBASEDCELLPOPULATIONWITHGHOSTNODES_HPP_
40#include <boost/serialization/base_object.hpp>
41#include <boost/serialization/vector.hpp>
43#include "MeshBasedCellPopulation.hpp"
94 template<
class Archive>
95 void serialize(Archive & archive,
const unsigned int version)
102 archive & boost::serialization::base_object<MeshBasedCellPopulation<DIM, DIM> >(*this);
139 std::vector<CellPtr>& rCells,
140 const std::vector<unsigned> locationIndices=std::vector<unsigned>(),
141 bool deleteMesh=
false,
142 double ghostCellSpringStiffness=15.0,
143 double ghostGhostSpringStiffness=15.0,
144 double ghostSpringRestLength=1.0);
155 double ghostCellSpringStiffness=15.0,
156 double ghostGhostSpringStiffness=15.0,
157 double ghostSpringRestLength=1.0);
188 void SetGhostNodes(
const std::set<unsigned>& rGhostNodeIndices);
250 CellPtr
AddCell(CellPtr pNewCell, CellPtr pParentCell);
285namespace serialization
290template<
class Archive,
unsigned DIM>
291inline void save_construct_data(
303template<
class Archive,
unsigned DIM>
304inline void load_construct_data(
gcov doesn't like this file...
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
std::set< unsigned > GetGhostNodeIndices()
std::set< unsigned > GetNeighbouringLocationIndices(CellPtr pCell)
virtual void OpenWritersFiles(OutputFileHandler &rOutputFileHandler)
double mGhostSpringRestLength
bool IsGhostNode(unsigned index)
double mGhostGhostSpringStiffness
double mGhostCellSpringStiffness
c_vector< double, DIM > CalculateForceBetweenGhostNodes(const unsigned &rNodeAGlobalIndex, const unsigned &rNodeBGlobalIndex)
virtual void WriteVtkResultsToFile(const std::string &rDirectory)
CellPtr AddCell(CellPtr pNewCell, CellPtr pParentCell)
friend class TestMeshBasedCellPopulationWithGhostNodes
void SetGhostNodes(const std::set< unsigned > &rGhostNodeIndices)
void serialize(Archive &archive, const unsigned int version)
std::vector< bool > & rGetGhostNodes()
virtual TetrahedralMesh< DIM, DIM > * GetTetrahedralMeshForPdeModifier()
virtual ~MeshBasedCellPopulationWithGhostNodes()
virtual void AcceptCellWritersAcrossPopulation()
friend class boost::serialization::access
void RemoveGhostNode(unsigned nodeIndex)
std::vector< bool > mIsGhostNode
void UpdateGhostNodesAfterReMesh(NodeMap &rMap)
void OutputCellPopulationParameters(out_stream &rParamsFile)