objref f1 f1 = new File() objref data, stimdata, m, apc, data2 data=new Vector() data2=new Vector(3) m = new Matrix(10000, 3) apc = new APCount(0.5) apc.thresh=0 printf("---Starting Simulations---") j=0 for (x2=-628.003; x2<=653.003; x2=x2+25){ //Move electrode in horizontal axis for (y=-328.003; y<=603.003; y=y+25){ //Move electrode in vertical axis for (i=-0.005; i>=-.125; i=i-0.01){ //Increase stimulation amplitude data.record(&soma.v(0.5)) //Record voltage in soma during simulation setelec(x2, y, 0) //Move electrode to coordinates (x2, y, 0) setstim(1, 1, i) //Set stimulation amplitude tstop=25 init() run() //Initialize and run simulation if(apc.n >= 1){ //If an action potential is recorded in the soma print "X:",x2, "\tY:",y, "\tI:",i, "\tAP:",apc.n data2.x[0]=x2 data2.x[1]=y data2.x[2]=i m.setrow(j, data2) //Record the location and stimulation amplitude j=j+1 break //Skip remaining stimulation amplitudes at that location } } } f1.wopen("celltype1.dat") //Print data to file m.fprint(f1) f1.close() }