Cytosim PI Cytoskeleton Simulator

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Variables
Parameters of Simul
All object parameters

## Variables
real | time_step
| a small interval of time More...
real | viscosity
| Ambient viscosity. More...
Vector | flow
| uniform and constant fluid flow
real | kT
| Level of Brownian motion in the system = temperature * Boltzman constant. More...
unsigned long | random_seed
| Seed for random number generator. More...
real | tolerance
| Desired precision in the motion of the objects. More...
real | acceptable_rate
| Precision threshold for stochastic events. More...
int | precondition
| A flag to enable preconditionning when solving the system of equations. More...
int | steric
| A flag to control the engine that implement steric interactions between objects.
real | steric_stiffness_push [2]
| Stiffness for repulsive steric interaction.
real | steric_stiffness_pull [2]
| Stiffness for attractive steric interaction.
real | steric_max_range
| Lattice size used to determine steric interactions. More...
real | binding_grid_step
| Lattice size used to determine the attachment of Hand to Fiber. More...
int | verbose
| level of verbosity
std::string | config
| Name of configuration file (default = config.cym)
std::string | property_file
| Name of output property file (also known as properties, default = properties.cmo)
std::string | trajectory_file
| Name of output trajectory file (also known as trajectory, default = objects.cmo)
bool | append_file
| If false, any pre-existing trajectory_file will be erased (default = false)
std::string | display
| Display parameters (see Display parameters: World)

## Detailed Description

## Variable Documentation

real acceptable_rate

A warning message is issued for a rate K if:

K * time_step > acceptable_rate

In most implementations, a stochastic event (binding/unbinding) may only occur once during a time_step, and this becomes inaccurate if ( K * time_step is not small compared to 1 ).

A user may control the `rate overflow' by adjusting acceptable_rate and monitoring the warning messages.

default value = 0.5

real binding_grid_step

Cytosim uses a divide-and-conquer approach to detect which Fibers are near a given point, witout testing every Fiber. This is necessary to determine onto which Fiber a Hand may bind. The algorithm is based on partitionning Space with a rectangular grid with cells of size binding_grid_step (see FiberGrid).

binding_grid_step affects the execution speed of the algorithm, but not its result. Smaller values of binding_grid_step reduce the number of false positives, but require more memory and housekeeping calculations. Memory requirements also increase with the physical dimensions of the system, to the power DIM (the dimensionality, set at compilation time).

real kT

kT is the product of the absolute temperature in Kelvin, by the Boltzmann constant k (http://en.wikipedia.org/wiki/Boltzmann_constant):

- k = 1.3806 . 10^-23 Joule/Kelvin = 1.3806 . 10^-5 pN.um / Kelvin
- Kelvin = Celsius + 273.15

Examples:

- If temperature T = 24 C = 297 Kelvin, then kT = 1.3806 * 297 = 410 . 10^-5 = 0.0041 pN.um
- If temperature T = 37 C = 310.15 Kelvin, then kT = 1.3806 * 310.15 = 410 . 10^-5 = 0.00428 pN.um

default value = 0.0042

int precondition

The accepted values of precondition are:

- 0 : never use preconditionning
- 1 : always use preconditionning
- 2 : try the two methods, and use the fastest one

default value = 1

unsigned long random_seed

The simulation uses SFMT, a fast Mersenne Twister to generate pseudo-random numbers http://en.wikipedia.org/wiki/Mersenne_twister

The generator is initialized from random_seed. If ( random_seed == 0 ) then random_seed is calculated from the clock time during initialization.

default value = 0

real steric_max_range

Cytosim uses a divide-and-conquer approach to find pairs of objects that are close enough to interact, based on a dividing the Space with a rectangular grid (see PointGrid).

steric_max_range defines the minimum size of the cells in the grid. A finer grid reduces false positives, but increases the amount of memory occupied by the grid, and the number calculations that are necessary to maintain and clear the grid.

Thus optimal performance is usually obtained for an intermediate value of steric_max_range. However steric_max_range must remain greater than the maximum interaction distance, otherwise some interacting pairs will be missed. Experimentation is usually necessary to find the best value.

The maximum distance at which an object may interact with a sibling is its diameter. Generally, steric_max_range should be greater or equal to the sum of the radiuses, of any two object that may interact. In the case of fiber, the 'interaction-radius' is a combination of the segmentation, and the radius: sqrt( (4/3*segmentation)^2 + 4*radius^2 )

If the parameter is not set, cytosim attempts to calculate steric_max_range automatically.

real time_step

The time_step is the amount of time between two consecutive simulation states. It controls the precision of the simulation, at the expense of computation.
We can guarantee that the numerical result will converge to the true mathematical solution of the equations when `time_step` becomes infinitely small, but we do not necessarily know how fast this convergence will be.
To check that `time_step` is appropriate for a particular problem, one should thus run several simulations where `time_step` is varied systematically.

Useful rules:

- If the results of two simulations with time_step=h and time_step=h/2 are identical, then h is probably an appropriate `time_step`.
- If the simulation has some rate R, then time_step should be such that time_step * R << 1
- A smaller time step is always preferable, provided that the time to run the simulation remains acceptable to the user.

real tolerance

The motion of the objects is solved with a residual error that is lower than tolerance * B, where B is the typical Brownian displacement of the objects in one time_step.
Thus one should set 0 < tolerance < 1.
Lower values of tolerance lead to increased precision at the expense of CPU time.

default value = 0.05

real viscosity

The viscosity should be given in units of pN.s/um^2 = N.s/m^2 = Pa.s:

- Water at ambient temperature has a viscosity of 0.001,
- The viscosity inside an embryo can be ~ 1,
- The viscosity of the cytoplasm in S.pombe is ~ 1,
- The viscosity of a cleared cytoplasm can be 0.02.

http://en.wikipedia.org/wiki/Viscosity

default value = 1