36#include "ExtrinsicPullModifier.hpp"
41 mApplyExtrinsicPullToAllNodes(true),
62 if (mApplyExtrinsicPullToAllNodes)
65 double width = x_max - x_min;
66 for (
unsigned node_index=0; node_index<num_nodes; node_index++)
69 double speed = mSpeed * (p_node->
rGetLocation()[0] - x_min) / width;
80 for (
unsigned node_index=0; node_index<num_nodes; node_index++)
99 mApplyExtrinsicPullToAllNodes = applyExtrinsicPullToAllNodes;
102template<
unsigned DIM>
108template<
unsigned DIM>
111 return mApplyExtrinsicPullToAllNodes;
114template<
unsigned DIM>
120template<
unsigned DIM>
123 *rParamsFile <<
"\t\t\t<ApplyExtrinsicPullToAllNodes>" << mApplyExtrinsicPullToAllNodes <<
"</ApplyExtrinsicPullToAllNodes>\n";
124 *rParamsFile <<
"\t\t\t<Speed>" << mSpeed <<
"</Speed>\n";
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
virtual void OutputSimulationModifierParameters(out_stream &rParamsFile)=0
virtual Node< SPACE_DIM > * GetNode(unsigned index)=0
virtual unsigned GetNumNodes()=0
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & rGetMesh()
const ChastePoint< SPACE_DIM > & rGetUpperCorner() const
const ChastePoint< SPACE_DIM > & rGetLowerCorner() const
bool GetApplyExtrinsicPullToAllNodes()
virtual void UpdateAtEndOfTimeStep(AbstractCellPopulation< DIM, DIM > &rCellPopulation)
virtual void SetupSolve(AbstractCellPopulation< DIM, DIM > &rCellPopulation, std::string outputDirectory)
void SetApplyExtrinsicPullToAllNodes(bool applyExtrinsicPullToAllNodes)
void SetSpeed(double speed)
void OutputSimulationModifierParameters(out_stream &rParamsFile)
virtual ~ExtrinsicPullModifier()
c_vector< double, SPACE_DIM > & rGetModifiableLocation()
const c_vector< double, SPACE_DIM > & rGetLocation() const
double GetTimeStep() const
static SimulationTime * Instance()