36 #include "CryptSimulationBoundaryCondition.hpp" 37 #include "WntConcentration.hpp" 38 #include "AbstractCentreBasedCellPopulation.hpp" 39 #include "RandomNumberGenerator.hpp" 40 #include "StemCellProliferativeType.hpp" 42 template<
unsigned DIM>
45 mUseJiggledBottomCells(false)
49 template<
unsigned DIM>
85 if (cell_iter->GetCellProliferativeType()->template IsType<StemCellProliferativeType>())
88 c_vector<double, DIM> old_node_location = rOldLocations.find(p_node)->second;
124 if (!is_wnt_included)
130 double node_height = rOldLocations.find(p_node)->second[DIM-1];
131 if (node_height < DBL_EPSILON)
157 template<
unsigned DIM>
160 bool boundary_condition_satisfied =
true;
179 boundary_condition_satisfied =
false;
184 return boundary_condition_satisfied;
187 template<
unsigned DIM>
193 template<
unsigned DIM>
199 template<
unsigned DIM>
virtual Node< SPACE_DIM > * GetNode(unsigned index)=0
AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM > * mpCellPopulation
unsigned GetLocationIndexUsingCell(CellPtr pCell)
void ImposeBoundaryCondition(const std::map< Node< DIM > *, c_vector< double, DIM > > &rOldLocations)
bool GetUseJiggledBottomCells()
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
static WntConcentration * Instance()
CryptSimulationBoundaryCondition(AbstractCellPopulation< DIM > *pCellPopulation)
static RandomNumberGenerator * Instance()
const c_vector< double, SPACE_DIM > & rGetLocation() const
bool mUseJiggledBottomCells
bool VerifyBoundaryCondition()
void SetUseJiggledBottomCells(bool useJiggledBottomCells)
void OutputCellPopulationBoundaryConditionParameters(out_stream &rParamsFile)
c_vector< double, SPACE_DIM > & rGetModifiableLocation()
virtual void OutputCellPopulationBoundaryConditionParameters(out_stream &rParamsFile)=0
virtual unsigned GetNumNodes()=0