Network Files:  A network file is a file with a ".net" suffix. The first line in the file is # Neurons: with the number of neurons defined in the file. After that follows the neuron definitions (neuron-statement *).  


Neuron-statements:

The neuron-statements tell NeuronetExperimenter everything it needs to know to make the individual neurons


neuron-statement:

Neuron ID: range-statement

Note: Neuron IDs:  is also acceptable


After this, all items can be in any order and can have any number of repeats

<Neuron Name: {neuron name}>

<associated-name-for-user Connection(s) To: connection-statement*>


Initial conditions:

variable-statement*

Associated Variable Values:

variable-statement* 


range-statement: Either single number or number1-number2; ie. 1 or 1-30.  All range statements in Network files are 1-indexed


connection-statement:  One of

(range-statement<,latency-statement<,connectivity-statement<,R | S<,R | S>>>>) OR

range-statement


Placing the R in a connection statement indicates allow reciprocal connections


Placing the S in a connection statement indicates allow self connections


If latency-statement is not given, latency for the neuron is assumed to be 0.0

If connectivity-statement is not given, connectivity is assumed to be all to all with no reciprocal or self connections, except if R or S is present, in which case those take precedent


latency-statement:

Either a number (for all connected neurons) or a filename (in quotes) or nothing (ie. if you want to make a connectivity statement and use the default for latency).  


connectivity-statement:

A filename (in quotes) or nothing


function-statement:

Any of the following (all arguments are double):

atan(arg1) 

atan2(arg1, arg2)  quadrant-aware atan

acos(arg1)  arc-cos

asin(arg1)     arc-sin

tan(arg1)       

sin(arg1)

cos(arg1)

tanh(arg1)

cosh(arg1)

sinh(arg1)

sqrt(arg1)

exp(arg1)

log(arg1)       natural log  

log(arg1,arg2)   log with base of arg2

min(arg1,arg2) 

max(arg1,arg2) 

heav(arg1)  heaviside, 0 if arg1 < 0, 1 if arg1 >= 0

heav(arg1,arg2) heaviside, 0 if arg1 < arg2, 1 if arg1 >= arg2

uniform()      uniformly-distributed random number between 0-1

uniform(arg1,arg2)  uniformly-distributed random number between arg1 and arg2

gauss()  normally distributed random number with mean 0.0 and standard deviation of 1.0

gauss(arg1,arg2) normally distributed random number with mean arg1 and standard deviation of arg2

gauss(arg1,arg2,arg3)    same as previous with arg3 specifying a minimum bound for the number

gauss(arg1,arg2,arg3,arg4) same as previous with arg4 specifying a maximum bound for the number