36 #include "VertexCryptBoundaryForce.hpp"
39 template<
unsigned DIM>
42 mForceStrength(forceStrength)
48 template<
unsigned DIM>
53 template<
unsigned DIM>
62 EXCEPTION(
"VertexCryptBoundaryForce is to be used with VertexBasedCellPopulations only");
70 double y = node_iter->rGetLocation()[1];
75 c_vector<double, DIM> boundary_force = zero_vector<double>(DIM);
76 boundary_force[1] = mForceStrength*
SmallPow(y, 2);
78 node_iter->AddAppliedForceContribution(boundary_force);
83 template<
unsigned DIM>
86 return mForceStrength;
89 template<
unsigned DIM>
92 *rParamsFile <<
"\t\t\t<ForceStrength>" << mForceStrength <<
"</ForceStrength>\n";
void OutputForceParameters(out_stream &rParamsFile)
void AddForceContribution(AbstractCellPopulation< DIM > &rCellPopulation)
double SmallPow(double x, unsigned exponent)
#define EXCEPTION(message)
NodeIterator GetNodeIteratorEnd()
VertexCryptBoundaryForce(double forceStrength=1.0)
MutableVertexMesh< DIM, DIM > & rGetMesh()
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
NodeIterator GetNodeIteratorBegin(bool skipDeletedNodes=true)
~VertexCryptBoundaryForce()
double GetForceStrength() const
virtual void OutputForceParameters(out_stream &rParamsFile)=0