Routine Name: rvolumedelay Description: Sets the delay fields on groups of synapses from a a specified list of elements. Most often used to set delays on groups of synapses that have been set up by calling the "rvolumeconnect" command. This function can assign groups of synapses to a fixed delay, can assign delays in proportion to the distances between pre- and postsynaptic elements, and can add various types of randomness to delay values. All synapses are modified by this command, whether they are local to the node of the source element, or remote synapses onto elements residing on other nodes. Usage: rvolumedelay sourcepath \ -fixed delay \ -radial conduction_velocity \ -add \ -uniform scale \ -gaussian stdev maxdev \ -exponential mid max \ -absoluterandom sourcepath A wildcarded list of elements which are the sources of the SPIKE messages connecting the pre- and postsynaptic elements (i.e. the presynaptic elements). These must be of class "spiking" and are usually spikegen or randomspike objects. -fixed delay -- This option sets all the synaptic delays in question to be equal to "delay". -radial conduction_velocity -- This option sets the synaptic delays in question to be proportional to the distance between the source and destination elements according to the equation: delay = radial_distance / conduction_velocity Where conduction_velocity is usually measured in meters/sec (SI units). "conduction_velocity" represents the conduction velocity of the (hypothetical) axon that the spikes travel down. For volumedelay, the distance is measured as: distance = sqrt((x_src - x_dest)^2 + (y_src - y_dest)^2 + (z_src - z_dest)^2) where x_src is the x component of the source element, x_dest is the x component of the destination element, and so on. -add This option causes the computed delays to be added to the preexisting delays in the synapses instead of overwriting them. This is useful when adding small synaptic delays, among other uses. The next four options are used to add random components to the delays established using the -fixed or -decay options. How these random components are added to the delays is explained below. -uniform scale -- This option gives a random number taken from a uniform distribution in the range {-scale, scale}. -gaussian stdev maxdev -- This option gives a random number taken from a gaussian distribution centered on zero, with a standard deviation equal to "stdev" and with a maximum value of "maxdev". The maximum value is used to limit the random component to a given range. -exponential mid max -- This option gives a random number taken from an exponential distribution with a minimum value of zero, a 1/e point of "mid" and a maximum value of "max". This is mainly for backwards compatibility with genesis 1.4. -absoluterandom This option alters the way the random number is combined with the nominal delay to give the actual delay, as described below. Once a random component has been created for a given delay, it is used to set the delay as follows. If the -absoluterandom option has not been selected the delay is set to be: final_delay = delay + (delay * random_number) Whereas if the -absoluterandom option has been selected then we have final_delay = delay + random_number Thus the default is to have the amount of randomness as a constant proportion of the delay value. Notes: This routine calculates distance using the x, y, and z coordinates of the element positions and is thus more realistic than planardelay, which only uses the x and y directions. In general, we encourage users to use this function instead of planardelay, which is mainly provided for backwards compatibility with genesis 1.4. The delays are never allowed to go negative even if a large negative random component is added. Negative delays are set to zero. If the -add option is chosen, the random component modifies only the delay added and not the total delay. See also: volumedelay, rvolumeconnect, rvolumeweight (C) Pittsburgh Supercomputing Center (PSC) Revised: Sep 3, 1996 URL file://www.psc.edu/general/software/packages/genesis/rvolumedelay.txt