![]() |
Chaste Commit::9e4a273f0754a391514ab12ed9d4a38fc9933db2
|
#include <RK4NumericalMethod.hpp>
Inheritance diagram for RK4NumericalMethod< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for RK4NumericalMethod< ELEMENT_DIM, SPACE_DIM >:Public Member Functions | |
| RK4NumericalMethod () | |
| virtual | ~RK4NumericalMethod () |
| void | UpdateAllNodePositions (double dt) |
| virtual void | OutputNumericalMethodParameters (out_stream &rParamsFile) |
Public Member Functions inherited from AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > | |
| AbstractNumericalMethod () | |
| virtual | ~AbstractNumericalMethod () |
| void | SetCellPopulation (AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > *pPopulation) |
| void | SetForceCollection (std::vector< boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > > *pForces) |
| void | SetBoundaryConditions (std::vector< boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > > *pBoundaryConditions) |
| virtual void | SetUseAdaptiveTimestep (bool useAdaptiveTimestep) |
| bool | HasAdaptiveTimestep () |
| virtual bool | DelegatesToPopulation () |
| void | OutputNumericalMethodInfo (out_stream &rParamsFile) |
Public Member Functions inherited from Identifiable | |
| virtual | ~Identifiable () |
| std::string | GetIdentifier () const |
Private Member Functions | |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > | |
| std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > | SaveCurrentNodeLocations () |
| void | ImposeBoundaryConditions (std::map< Node< SPACE_DIM > *, c_vector< double, SPACE_DIM > > &rOldNodeLocations) |
| std::vector< c_vector< double, SPACE_DIM > > | ComputeForcesIncludingDamping () |
| std::vector< c_vector< double, SPACE_DIM > > | SaveCurrentLocations () |
| void | SafeNodePositionUpdate (unsigned nodeIndex, c_vector< double, SPACE_DIM > newPosition) |
| void | DetectStepSizeExceptions (unsigned nodeIndex, c_vector< double, SPACE_DIM > &displacement, double dt) |
Protected Attributes inherited from AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM > | |
| AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > * | mpCellPopulation |
| std::vector< boost::shared_ptr< AbstractForce< ELEMENT_DIM, SPACE_DIM > > > * | mpForceCollection |
| std::vector< boost::shared_ptr< AbstractCellPopulationBoundaryCondition< ELEMENT_DIM, SPACE_DIM > > > * | mpBoundaryConditions |
| bool | mUseAdaptiveTimestep |
| bool | mGhostNodeForcesEnabled |
Implements the 4th-order Runge-Kutta (RK4) time stepping scheme for off-lattice cell-based simulations.
Solves the equations of motion dr/dt = F/nu using the classic 4th-order Runge-Kutta scheme:
k1 = F(r^t) / nu k2 = F(r^t + dt*k1/2) / nu k3 = F(r^t + dt*k2/2) / nu k4 = F(r^t + dt*k3) / nu r^(t+1) = r^t + (dt/6) * (k1 + 2*k2 + 2*k3 + k4)
Definition at line 58 of file RK4NumericalMethod.hpp.
| RK4NumericalMethod< ELEMENT_DIM, SPACE_DIM >::RK4NumericalMethod | ( | ) |
Constructor.
Definition at line 39 of file RK4NumericalMethod.cpp.
|
virtual |
Destructor.
Definition at line 45 of file RK4NumericalMethod.cpp.
|
virtual |
Overridden OutputNumericalMethodParameters() method.
| rParamsFile | Reference to the parameter output filestream |
Reimplemented from AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >.
Definition at line 124 of file RK4NumericalMethod.cpp.
References AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >::OutputNumericalMethodParameters().
|
inlineprivate |
Save or restore the simulation.
| archive | the archive |
| version | the current version of this class |
Definition at line 72 of file RK4NumericalMethod.hpp.
|
virtual |
Overridden UpdateAllNodePositions() method.
| dt | Time step size |
Implements AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >.
Definition at line 50 of file RK4NumericalMethod.cpp.
|
friend |
Needed for serialization.
Definition at line 63 of file RK4NumericalMethod.hpp.