Cometparams.ini parameter file
Here are the core settings in the cometparams.ini file (explained below):
Contents
Run Time
DELTA_T 0.01 TOTAL_SIMULATION_TIME 5600.0 TOT_FRAMES 700
TOTAL_SIMULATION_TIME defines the run length in simulation time (uncalibrated, nominally seconds). 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. TOT_FRAMES defines the number of snapshots to be taken during the run, i.e. 700 snapshots would mean one snapshot every 800 iterations.
Nucleator
SHAPE SPHERE ELLIPSOID_STRETCHFACTOR 1.5 RADIUS 2.5 CAPSULE_HALF_LINEAR 2.75
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 RESTICK_TO_NUCLEATOR true NUC_LINK_FORCE 2.0 NUC_LINK_BREAKAGE_DIST .237
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 repulsion function
NODE_REPULSIVE_RANGE 1.0 NODE_REPULSIVE_MAG 2.7 NODE_REPULSIVE_POWER 2.0
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
</math>The power factor <math> P_R </math> (NODE_REPULSIVE_POWER) is 2, so this is a simple inverse square repulsive force.
Node links
P_NUC 0.12 XLINK_NODE_RANGE 1.0 MAX_LINKS_PER_NEW_NODE 10 LINK_BREAKAGE_FORCE 3.0 LINK_FORCE 3.0 P_XLINK .700 VARY_P_XLINK true
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 {\micro}m<math>^2</math>. 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 forceF_L = -{M_L} \left(\frac{d-d_L}{d_L}\right)
</math>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 NUCLEATOR_INERTIA 80 MofI 0.5 VARY_INERT_W_RAD false
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 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.