#include <AdhesionPottsUpdateRule.hpp>
Inherits AbstractPottsUpdateRule< DIM >.
Inherited by DifferentialAdhesionPottsUpdateRule< DIM >.
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 |
An adhesion update rule for use in cell-based simulations using the cellular Potts model.
Definition at line 46 of file AdhesionPottsUpdateRule.hpp.
AdhesionPottsUpdateRule< DIM >::AdhesionPottsUpdateRule | ( | ) | [inline] |
Constructor.
Definition at line 32 of file AdhesionPottsUpdateRule.cpp.
AdhesionPottsUpdateRule< DIM >::~AdhesionPottsUpdateRule | ( | ) | [inline] |
Destructor.
Definition at line 40 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 45 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 155 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter().
Referenced by AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution().
double AdhesionPottsUpdateRule< DIM >::GetCellBoundaryAdhesionEnergyParameter | ( | ) | [inline] |
Definition at line 167 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 149 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter().
Referenced by AdhesionPottsUpdateRule< DIM >::EvaluateHamiltonianContribution().
double AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter | ( | ) | [inline] |
Definition at line 161 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 185 of file AdhesionPottsUpdateRule.cpp.
References AdhesionPottsUpdateRule< DIM >::mCellBoundaryAdhesionEnergyParameter, and AdhesionPottsUpdateRule< DIM >::mCellCellAdhesionEnergyParameter.
void AdhesionPottsUpdateRule< DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Serialize the object.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractPottsUpdateRule< DIM >.
Reimplemented in DifferentialAdhesionPottsUpdateRule< DIM >.
Definition at line 68 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 179 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 173 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 66 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 64 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 57 of file AdhesionPottsUpdateRule.hpp.
Referenced by AdhesionPottsUpdateRule< DIM >::GetCellCellAdhesionEnergyParameter(), AdhesionPottsUpdateRule< DIM >::OutputUpdateRuleParameters(), AdhesionPottsUpdateRule< DIM >::serialize(), and AdhesionPottsUpdateRule< DIM >::SetCellCellAdhesionEnergyParameter().