Chaste  Release::2018.1
AdhesionPottsUpdateRule< DIM > Class Template Reference

#include <AdhesionPottsUpdateRule.hpp>

+ Inheritance diagram for AdhesionPottsUpdateRule< DIM >:
+ Collaboration diagram for AdhesionPottsUpdateRule< DIM >:

Public Member Functions

 AdhesionPottsUpdateRule ()
 
virtual ~AdhesionPottsUpdateRule ()
 
double EvaluateHamiltonianContribution (unsigned currentNodeIndex, unsigned targetNodeIndex, PottsBasedCellPopulation< DIM > &rCellPopulation)
 
virtual double GetCellCellAdhesionEnergy (CellPtr pCellA, CellPtr pCellB)
 
virtual double GetCellBoundaryAdhesionEnergy (CellPtr pCell)
 
double GetCellCellAdhesionEnergyParameter ()
 
double GetCellBoundaryAdhesionEnergyParameter ()
 
void SetCellCellAdhesionEnergyParameter (double cellCellAdhesionEnergyEnergyParameter)
 
void SetCellBoundaryAdhesionEnergyParameter (double cellBoundaryAdhesionEnergyParameter)
 
void OutputUpdateRuleParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractPottsUpdateRule< DIM >
 AbstractPottsUpdateRule ()
 
virtual ~AbstractPottsUpdateRule ()
 
- Public Member Functions inherited from AbstractUpdateRule< DIM >
 AbstractUpdateRule ()
 
virtual ~AbstractUpdateRule ()
 
void OutputUpdateRuleInfo (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)
 

Private Attributes

double mCellCellAdhesionEnergyParameter
 
double mCellBoundaryAdhesionEnergyParameter
 

Friends

class TestPottsUpdateRules
 
class boost::serialization::access
 

Detailed Description

template<unsigned DIM>
class AdhesionPottsUpdateRule< DIM >

An adhesion update rule for use in cell-based simulations using the cellular Potts model.

Definition at line 50 of file AdhesionPottsUpdateRule.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
AdhesionPottsUpdateRule< DIM >::AdhesionPottsUpdateRule ( )

Constructor.

Definition at line 39 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
AdhesionPottsUpdateRule< DIM >::~AdhesionPottsUpdateRule ( )
virtual

Destructor.

Definition at line 47 of file AdhesionPottsUpdateRule.cpp.

Member Function Documentation

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution ( unsigned  currentNodeIndex,
unsigned  targetNodeIndex,
PottsBasedCellPopulation< DIM > &  rCellPopulation 
)
virtual

Overridden EvaluateHamiltonianContribution() method

Uses sum_adjacentsites (1-delta(spin(i),spin(j))) gamma(spin(i),spin(j))

Parameters
currentNodeIndexThe index of the current node/lattice site
targetNodeIndexThe index of the target node/lattice site
rCellPopulationThe cell population
Returns
The difference in the Hamiltonian with the configuration of the target node having the same spin as the current node with the current configuration. i.e H_1-H_0

Before the move, we have a negative contribution (H_0) to the Hamiltonian if: the target node and neighbouring node are NOT contained in the same Potts element; the neighbouring node is contained in a Potts element, but the target node is not; or the target node is contained in a Potts element, but the neighbouring node is not.

After the move, we have a positive contribution (H_1) to the Hamiltonian if: the current node and neighbouring node are contained in different Potts elements; the neighbouring node is contained in a Potts element, but the current node is not; or the current node is contained in a Potts element, but the neighbouring node is not.

Implements AbstractPottsUpdateRule< DIM >.

Definition at line 52 of file AdhesionPottsUpdateRule.cpp.

References EXCEPTION, AbstractCellPopulation< DIM >::GetCellUsingLocationIndex(), PottsBasedCellPopulation< DIM >::GetNode(), and PottsBasedCellPopulation< DIM >::rGetMesh().

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergy ( CellPtr  pCell)
virtual

Method to calculate the specific interaction between cell and medium can be overridden in child classes to implement differential adhesion .etc.

Parameters
pCellpointer to the cell
Returns
Cell boundary interaction adhesion energy for the cell

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 161 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter ( )
Returns
mCellBoundaryAdhesionEnergyParameter

Definition at line 173 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergy ( CellPtr  pCellA,
CellPtr  pCellB 
)
virtual

Method to calculate the specific interaction between 2 cells can be overridden in child classes to implement differential adhesion .etc.

Parameters
pCellApointer to the 1st cell
pCellBpointer to the 2nd cell
Returns
The cell cell interaction adhesion energy between the two cells

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 155 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter ( )
Returns
mCellCellAdhesionEnergyParameter

Definition at line 167 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
void AdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputUpdateRuleParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from AbstractPottsUpdateRule< DIM >.

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 191 of file AdhesionPottsUpdateRule.cpp.

References AbstractPottsUpdateRule< DIM >::OutputUpdateRuleParameters().

Referenced by DifferentialAdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters().

template<unsigned DIM>
template<class Archive >
void AdhesionPottsUpdateRule< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.

Parameters
archiveThe boost archive.
versionThe current version of this class.

Definition at line 79 of file AdhesionPottsUpdateRule.hpp.

References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter, and AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.

template<unsigned DIM>
void AdhesionPottsUpdateRule< DIM >::SetCellBoundaryAdhesionEnergyParameter ( double  cellBoundaryAdhesionEnergyParameter)

Set mCellBoundaryAdhesionEnergyParameter.

Parameters
cellBoundaryAdhesionEnergyParameterthe new value of mCellBoundaryAdhesionEnergyParameter

Definition at line 185 of file AdhesionPottsUpdateRule.cpp.

template<unsigned DIM>
void AdhesionPottsUpdateRule< DIM >::SetCellCellAdhesionEnergyParameter ( double  cellCellAdhesionEnergyEnergyParameter)

Set mCellCellAdhesionEnergyParameter.

Parameters
cellCellAdhesionEnergyEnergyParameterthe new value of mCellCellAdhesionEnergyParameter

Definition at line 179 of file AdhesionPottsUpdateRule.cpp.

Member Data Documentation

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter
private

Cell-boundary adhesion energy parameter. Set to the default value 0.2 in the constructor.

Todo:
provide units

Definition at line 68 of file AdhesionPottsUpdateRule.hpp.

Referenced by AdhesionPottsUpdateRule< DIM >::serialize().

template<unsigned DIM>
double AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter
private

Cell-cell adhesion energy parameter. Set to the default value 0.1 in the constructor.

Todo:
provide units

Definition at line 61 of file AdhesionPottsUpdateRule.hpp.

Referenced by AdhesionPottsUpdateRule< DIM >::serialize().


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