Proliferation in Two Dimensions

Persistent Identifier

Use this permanent link to cite or share this Morpheus model:


This model shows a simulation of a growing cell population, using the cellular Potts model.

Growing cell population.
Growing cell population.


The model specifies CellType which has a VolumeConstraint and a Proliferation plugin.

In the Proliferation plugin, the Conditions for a cell to divide are given. Here, each cell that has more than 90% of the target volume has a small probability to divide. Once a division has taken place, the Equation defined in the Triggers elements are triggered.


Get this model via:

  • Morpheus-Link or
  • Morpheus GUI: ExamplesCPMProliferation_2D.xml or
  •  Download: Proliferation_2D.xml
  • XML Preview

    <?xml version='1.0' encoding='UTF-8'?>
    <MorpheusModel version="3">
            <Variable symbol="c" value="0.0"/>
            <Lattice class="hexagonal">
                <Size symbol="size" value="500 500 0"/>
                    <Condition boundary="x" type="periodic"/>
                    <Condition boundary="y" type="periodic"/>
            <SpaceSymbol symbol="space"/>
            <StartTime value="0"/>
            <StopTime symbol="stoptime" value="4e4"/>
            <TimeSymbol symbol="time"/>
            <CellType class="biological" name="cells">
                <Property symbol="p" value="5e-5" name="proliferation rate"/>
                <Property symbol="d" value="0" name="divisions"/>
                <Property symbol="c" value="0" name="color"/>
                <VolumeConstraint target="500" strength="1"/>
                <SurfaceConstraint target="0.9" mode="aspherity" strength="1"/>
                <System solver="euler" time-step="1.0">
                    <Rule symbol-ref="c">
                        <Expression>if( c > 0, c-1, 0)</Expression>
                <CellDivision division-plane="random">
                    <Condition>rand_uni(0,1) &lt; p</Condition>
                        <Rule symbol-ref="d">
                        <Rule symbol-ref="c" name="color after division">
            <Interaction default="0">
                <Contact type1="cells" type2="cells" value="-4"/>
            <MonteCarloSampler stepper="edgelist">
                <MCSDuration value="1.0"/>
                <MetropolisKinetics temperature="3" yield="0.1"/>
            <ShapeSurface scaling="norm">
            <Population size="1" type="cells">
                <InitCircle mode="regular" number-of-cells="20">
                    <Dimensions radius="35" center="250, 250, 0"/>
            <Gnuplotter time-step="1000" decorate="false">
                <Terminal name="png"/>
                    <Cells value="c" min="0.0" max="1">
                            <Color value="1" color="red"/>
                            <Color value="0.0" color="green"/>
                    <CellLabels fontsize="8" value="d"/>
            <Logger time-step="100">
                    <Symbol symbol-ref="celltype.cells.size"/>
                    <Plot log-commands="true" time-step="10000">
                        <Style point-size="0.5" grid="true" style="linespoints"/>
                        <Terminal terminal="png"/>
                        <X-axis minimum="0" maximum="stoptime">
                            <Symbol symbol-ref="time"/>
                        <Y-axis minimum="0" maximum="100">
                            <Symbol symbol-ref="celltype.cells.size"/>


    Files associated with this model: