# Cometparams.ini parameter file

These are the core model settings in the cometparams.ini file. The model is currently uncalibrated: units are specified in nominal microns, seconds, piconewtons etc., for purposes of understanding the parameters, but don't directly correspond to the physical properties of the actin gel.

## Contents

#### Run Time

TOTAL_SIMULATION_TIME 5600.0  # (s) how long  to run the simulation for (in simulation-time seconds)
TOT_FRAMES             700    # (frames) how many frames in this time
DELTA_T                  0.01 # (s) iteration timestep


TOTAL_SIMULATION_TIME defines the run length in simulation time (uncalibrated, nominally seconds). TOT_FRAMES defines the number of frames to be taken during the run, i.e. 700 frames would mean one frame every 800 iterations. Frames are not time units, but simply represent equal-spaced points in time when data is saved, bitmaps calculated, etc. DELTA_T defines the time step between iterations, i.e. for the given TOTAL_SIMULATION_TIME of 5600 and DELTA_T of 0.01, there will be a total of 560000 iterations. Increasing DELTA_T makes the run faster, but risks errors. Generally, a too-large DELTA_T will result in warnings that nodes are entering significant distances into the nucleator before being ejected, but also check that the network behavior is not being affected by artifacts of too large a DELTA_T by reducing DELTA_T by a factor of 2 or more to see if you get the same result)

#### Nucleator Geometry

SHAPE                   SPHERE  # (SPHERE, ELLIPSOID or CAPSULE) Nuleator shape
ELLIPSOID_STRETCHFACTOR    1.5  # (unitless) Ratio of major to minor ellipse axes
RADIUS                     2.5  # (um) Radius of sphere, minor axis of ellipse, radius of capsule
CAPSULE_HALF_LINEAR        2.75 # (um) Half the length of the linear section for capsule


SHAPE can be SPHERE, CAPSULE or ELLIPSOID. For SPHERE, only the RADIUS matters. For CAPSULE, RADIUS and CAPSULE_HALF_LINEAR are used, and for ELLIPSOID, RADIUS and ELLIPSOID_STRETCHFACTOR define the shape. (Arbitrary shapes can be defined in the code, given a function that for a supplied point, returns a vector normal to the nearest point on the surface to the given point.)

#### Nucleator Attachments

STICK_TO_NUCLEATOR      true # (boolean) whether nodes stick to nucleator upon creation
RESTICK_TO_NUCLEATOR    true # (boolean) whether nodes stick to nucleator upon contact
NUC_LINK_FORCE          2.0  # (pN/um) nucleator-node link force scaling factor
NUC_LINK_BREAKAGE_DIST 0.237 # (um) maximum nucleator-node link length before it breaks


When nodes are created, STICK_TO_NUCLEATOR defines whether they stick to their point of creation on the nucleator surface. Stuck nodes exert a force proportional to NUC_LINK_FORCE multiplied by the distance from the surface stuck point until they are extended beyond NUC_LINK_BREAKAGE_DIST when the link breaks. If RESTICK_TO_NUCLEATOR is true, unstuck nodes will re-stick if they come into contact with the surface again.

#### Node-node repulsion

NODE_REPULSIVE_RANGE  1.0  # (um) how far to calculate the node-node repulsion function
NODE_REPULSIVE_MAG    2.7  # (pN) magnitude scale factor for repulsive force
NODE_REPULSIVE_POWER  2.0  # (unitless) power of repulsion function (see equation) (always set to 2 for the moment)

Figure 1: Forces acting on the nodes

The repulsion force between nodes is of the form:

$F_R = M_R \left( \left(\frac{d_R}{d}\right)^{P_R} - 1 \right), \quad 0<d<d_R$
where $d$ is the distance between nodes, $M_R$ (NODE_REPULSIVE_MAG) is a magnitude scale factor, and $d_R$ (NODE_REPULSIVE_RANGE) is a distance scale factor for the repulsive force (It tails off to zero by this point and is not calculated for node pairs further apart than this). The power factor $P_R$ (NODE_REPULSIVE_POWER) is 2, so this is a simple inverse square repulsive force.

P_NUC                  0.12 # (nodes.um^2.s^-1) Nucleation rate (probability of forming nodes)
XLINK_NODE_RANGE       1.0  # (um) maximum distance to link two nodes when they form
MAX_LINKS_PER_NEW_NODE 10   # (links) cap the max number of links for a new node
LINK_BREAKAGE_FORCE    3.0  #  (pN) maximum node-node link force before it breaks
LINK_FORCE             3.0  # (pN) magnitude scale factor for link force
P_XLINK               .700  # (unitless) Max probability (at d=0) of forming a crosslink to a neighboring node
VARY_P_XLINK          true  # (boolean) whether to reduce probability of crosslinking linearly with distance


P_NUC defines the rate of nucleation of new nodes per unit area per unit time. i.e. for one iteration, the number of new nodes added over the whole of the nucleator surface is P_NUC * DELTA_T * surf_area, where surf_area is in µm$^2$. The nodes are added at random positions on the surface, with an even distribution unless the ASYMMETRIC_NUCLEATION variable is set.

New nodes are crosslinked to nearby nodes within XLINK_NODE_RANGE. The links then behave as Hookean springs, exerting a restoring force
$F_L = -{M_L} \left(\frac{d-d_L}{d_L}\right)$
where $d$ is the distance between nodes, $M_L$ is a magnitude scale factor, and $d_L$ is the original length of the link when it was formed (\fref{fig:simulationdetails}). If the link is extended so that its force goes beyond a certain limit, the link breaks. (optionally this can be strain rather than stress, i.e. a break occurs when $\frac{d}{d_L}$ exceeds a certain limit rather than when $\frac{d-d_L}{d_L}$ does)

Nodes are added to the surface and fixed there while their repulsive forces are ramped up linearly from 0 to full. This allows time for nodes already at the surface move and make room for the new node before it is crosslinked. The ramp-up occurs over CROSSLINKDELAY iterations. MAX_LINKS_PER_NEW_NODE limits the maximum number of crosslinks for each new node. LINK_FORCE is the spring constant, and when the extension forces reaches LINK_BREAKAGE_FORCE, the link breaks. P_XLINK is the probability of forming a crosslink to a node within range (still restricted by the MAX_LINKS_PER_NEW_NODE limit). The VARY_P_XLINK flag (normally on) also imposes a linear tail-off of this probability with distance.

#### Drag

FORCE_SCALE_FACT      0.3 # (um.pN^-1.s^-1) how fast nodes move for a given force
VARY_INERT_W_RAD    false # (boolean) whether to vary nucleator inertia (viscous drag) with radius
NUCLEATOR_INERTIA      80 #  (unitless, or um^-1)  Scale factor for how much harder it is to move nucleator than nodes
MofI                  0.5 # (rad.um^1.^pn) How hard it is to rotate the nucleator


This section relates the forces to the actual movement of the nodes and nucleator. FORCE_SCALE_FACT scales the movement of nodes (i.e. effectively inverse of node drag). If you reduce this, you probably need to reduce DELTA_T as well. NUCLEATOR_INERTIA (viscous drag) determines how hard it is to displace the nucleator and MofI determines how hard it is to rotate it. If VARY_INERT_W_RAD is set, inertia will be scaled by the size of the nucleator.