Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <ForwardEulerNumericalMethod.hpp>

+ Inheritance diagram for ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

 ForwardEulerNumericalMethod ()
 
virtual ~ForwardEulerNumericalMethod ()
 
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)
 
void SetUseAdaptiveTimestep (bool useAdaptiveTimestep)
 
void SetUseUpdateNodeLocation (bool useUpdateNodeLocation)
 
bool GetUseUpdateNodeLocation ()
 
bool HasAdaptiveTimestep ()
 
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 mUseUpdateNodeLocation
 
bool mGhostNodeForcesEnabled
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >

Implements forward Euler time stepping.

Solves the equations of motion dr/dt = F Using the scheme

r^(t+1) = r^t + dt F^t.

Definition at line 53 of file ForwardEulerNumericalMethod.hpp.

Constructor & Destructor Documentation

◆ ForwardEulerNumericalMethod()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >::ForwardEulerNumericalMethod ( )

Constructor.

Definition at line 39 of file ForwardEulerNumericalMethod.cpp.

◆ ~ForwardEulerNumericalMethod()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >::~ForwardEulerNumericalMethod ( )
virtual

Destructor.

Definition at line 45 of file ForwardEulerNumericalMethod.cpp.

Member Function Documentation

◆ OutputNumericalMethodParameters()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >::OutputNumericalMethodParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputNumericalMethodParameters() method.

Parameters
rParamsFileReference to the parameter output filestream

Reimplemented from AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >.

Definition at line 86 of file ForwardEulerNumericalMethod.cpp.

References AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >::OutputNumericalMethodParameters().

◆ serialize()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Save or restore the simulation.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 67 of file ForwardEulerNumericalMethod.hpp.

◆ UpdateAllNodePositions()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ForwardEulerNumericalMethod< ELEMENT_DIM, SPACE_DIM >::UpdateAllNodePositions ( double  dt)
virtual

Overridden UpdateAllNodePositions() method.

Parameters
dtTime step size

Implements AbstractNumericalMethod< ELEMENT_DIM, SPACE_DIM >.

Definition at line 50 of file ForwardEulerNumericalMethod.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 58 of file ForwardEulerNumericalMethod.hpp.


The documentation for this class was generated from the following files: