Curvature Plugin
The Curvature
plugin implements energy term for compartmental cells. The mathematics
and mechanics between the plugin have been described in
“A New Mechanism for Collective Migration in Myxococcus xanthus”,
J. Starruß, Th. Bley, L. Søgaard-Andersen and A. Deutsch, Journal of
Statistical Physics, DOI: 10.1007/s10955-007-9298-9, (2007). For a
“long” compartmental cell composed of many subcells (think of a snake-like elongated sequence of compartments)
it imposes a constraint on curvature of cells. The syntax is slightly complex:
<Plugin Name="Curvature">
<InternalParameters Type1="Top" Type2="Center">
<Lambda>100.0</Lambda>
<ActivationEnergy>-50.0</ActivationEnergy>
</InternalParameters>
<InternalParameters Type1="Center" Type2="Center">
<Lambda>100.0</Lambda>
<ActivationEnergy>-50.0</ActivationEnergy>
</InternalParameters>
<InternalParameters Type1="Bottom" Type2="Center">
<Lambda>100.0</Lambda>
<ActivationEnergy>-50.0</ActivationEnergy>
</InternalParameters>
<InternalTypeSpecificParameters>
<Parameters TypeName="Top" MaxNumberOfJunctions="1" NeighborOrder="1"/>
<Parameters TypeName="Center" MaxNumberOfJunctions="2" NeighborOrder="1"/>
<Parameters TypeName="Bottom" MaxNumberOfJunctions="1" NeighborOrder="1"/>
</InternalTypeSpecificParameters>
</Plugin>
The InternalTypeSpecificParameter
informs Curvature
Plugin how many
neighbors a cell of given type will have. In the case of “snake-shaped” cell
the numbers that make sense are 1
and 2
. The middle segment will have 2
connections and head
and tail
segments will have only one connection with neighboring
segments (subcells). The connections are established dynamically. The way
it happens is that during simulation CC3D constantly monitors pixel
copies and during pixel copy between two neighboring cells/subcells it
checks if those cells are already “connected” using curvature
constraint. If they are not, CC3D will check if connection can be made
(e.g. Center
cells can have up to two connections and Top
and Bottom
only one connection). Usually establishing connections takes place at
the beginning of the simulation and often happens within first Monte
Carlo Step (depending on actual initial configuration, of course, but if
segments touch each other connections are established almost
immediately). The ActivationEnergy
parameter is added to overall energy
in order to increase the odds of pixel copy which would lead to new
connection. Lambda
tag/parameter determines “the strength” of curvature
constraint. The higher the Lambda
the more stiffer cells will be i.e.
they will tend to align along straight line.