#include <AdhesionPottsUpdateRule.hpp>
Inherits AbstractPottsUpdateRule< DIM >.
Inherited by DifferentialAdhesionPottsUpdateRule< 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) |
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 |
An adhesion update rule for use in cell-based simulations using the cellular Potts model.
Definition at line 50 of file AdhesionPottsUpdateRule.hpp.
AdhesionPottsUpdateRule< DIM >::AdhesionPottsUpdateRule | ( | ) | [inline] |
Constructor.
Definition at line 39 of file AdhesionPottsUpdateRule.cpp.
AdhesionPottsUpdateRule< DIM >::~AdhesionPottsUpdateRule | ( | ) | [inline, virtual] |
Destructor.
Definition at line 47 of file AdhesionPottsUpdateRule.cpp.
double AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution | ( | unsigned | currentNodeIndex, | |
unsigned | targetNodeIndex, | |||
PottsBasedCellPopulation< DIM > & | rCellPopulation | |||
) | [inline, virtual] |
Overridden EvaluateHamiltonianContribution() method
Uses sum_adjacentsites (1-delta(spin(i),spin(j))) gamma(spin(i),spin(j))
currentNodeIndex | The index of the current node/lattice site | |
targetNodeIndex | The index of the target node/lattice site | |
rCellPopulation | The cell population |
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, AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergy(), AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergy(), AbstractCellPopulation< DIM >::GetCellUsingLocationIndex(), PottsBasedCellPopulation< DIM >::GetNode(), and PottsBasedCellPopulation< DIM >::rGetMesh().
double AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergy | ( | CellPtr | pCell | ) | [inline, virtual] |
Method to calculate the specific interaction between cell and medium can be overridden in child classes to implement differential adhesion .etc.
pCell | pointer to the cell |
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 162 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter().
Referenced by AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution().
double AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter | ( | ) | [inline] |
Definition at line 174 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter.
Referenced by DifferentialAdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergy(), and AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergy().
double AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergy | ( | CellPtr | pCellA, | |
CellPtr | pCellB | |||
) | [inline, virtual] |
Method to calculate the specific interaction between 2 cells can be overridden in child classes to implement differential adhesion .etc.
pCellA | pointer to the 1st cell | |
pCellB | pointer to the 2nd cell |
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 156 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter().
Referenced by AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution().
double AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter | ( | ) | [inline] |
Definition at line 168 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.
Referenced by DifferentialAdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergy(), and AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergy().
void AdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputUpdateRuleParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractPottsUpdateRule< DIM >.
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 192 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter, and AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.
void AdhesionPottsUpdateRule< DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.
archive | The boost archive. | |
version | The current version of this class. |
Reimplemented from AbstractPottsUpdateRule< DIM >.
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 79 of file AdhesionPottsUpdateRule.hpp.
References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter, and AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.
void AdhesionPottsUpdateRule< DIM >::SetCellBoundaryAdhesionEnergyParameter | ( | double | cellBoundaryAdhesionEnergyParameter | ) | [inline] |
Set mCellBoundaryAdhesionEnergyParameter.
cellBoundaryAdhesionEnergyParameter | the new value of mCellBoundaryAdhesionEnergyParameter |
Definition at line 186 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter.
void AdhesionPottsUpdateRule< DIM >::SetCellCellAdhesionEnergyParameter | ( | double | cellCellAdhesionEnergyEnergyParameter | ) | [inline] |
Set mCellCellAdhesionEnergyParameter.
cellCellAdhesionEnergyEnergyParameter | the new value of mCellCellAdhesionEnergyParameter |
Definition at line 180 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractPottsUpdateRule< DIM >.
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 70 of file AdhesionPottsUpdateRule.hpp.
double AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter [private] |
Cell-boundary adhesion energy parameter. Set to the default value 0.2 in the constructor.
Definition at line 68 of file AdhesionPottsUpdateRule.hpp.
Referenced by AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter(), AdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters(), AdhesionPottsUpdateRule< DIM >::serialize(), and AdhesionPottsUpdateRule< DIM >::SetCellBoundaryAdhesionEnergyParameter().
double AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter [private] |
Cell-cell adhesion energy parameter. Set to the default value 0.1 in the constructor.
Definition at line 61 of file AdhesionPottsUpdateRule.hpp.
Referenced by AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter(), AdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters(), AdhesionPottsUpdateRule< DIM >::serialize(), and AdhesionPottsUpdateRule< DIM >::SetCellCellAdhesionEnergyParameter().