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

#include <AdhesionPottsUpdateRule.hpp>

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

List of all members.

Public Member Functions

 AdhesionPottsUpdateRule ()
 ~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)

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 53 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 ( )

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 162 of file AdhesionPottsUpdateRule.cpp.

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

Definition at line 174 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 156 of file AdhesionPottsUpdateRule.cpp.

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

Definition at line 168 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

Implements AbstractPottsUpdateRule< DIM >.

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 192 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 
) [inline, private]

Serialize the object.

Parameters:
archivethe archive
versionthe current version of this class

Reimplemented from AbstractPottsUpdateRule< DIM >.

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 75 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 186 of file AdhesionPottsUpdateRule.cpp.

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

Set mCellCellAdhesionEnergyParameter.

Parameters:
cellCellAdhesionEnergyEnergyParameterthe new value of mCellCellAdhesionEnergyParameter

Definition at line 180 of file AdhesionPottsUpdateRule.cpp.


Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractPottsUpdateRule< DIM >.

Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.

Definition at line 73 of file AdhesionPottsUpdateRule.hpp.


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 71 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 64 of file AdhesionPottsUpdateRule.hpp.

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


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