{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d7e45717",
   "metadata": {},
   "outputs": [],
   "source": [
    "from neuron import h\n",
    "import netpyne \n",
    "from netpyne import specs, sim   \n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from typing import Tuple, List\n",
    "\n",
    "import sys\n",
    "\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e8c705d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# uniform diameter = 5.7\n",
    "\n",
    "\n",
    "# X=[37.7456209825333,\n",
    "# 32.1377001508427,\n",
    "# 34.0789035156587,\n",
    "# 28.4709826839680,\n",
    "# 39.6868243473493,\n",
    "# 30.4121860487840,\n",
    "# 36.0201068804747,\n",
    "# 24.8042652170933,\n",
    "# 26.5297793191520,\n",
    "# 22.8630618522773,\n",
    "# 35.8044176177173,\n",
    "# 30.1964967860267,\n",
    "# 43.3535418142240,\n",
    "# 41.4123384494080,\n",
    "# 41.6280277121653,\n",
    "# 32.3533894136000,\n",
    "# 45.2947451790400,\n",
    "# 26.7454685819093,\n",
    "# 37.9613102452906,\n",
    "# 48.9614626459146,\n",
    "# 47.0202592810986,\n",
    "# 47.2359485438560,\n",
    "# 43.5692310769813,\n",
    "# 50.9026660107306,\n",
    "# 39.4711350845920,\n",
    "# 45.0790559162826,\n",
    "# 33.8632142529013,\n",
    "# 52.6281801127893,\n",
    "# 24.5885759543360,\n",
    "# 50.6869767479733,\n",
    "# 54.5693834776053,\n",
    "# 43.1378525514666,\n",
    "# 28.2552934212107,\n",
    "# 37.5299317197760,\n",
    "# 20.9218584874613,\n",
    "# 48.7457733831573,\n",
    "# 31.9220108880853,\n",
    "# 56.2948975796640,\n",
    "# 52.8438693755466,\n",
    "# 58.2361009444800,\n",
    "# 56.5105868424213,\n",
    "# 54.3536942148480,\n",
    "# 49.1771519086720,\n",
    "# 34.2945927784160,\n",
    "# 39.9025136101066,\n",
    "# 60.1773043092960,\n",
    "# 28.6866719467253,\n",
    "# 45.5104344417973,\n",
    "# 19.1963443854027,\n",
    "# 21.1375477502187,\n",
    "# 54.7850727403626,\n",
    "# 58.4517902072373,\n",
    "# 36.2357961432320,\n",
    "# 23.0787511150347,\n",
    "# 51.1183552734880,\n",
    "# 30.6278753115413,\n",
    "# 41.8437169749226,\n",
    "# 17.2551410205867,\n",
    "# 62.1185076741120,\n",
    "# 25.0199544798507,\n",
    "# 47.4516378066133,\n",
    "# 15.5296269185280,\n",
    "# 17.4708302833440,\n",
    "# 18.9806551226453,\n",
    "# 22.6473725895200,\n",
    "# 13.5884235537120,\n",
    "# 15.3139376557707,\n",
    "# 32.5690786763573,\n",
    "# 19.4120336481600,\n",
    "# 38.1769995080480,\n",
    "# 26.9611578446667,\n",
    "# 26.3140900563947,\n",
    "# 41.1966491866506,\n",
    "# 46.8045700183413,\n",
    "# 35.5887283549600,\n",
    "# 11.6472201888960,\n",
    "# 11.8629094516533,\n",
    "# 21.3532370129760,\n",
    "# 9.92170608683733,\n",
    "# 17.0394517578293,\n",
    "# 13.3727342909547,\n",
    "# 13.8041128164693,\n",
    "# 29.9808075232693,\n",
    "# 7.98050272202133,\n",
    "# 20.7061692247040,\n",
    "# 9.70601682408000,\n",
    "# 52.4124908500320,\n",
    "# 24.3728866915787,\n",
    "# 6.03929935720533,\n",
    "# 15.7453161812853,\n",
    "# 43.7849203397386,\n",
    "# 61.9028184113546,\n",
    "# 56.7262761051786,\n",
    "# 63.8440217761706,\n",
    "# 59.9616150465386,\n",
    "# 60.3929935720533,\n",
    "# 53.0595586383040,\n",
    "# 28.9023612094827,\n",
    "# 34.5102820411733,\n",
    "# 23.2944403777920,\n",
    "# 64.0597110389280,\n",
    "# 49.3928411714293,\n",
    "# 65.7852251409866,\n",
    "# 40.1182028728640,\n",
    "# 6.25498861996266,\n",
    "# 8.19619198477866,\n",
    "# 17.6865195461013,\n",
    "# 4.31378525514667,\n",
    "# 10.1373953495947,\n",
    "# 45.7261237045546,\n",
    "# 58.6674794699946,\n",
    "# 62.3341969368693,\n",
    "# 67.7264285058026,\n",
    "# 55.0007620031200,\n",
    "# 66.0009144037440,\n",
    "# 58.0204116817226,\n",
    "# 44.8633666535253,\n",
    "# 39.2554458218346,\n",
    "# 50.4712874852160,\n",
    "# 33.6475249901440,\n",
    "# 67.5107392430453,\n",
    "# 69.4519426078613,\n",
    "# 65.5695358782293,\n",
    "# 11.4315309261387,\n",
    "# 15.0982483930133,\n",
    "# 7.76481345926400,\n",
    "# 56.0792083169066,\n",
    "# 28.0396041584533,\n",
    "# 63.6283325134133,\n",
    "# 18.7649658598880,\n",
    "# 2.37258189033067,\n",
    "# 4.09809599238933,\n",
    "# 42.9221632887093,\n",
    "# 37.3142424570187,\n",
    "# 48.5300841204000,\n",
    "# 71.3931459726773,\n",
    "# 69.6676318706186,\n",
    "# 61.6871291485973,\n",
    "# 22.4316833267627,\n",
    "# 54.1380049520906,\n",
    "# 31.7063216253280,\n",
    "# 71.1774567099200,\n",
    "# 73.1186600747360,\n",
    "# 69.2362533451040,\n",
    "# 73.3343493374933,\n",
    "# 59.7459257837813,\n",
    "# 75.0598634395520,\n",
    "# 67.2950499802880,\n",
    "# 9.49032756132266,\n",
    "# 26.0984007936373,\n",
    "# 46.5888807555840,\n",
    "# 13.1570450281973,\n",
    "# 40.9809599238933,\n",
    "# 5.82361009444800,\n",
    "# 52.1968015872746,\n",
    "# 16.8237624950720,\n",
    "# 35.3730390922027,\n",
    "# 0.431378525514667,\n",
    "# 2.15689262757333,\n",
    "# 65.3538466154720,\n",
    "# 57.8047224189653,\n",
    "# 20.4904799619467,\n",
    "# 29.7651182605120,\n",
    "# 0.647067788272000,\n",
    "# 7.54912419650666,\n",
    "# 2.58827115308800,\n",
    "# 12.0785987144107,\n",
    "# 3.88240672963200,\n",
    "# 11.2158416633813,\n",
    "# 24.1571974288213,\n",
    "# 0.215689262757333,\n",
    "# 4.52947451790400,\n",
    "# 14.8825591302560,\n",
    "# 63.4126432506560,\n",
    "# 74.8441741767946,\n",
    "# 72.9029708119786,\n",
    "# 55.8635190541493,\n",
    "# 67.9421177685600,\n",
    "# 71.6088352354346,\n",
    "# 51.3340445362453,\n",
    "# 64.2754003016853,\n",
    "# 70.9617674471626,\n",
    "# 19.6277229109173,\n",
    "# 75.2755527023093,\n",
    "# 60.6086828348106,\n",
    "# 69.0205640823466,\n",
    "# 61.4714398858400,\n",
    "# 6.47067788272000,\n",
    "# 14.0198020792267,\n",
    "# 73.5500386002506,\n",
    "# 69.8833211333760,\n",
    "# 66.2166036665013,\n",
    "# 1.94120336481600,\n",
    "# 5.60792083169067,\n",
    "# 8.41188124753600,\n",
    "# 9.27463829856533,\n",
    "# 67.0793607175306,\n",
    "# 74.6284849140373,\n",
    "# 0.862757051029333,\n",
    "# 72.6872815492213]\n",
    "\n",
    "\n",
    "# Y=[37.7456209825333,\n",
    "# 36.7210969844360,\n",
    "# 42.1133285533693,\n",
    "# 41.0888045552720,\n",
    "# 43.1378525514666,\n",
    "# 46.4810361242053,\n",
    "# 47.5055601223026,\n",
    "# 45.4565121261080,\n",
    "# 35.6965729863387,\n",
    "# 40.0642805571746,\n",
    "# 32.3533894136000,\n",
    "# 31.3288654155027,\n",
    "# 38.7701449806306,\n",
    "# 33.3779134116973,\n",
    "# 48.5300841204000,\n",
    "# 51.8732676931386,\n",
    "# 44.1623765495640,\n",
    "# 50.8487436950413,\n",
    "# 52.8977916912360,\n",
    "# 39.7946689787280,\n",
    "# 34.4024374097947,\n",
    "# 49.5546081184973,\n",
    "# 53.9223156893333,\n",
    "# 45.1869005476613,\n",
    "# 27.9856818427640,\n",
    "# 29.0102058408613,\n",
    "# 26.9611578446667,\n",
    "# 35.4269614078920,\n",
    "# 30.3043414174053,\n",
    "# 30.0347298389587,\n",
    "# 40.8191929768253,\n",
    "# 23.6179742719280,\n",
    "# 25.9366338465693,\n",
    "# 22.5934502738307,\n",
    "# 34.6720489882413,\n",
    "# 24.6424982700253,\n",
    "# 21.5689262757333,\n",
    "# 31.0592538370560,\n",
    "# 50.5791321165946,\n",
    "# 36.4514854059893,\n",
    "# 46.2114245457586,\n",
    "# 25.6670222681227,\n",
    "# 54.9468396874306,\n",
    "# 57.2654992620720,\n",
    "# 58.2900232601693,\n",
    "# 41.8437169749226,\n",
    "# 56.2409752639746,\n",
    "# 59.3145472582666,\n",
    "# 44.4319881280106,\n",
    "# 49.8242196969440,\n",
    "# 55.9713636855280,\n",
    "# 51.6036561146920,\n",
    "# 62.6577308310053,\n",
    "# 55.2164512658773,\n",
    "# 60.3390712563640,\n",
    "# 61.6332068329080,\n",
    "# 63.6822548291026,\n",
    "# 39.0397565590773,\n",
    "# 47.2359485438560,\n",
    "# 60.6086828348106,\n",
    "# 64.7067788272000,\n",
    "# 48.7996956988466,\n",
    "# 54.1919272677800,\n",
    "# 29.2798174193080,\n",
    "# 24.9121098484720,\n",
    "# 43.4074641299133,\n",
    "# 33.6475249901440,\n",
    "# 67.0254384018413,\n",
    "# 59.5841588367133,\n",
    "# 68.0499623999386,\n",
    "# 66.0009144037440,\n",
    "# 20.5444022776360,\n",
    "# 18.2257427029947,\n",
    "# 19.2502667010920,\n",
    "# 17.2012187048973,\n",
    "# 38.0152325609800,\n",
    "# 53.1674032696826,\n",
    "# 64.9763904056466,\n",
    "# 47.7751717007493,\n",
    "# 23.8875858503747,\n",
    "# 28.2552934212107,\n",
    "# 58.5596348386160,\n",
    "# 16.1766947068000,\n",
    "# 42.3829401318160,\n",
    "# 19.5198782795387,\n",
    "# 32.6230009920467,\n",
    "# 20.2747906991893,\n",
    "# 15.1521707087027,\n",
    "# 36.9907085628827,\n",
    "# 63.9518664075493,\n",
    "# 69.0744863980360,\n",
    "# 32.0837778351533,\n",
    "# 61.3635952544613,\n",
    "# 37.4760094040867,\n",
    "# 26.6915462662200,\n",
    "# 56.9958876836253,\n",
    "# 65.7313028252973,\n",
    "# 71.3931459726773,\n",
    "# 72.4176699707746,\n",
    "# 70.3686219745800,\n",
    "# 52.6281801127893,\n",
    "# 70.0990103961333,\n",
    "# 42.8682409730200,\n",
    "# 73.4421939688720,\n",
    "# 52.1428792715853,\n",
    "# 57.5351108405186,\n",
    "# 69.3440979764826,\n",
    "# 46.7506477026520,\n",
    "# 62.9273424094520,\n",
    "# 74.4667179669693,\n",
    "# 66.7558268233946,\n",
    "# 62.3881192525586,\n",
    "# 48.2604725419533,\n",
    "# 71.1235343942306,\n",
    "# 58.0204116817226,\n",
    "# 21.2993146972867,\n",
    "# 13.8580351321587,\n",
    "# 12.8335111340613,\n",
    "# 14.8825591302560,\n",
    "# 11.8089871359640,\n",
    "# 33.1083018332507,\n",
    "# 38.5005334021840,\n",
    "# 27.7160702643173,\n",
    "# 22.8630618522773,\n",
    "# 18.4953542814413,\n",
    "# 27.2307694231133,\n",
    "# 15.9070831283533,\n",
    "# 10.7844631378667,\n",
    "# 22.3238386953840,\n",
    "# 14.1276467106053,\n",
    "# 41.3584161337186,\n",
    "# 31.5984769939493,\n",
    "# 8.46580356322533,\n",
    "# 7.44127956512800,\n",
    "# 9.49032756132266,\n",
    "# 43.8927649711173,\n",
    "# 53.6527041108866,\n",
    "# 16.9316071264507,\n",
    "# 9.75993913976933,\n",
    "# 10.5148515594200,\n",
    "# 6.41675556703066,\n",
    "# 28.7405942624147,\n",
    "# 34.1328258313480,\n",
    "# 23.3483626934813,\n",
    "# 49.2849965400506,\n",
    "# 11.5393755575173,\n",
    "# 39.5250574002813,\n",
    "# 17.9561311245480,\n",
    "# 17.4708302833440,\n",
    "# 5.39223156893333,\n",
    "# 4.09809599238933,\n",
    "# 13.1031227125080,\n",
    "# 3.07357199429200,\n",
    "# 21.8385378541800,\n",
    "# 5.12261999048667,\n",
    "# 8.73541514167200,\n",
    "# 2.04904799619467,\n",
    "# 35.9661845647853,\n",
    "# 26.2062454250160,\n",
    "# 12.5638995556147,\n",
    "# 6.14714398858400,\n",
    "# 4.36770757083600,\n",
    "# 1.02452399809733,\n",
    "# 51.1183552734880,\n",
    "# 12.0785987144107,\n",
    "# 56.5105868424213,\n",
    "# 68.3195739783853,\n",
    "# 16.4463062852467,\n",
    "# 7.71089114357466,\n",
    "# 0,\n",
    "# 20.8140138560827,\n",
    "# 61.9028184113546,\n",
    "# 3.34318357273867,\n",
    "# 7.17166798668133,\n",
    "# 24.3728866915787,\n",
    "# 18.9806551226453,\n",
    "# 0.754912419650666,\n",
    "# 63.4126432506560,\n",
    "# 59.0449356798200,\n",
    "# 75.4912419650666,\n",
    "# 67.7803508214920,\n",
    "# 13.5884235537120,\n",
    "# 74.7363295454159,\n",
    "# 54.6772281089840,\n",
    "# 72.1480583923280,\n",
    "# 8.19619198477866,\n",
    "# 1.77943641774800,\n",
    "# 67.2950499802880,\n",
    "# 73.7118055473186,\n",
    "# 64.4371672487533,\n",
    "# 68.8048748195893,\n",
    "# 73.1725823904253,\n",
    "# 11.0540747163133,\n",
    "# 6.68636714547733,\n",
    "# 72.6872815492213,\n",
    "# 2.31865957464133,\n",
    "# 2.80396041584533,\n",
    "# 9.22071598287600,\n",
    "# 66.2705259821906,\n",
    "# 3.82848441394267]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96affa4f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# X=[39.6966355632394,\n",
    "# 35.4434246100352,\n",
    "# 34.5927824193944,\n",
    "# 38.8459933725986,\n",
    "# 44.1766844339479,\n",
    "# 41.2277915063929,\n",
    "# 45.7645498564774,\n",
    "# 43.4394612020591,\n",
    "# 49.5640849746732,\n",
    "# 48.8268617427845,\n",
    "# 37.8252227438296,\n",
    "# 33.2317549143690,\n",
    "# 30.2261525074380,\n",
    "# 28.7517060436605,\n",
    "# 42.1918526557859,\n",
    "# 32.4945316824803,\n",
    "# 47.9762195521436,\n",
    "# 27.6742259355155,\n",
    "# 36.6343236769324,\n",
    "# 47.1255773615028,\n",
    "# 53.0233632166126,\n",
    "# 54.3276812422619,\n",
    "# 51.2653693559549,\n",
    "# 46.6719015264943,\n",
    "# 52.1727210259718,\n",
    "# 41.7381768207774,\n",
    "# 56.2558035410478,\n",
    "# 58.4107637573380,\n",
    "# 36.9745805531887,\n",
    "# 42.5888190114183,\n",
    "# 30.3962809455662,\n",
    "# 51.9458831084676,\n",
    "# 56.4259319791760,\n",
    "# 60.0553386592436,\n",
    "# 57.4467026079450,\n",
    "# 47.9195100727676,\n",
    "# 61.2462377261408,\n",
    "# 51.3220788353310,\n",
    "# 64.1384211743197,\n",
    "# 57.6168310460732,\n",
    "# 65.2726107618408,\n",
    "# 62.9475221074225,\n",
    "# 56.5960604173042,\n",
    "# 46.4450636089901,\n",
    "# 30.7932473011986,\n",
    "# 36.6343236769324,\n",
    "# 61.9267514786535,\n",
    "# 55.0649044741507,\n",
    "# 41.0009535888887,\n",
    "# 25.8595225954817,\n",
    "# 24.6119140492084,\n",
    "# 23.5911434204394,\n",
    "# 37.8819322232056,\n",
    "# 32.5512411618563,\n",
    "# 43.2693327639310,\n",
    "# 53.4203295722450,\n",
    "# 62.7773936692943,\n",
    "# 24.7820424873366,\n",
    "# 66.9738951431225,\n",
    "# 69.3556932769169,\n",
    "# 68.2782131687718,\n",
    "# 48.6567333046563,\n",
    "# 26.9937121830028,\n",
    "# 21.9465685185338,\n",
    "# 31.1902136568310,\n",
    "# 50.1878892478098,\n",
    "# 60.8492713705084,\n",
    "# 67.0873141018746,\n",
    "# 44.9139076658366,\n",
    "# 35.6702625275394,\n",
    "# 25.5759751986014,\n",
    "# 70.8301397406943,\n",
    "# 66.5202193081140,\n",
    "# 62.7773936692943,\n",
    "# 54.9514855153985,\n",
    "# 73.4387757919929,\n",
    "# 72.5314241219760,\n",
    "# 68.3916321275239,\n",
    "# 58.6376016748422,\n",
    "# 74.8565127763943,\n",
    "# 72.9283904776084,\n",
    "# 60.5657239736281,\n",
    "# 38.2788985788380,\n",
    "# 53.7605864485014,\n",
    "# 32.6646601206084,\n",
    "# 44.4035223514521,\n",
    "# 19.3946419466113,\n",
    "# 19.7348988228676,\n",
    "# 39.4697976457352,\n",
    "# 49.7909228921774,\n",
    "# 19.9617367403718,\n",
    "# 17.6933575653296,\n",
    "# 21.4928926835253,\n",
    "# 25.6326846779775,\n",
    "# 30.2261525074380,\n",
    "# 26.6534553067465,\n",
    "# 20.1318651785000,\n",
    "# 15.5951068284155,\n",
    "# 43.7797180783155,\n",
    "# 34.3092350225141,\n",
    "# 66.2933813906098,\n",
    "# 72.3612956838478,\n",
    "# 14.6877551583986,\n",
    "# 54.6679381185183,\n",
    "# 12.8163423389887,\n",
    "# 16.1054921428000,\n",
    "# 15.0847215140310,\n",
    "# 24.4417856110803,\n",
    "# 20.0184462197479,\n",
    "# 38.5057364963422,\n",
    "# 60.3955955355000,\n",
    "# 28.6949965642845,\n",
    "# 21.2093452866451,\n",
    "# 10.7180916020746,\n",
    "# 33.6287212700014,\n",
    "# 15.1981404727831,\n",
    "# 10.8882200402028,\n",
    "# 39.8667640013676,\n",
    "# 49.1671186190408,\n",
    "# 11.0016389989549,\n",
    "# 15.8219447459197,\n",
    "# 28.0711922911479,\n",
    "# 9.07351670016901,\n",
    "# 22.0599874772859,\n",
    "# 63.9115832568155,\n",
    "# 68.2782131687718,\n",
    "# 59.4315343861070,\n",
    "# 44.8004887070845,\n",
    "# 77.4084393483169,\n",
    "# 54.5545191597662,\n",
    "# 74.0625800651295,\n",
    "# 35.0464582544028,\n",
    "# 10.8882200402028,\n",
    "# 6.69171856637464,\n",
    "# 16.5591679778084,\n",
    "# 29.7157671930535,\n",
    "# 23.8179813379437,\n",
    "# 40.0936019188718,\n",
    "# 49.8476323715535,\n",
    "# 77.6919867451971,\n",
    "# 79.2231426883507,\n",
    "# 65.0457728443366,\n",
    "# 69.4124027562929,\n",
    "# 73.8357421476253,\n",
    "# 78.4292099770859,\n",
    "# 60.0553386592436,\n",
    "# 71.7374914107112,\n",
    "# 77.7486962245732,\n",
    "# 45.1407455833408,\n",
    "# 54.9514855153985,\n",
    "# 17.9201954828338,\n",
    "# 31.5871800124634,\n",
    "# 11.3986053545873,\n",
    "# 5.21727210259718,\n",
    "# 25.7461036367296,\n",
    "# 6.18133325199014,\n",
    "# 9.69732097330563,\n",
    "# 36.7477426356845,\n",
    "# 5.38740054072535,\n",
    "# 11.9657001483479,\n",
    "# 3.11902136568310,\n",
    "# 6.63500908699859,\n",
    "# 19.6781893434915,\n",
    "# 50.2445987271859,\n",
    "# 78.8261763327183,\n",
    "# 65.4427391999690,\n",
    "# 70.6033018231901,\n",
    "# 75.3101886114028,\n",
    "# 60.3955955355000,\n",
    "# 42.0784336970338,\n",
    "# 27.0504216623789,\n",
    "# 13.6102750502535,\n",
    "# 6.86184700450281,\n",
    "# 55.5752897885352,\n",
    "# 21.5496021629014,\n",
    "# 1.70128438128169,\n",
    "# 4.70688678821267,\n",
    "# 14.6877551583986,\n",
    "# 19.0543850703549,\n",
    "# 0.170128438128169,\n",
    "# 9.75403045268168,\n",
    "# 1.07748010814507,\n",
    "# 23.3075960235591,\n",
    "# 6.69171856637464,\n",
    "# 15.0847215140310,\n",
    "# 1.24760854627324,\n",
    "# 0.0567094793760563,\n",
    "# 4.30992043258028,\n",
    "# 65.8397055556014,\n",
    "# 8.50642190640845,\n",
    "# 14.0639508852620,\n",
    "# 9.30035461767323,\n",
    "# 76.9547635133084,\n",
    "# 70.8301397406943,\n",
    "# 66.0098339937295,\n",
    "# 70.9435586994464,\n",
    "# 76.6145066370521,\n",
    "# 0.907351670016901,\n",
    "# 3.96966355632394,\n",
    "# 76.1608308020436]\n",
    "\n",
    "# Y=[39.6966355632394,\n",
    "# 35.8971004450437,\n",
    "# 41.5680483826493,\n",
    "# 45.1974550627169,\n",
    "# 42.9857853670507,\n",
    "# 34.1958160637620,\n",
    "# 37.6550943057014,\n",
    "# 48.8268617427845,\n",
    "# 41.5113389032732,\n",
    "# 46.8987394439986,\n",
    "# 50.8116935209464,\n",
    "# 47.1255773615028,\n",
    "# 38.3356080582141,\n",
    "# 43.5528801608112,\n",
    "# 54.7246475978943,\n",
    "# 52.9666537372366,\n",
    "# 52.2861399847239,\n",
    "# 49.3939565365450,\n",
    "# 57.1064457316887,\n",
    "# 57.6735405254493,\n",
    "# 50.3013082065619,\n",
    "# 44.7437792277084,\n",
    "# 36.0672288831718,\n",
    "# 32.3244032443521,\n",
    "# 55.6887087472873,\n",
    "# 60.5657239736281,\n",
    "# 39.1862502488549,\n",
    "# 48.9402807015366,\n",
    "# 30.3962809455662,\n",
    "# 28.2980302086521,\n",
    "# 32.6079506412324,\n",
    "# 30.0560240693098,\n",
    "# 33.6287212700014,\n",
    "# 43.4394612020591,\n",
    "# 54.4411002010140,\n",
    "# 25.8028131161056,\n",
    "# 36.4074857594282,\n",
    "# 61.0761092880126,\n",
    "# 47.6359626758873,\n",
    "# 28.0144828117718,\n",
    "# 40.7741156713845,\n",
    "# 53.3636200928690,\n",
    "# 59.8285007417394,\n",
    "# 64.0817116949436,\n",
    "# 58.5808921954662,\n",
    "# 62.8341031486704,\n",
    "# 58.8644395923464,\n",
    "# 65.3860297205929,\n",
    "# 66.2933813906098,\n",
    "# 55.1216139535267,\n",
    "# 39.5832166044873,\n",
    "# 45.3675835008450,\n",
    "# 25.0655898842169,\n",
    "# 27.2772595798831,\n",
    "# 22.4569538329183,\n",
    "# 23.7045623791915,\n",
    "# 30.9066662599507,\n",
    "# 33.8555591875056,\n",
    "# 34.9897487750268,\n",
    "# 44.9706171452126,\n",
    "# 51.6056262322112,\n",
    "# 20.3019936166282,\n",
    "# 27.8443543736437,\n",
    "# 50.6982745621943,\n",
    "# 64.5920970093281,\n",
    "# 68.3916321275239,\n",
    "# 64.3652590918239,\n",
    "# 57.1064457316887,\n",
    "# 70.6600113025662,\n",
    "# 68.3916321275239,\n",
    "# 60.9059808498845,\n",
    "# 39.4697976457352,\n",
    "# 62.8341031486704,\n",
    "# 25.1790088429690,\n",
    "# 71.2838155757028,\n",
    "# 49.1671186190408,\n",
    "# 55.4051613504070,\n",
    "# 29.1486723992929,\n",
    "# 21.3794737247732,\n",
    "# 43.4394612020591,\n",
    "# 34.1391065843859,\n",
    "# 70.0929165088056,\n",
    "# 19.3379324672352,\n",
    "# 17.6933575653296,\n",
    "# 21.5496021629014,\n",
    "# 16.9561343334408,\n",
    "# 41.9650147382817,\n",
    "# 36.3507762800521,\n",
    "# 72.4747146426000,\n",
    "# 73.9491611063774,\n",
    "# 56.2558035410478,\n",
    "# 47.1255773615028,\n",
    "# 29.3755103167972,\n",
    "# 66.4635098287380,\n",
    "# 70.5465923438140,\n",
    "# 22.0032779979098,\n",
    "# 62.1535893961577,\n",
    "# 52.2861399847239,\n",
    "# 76.5577971576760,\n",
    "# 74.9699317351464,\n",
    "# 68.8453079625324,\n",
    "# 61.4163661642690,\n",
    "# 39.0161218107267,\n",
    "# 77.1816014308126,\n",
    "# 44.4602318308281,\n",
    "# 31.7573084505915,\n",
    "# 59.4882438654831,\n",
    "# 72.1911672457197,\n",
    "# 68.1080847306436,\n",
    "# 79.1097237295985,\n",
    "# 75.8205739257873,\n",
    "# 76.0474118432915,\n",
    "# 23.8179813379437,\n",
    "# 49.6207944540492,\n",
    "# 15.7652352665437,\n",
    "# 65.0457728443366,\n",
    "# 55.5185803091591,\n",
    "# 13.4968560915014,\n",
    "# 14.0639508852620,\n",
    "# 34.6494918987704,\n",
    "# 25.7461036367296,\n",
    "# 16.4457490190563,\n",
    "# 40.1503113982478,\n",
    "# 18.3171618384662,\n",
    "# 19.5647703847394,\n",
    "# 23.2508865441831,\n",
    "# 15.7085257871676,\n",
    "# 10.6046726433225,\n",
    "# 38.1654796200859,\n",
    "# 11.7388622308437,\n",
    "# 28.5248681261563,\n",
    "# 10.3778347258183,\n",
    "# 28.9218344817887,\n",
    "# 45.5377119389732,\n",
    "# 19.9050272609958,\n",
    "# 11.2851863958352,\n",
    "# 12.8730518183648,\n",
    "# 7.59907023639155,\n",
    "# 8.22287450952817,\n",
    "# 52.9666537372366,\n",
    "# 47.3524152790070,\n",
    "# 13.9505319265099,\n",
    "# 17.6366480859535,\n",
    "# 23.0807581060549,\n",
    "# 32.0975653268479,\n",
    "# 10.0375778495620,\n",
    "# 67.0873141018746,\n",
    "# 58.6943111542183,\n",
    "# 4.93372470571690,\n",
    "# 6.01120481386197,\n",
    "# 14.3474982821422,\n",
    "# 5.84107637573380,\n",
    "# 22.1166969566620,\n",
    "# 35.7269720069155,\n",
    "# 7.59907023639155,\n",
    "# 52.5696873816042,\n",
    "# 60.9626903292605,\n",
    "# 2.77876448942676,\n",
    "# 29.9993145899338,\n",
    "# 16.2756205809282,\n",
    "# 41.0576630682648,\n",
    "# 24.7253330079606,\n",
    "# 8.73325982391267,\n",
    "# 2.66534553067465,\n",
    "# 25.6326846779775,\n",
    "# 8.10945555077605,\n",
    "# 11.9089906689718,\n",
    "# 17.5232291272014,\n",
    "# 4.30992043258028,\n",
    "# 0.113418958752113,\n",
    "# 2.32508865441831,\n",
    "# 10.6046726433225,\n",
    "# 19.1678040291070,\n",
    "# 0.340256876256338,\n",
    "# 3.17573084505915,\n",
    "# 48.8835712221605,\n",
    "# 58.1272163604577,\n",
    "# 70.6033018231901,\n",
    "# 74.0625800651295,\n",
    "# 32.4378222031042,\n",
    "# 66.7470572256183,\n",
    "# 26.2564889511141,\n",
    "# 78.0889531008295,\n",
    "# 13.3834371327493,\n",
    "# 5.04714366446901,\n",
    "# 20.2452841372521,\n",
    "# 54.4978096803901,\n",
    "# 64.1384211743197,\n",
    "# 74.5729653795140,\n",
    "# 7.65577971576760,\n",
    "# 76.1608308020436,\n",
    "# 72.5881336013521,\n",
    "# 65.0457728443366,\n",
    "# 72.4180051632239,\n",
    "# 2.09825073691408,\n",
    "# 6.06791429323803,\n",
    "# 11.6254432720915,\n",
    "# 14.4042077615183,\n",
    "# 70.1496259881816,\n",
    "# 70.7167207819422]\n",
    "\n",
    "# C=[2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.70000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.85000000000000,\n",
    "# 2.70000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000,\n",
    "# 3,\n",
    "# 2.85000000000000]\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ab16f387",
   "metadata": {},
   "outputs": [],
   "source": [
    "X=[51.0104242801794,\n",
    "45.1806615053017,\n",
    "43.5774767422104,\n",
    "50.4274480026916,\n",
    "44.4519411584420,\n",
    "37.8205860020187,\n",
    "36.2902732736133,\n",
    "48.4599030661704,\n",
    "39.9338750079119,\n",
    "57.4231633325448,\n",
    "56.2572107775693,\n",
    "52.1763768351550,\n",
    "62.0869735524470,\n",
    "54.3625378757341,\n",
    "45.9093818521615,\n",
    "63.1800540727365,\n",
    "65.2933430786297,\n",
    "59.3178362343801,\n",
    "69.8842812638458,\n",
    "60.6295328587275,\n",
    "51.6662725923532,\n",
    "67.3337600498368,\n",
    "58.8077319915783,\n",
    "71.5603380616231,\n",
    "66.8965278417210,\n",
    "74.9124516571778,\n",
    "72.0704423044249,\n",
    "77.0257406630709,\n",
    "65.2204710439437,\n",
    "56.0385946735114,\n",
    "63.5444142461664,\n",
    "47.4396945805668,\n",
    "77.0257406630709,\n",
    "74.1837313103181,\n",
    "81.1794466401713,\n",
    "73.3821389287724,\n",
    "83.2927356460644,\n",
    "80.5964703626835,\n",
    "70.4672575413336,\n",
    "60.0465565812398,\n",
    "83.3656076807504,\n",
    "86.7177212763050,\n",
    "80.2321101892536,\n",
    "66.3135515642332,\n",
    "51.9577607310970,\n",
    "88.1022899353384,\n",
    "77.6087169405587,\n",
    "85.5517687213295,\n",
    "90.7985552187193,\n",
    "90.7256831840334,\n",
    "84.4586882010399,\n",
    "72.6534185819127,\n",
    "61.1396371015293,\n",
    "40.5897233200856,\n",
    "91.7458916696370,\n",
    "43.2131165687805,\n",
    "66.5321676682912,\n",
    "54.7268980491639,\n",
    "37.5290978632748,\n",
    "84.1672000622960,\n",
    "79.2119017036500,\n",
    "90.3613230106035,\n",
    "96.7011900282830,\n",
    "95.8995976467373,\n",
    "74.9853236918637,\n",
    "35.5615529267536,\n",
    "47.8769267886827,\n",
    "59.6093243731240,\n",
    "90.3613230106035,\n",
    "85.6246407560154,\n",
    "97.5027824098286,\n",
    "69.1555609169861,\n",
    "99.1788392076060,\n",
    "47.8769267886827,\n",
    "41.8285479097471,\n",
    "31.4807189843393,\n",
    "81.7624229176590,\n",
    "97.1384222363988,\n",
    "81.6166788482871,\n",
    "101.947976525673,\n",
    "91.6001476002650,\n",
    "92.5474840511827,\n",
    "68.3539685354404,\n",
    "98.2315027566883,\n",
    "61.1396371015293,\n",
    "29.8046621865620,\n",
    "36.6546334470432,\n",
    "51.8848886964111,\n",
    "30.5333825334217,\n",
    "53.1237132860726,\n",
    "75.4225558999796,\n",
    "45.7636377827895,\n",
    "38.7679224529363,\n",
    "32.7924156086867,\n",
    "33.4482639208605,\n",
    "28.3472214928425,\n",
    "25.7967002788336,\n",
    "30.2418943946778,\n",
    "23.8291553423124,\n",
    "34.0312401983482,\n",
    "40.8083394241435,\n",
    "24.9222358626019,\n",
    "62.9614379686786,\n",
    "21.3515061629894,\n",
    "26.3068045216354,\n",
    "45.1077894706158,\n",
    "75.6411720040375,\n",
    "65.9491913908034,\n",
    "56.3300828122553,\n",
    "22.4445866832789,\n",
    "30.6062545681076,\n",
    "57.7875235059747,\n",
    "37.6748419326468,\n",
    "19.0924730877243,\n",
    "72.9449067206566,\n",
    "80.3049822239396,\n",
    "48.9700073089722,\n",
    "89.0496263862561,\n",
    "100.271919727896,\n",
    "25.2865960360318,\n",
    "45.5450216787316,\n",
    "18.9467290183523,\n",
    "89.9969628371737,\n",
    "17.7807764633768,\n",
    "16.1775917002855,\n",
    "19.9669375039559,\n",
    "16.8334400124592,\n",
    "22.4445866832789,\n",
    "30.1690223599918,\n",
    "13.9185586250204,\n",
    "41.0269555282014,\n",
    "33.8126240942903,\n",
    "28.8573257356443,\n",
    "13.6270704862765,\n",
    "37.8205860020187,\n",
    "11.1494213069535,\n",
    "33.8126240942903,\n",
    "9.91059671729200,\n",
    "54.2896658410481,\n",
    "72.8720346859706,\n",
    "11.2951653763254,\n",
    "61.5768693096452,\n",
    "42.5572682566068,\n",
    "14.5015349025081,\n",
    "23.7562833076264,\n",
    "9.76485264792006,\n",
    "85.9890009294453,\n",
    "80.8879585014274,\n",
    "25.1408519666598,\n",
    "6.63135515642332,\n",
    "16.9791840818311,\n",
    "18.2908807061786,\n",
    "22.5174587179649,\n",
    "29.0759418397023,\n",
    "48.0226708580546,\n",
    "5.68401870550570,\n",
    "11.9510136884992,\n",
    "6.84997126048123,\n",
    "35.8530410654975,\n",
    "11.9510136884992,\n",
    "7.21433143391108,\n",
    "4.22657801178629,\n",
    "0.510104242801794,\n",
    "16.5419518737153,\n",
    "6.99571532985317,\n",
    "28.3472214928425,\n",
    "58.7348599568923,\n",
    "42.7030123259787,\n",
    "67.5523761538947,\n",
    "0.582976277487764,\n",
    "3.20636952618270,\n",
    "96.9198061323409,\n",
    "51.5205285229812,\n",
    "5.75689074019167,\n",
    "20.9871459895595,\n",
    "92.8389721899265,\n",
    "0.218616104057912,\n",
    "8.59890009294453,\n",
    "8.96326026637438,\n",
    "0,\n",
    "16.0318476309135,\n",
    "30.6791266027936,\n",
    "79.5033898423939,\n",
    "0.291488138743882,\n",
    "22.8818188913948,\n",
    "4.00796190772838,\n",
    "13.7728145556484,\n",
    "23.7562833076264,\n",
    "3.20636952618270,\n",
    "87.5193136578507,\n",
    "17.1978001858891,\n",
    "74.5480914837479,\n",
    "6.55848312173735,\n",
    "16.6148239084013,\n",
    "9.83772468260603,\n",
    "87.6650577272226,\n",
    "0.218616104057912,\n",
    "0.0728720346859706,\n",
    "8.01592381545676,\n",
    "92.9847162592985]\n",
    "\n",
    "Y=[51.0104242801794,\n",
    "46.7838462683931,\n",
    "53.1237132860726,\n",
    "43.7960928462683,\n",
    "39.4237707651101,\n",
    "45.3264055746737,\n",
    "53.5609454941884,\n",
    "59.0992201303222,\n",
    "61.0667650668434,\n",
    "45.5450216787316,\n",
    "57.0588031591150,\n",
    "37.5290978632748,\n",
    "52.1035048004690,\n",
    "64.1273905236541,\n",
    "66.3864235989192,\n",
    "59.3907082690660,\n",
    "45.3264055746737,\n",
    "37.8934580367047,\n",
    "55.0183861879078,\n",
    "65.2204710439437,\n",
    "70.6130016107055,\n",
    "65.4390871480016,\n",
    "71.4874660269372,\n",
    "47.6583106846247,\n",
    "38.0392021060766,\n",
    "62.3055896565049,\n",
    "41.9742919791190,\n",
    "51.3747844536093,\n",
    "71.6332100963091,\n",
    "31.1892308455954,\n",
    "31.3349749149673,\n",
    "31.4078469496533,\n",
    "44.8163013318719,\n",
    "35.7801690308115,\n",
    "57.2045472284869,\n",
    "70.9044897494494,\n",
    "47.5854386499388,\n",
    "39.3508987304241,\n",
    "29.4403020131321,\n",
    "25.6509562094616,\n",
    "65.0747269745718,\n",
    "53.4880734595024,\n",
    "33.0110317127447,\n",
    "23.7562833076264,\n",
    "24.2663875504282,\n",
    "41.1726995975734,\n",
    "26.4525485910073,\n",
    "34.7599605452080,\n",
    "48.3870310314845,\n",
    "59.8279404771819,\n",
    "28.9301977703303,\n",
    "20.1126815733279,\n",
    "19.7483213998980,\n",
    "33.3025198514885,\n",
    "34.3227283370921,\n",
    "23.9748994116843,\n",
    "14.5015349025081,\n",
    "16.1047196655995,\n",
    "38.0392021060766,\n",
    "22.3717146485930,\n",
    "18.1451366368067,\n",
    "27.8371172500407,\n",
    "42.9216284300367,\n",
    "53.4152014248165,\n",
    "12.3153738619290,\n",
    "28.1286053887846,\n",
    "18.4366247755506,\n",
    "8.67177212763050,\n",
    "22.0802265098491,\n",
    "14.7930230412520,\n",
    "29.1488138743882,\n",
    "6.19412294830750,\n",
    "35.9987851348695,\n",
    "11.8781416538132,\n",
    "16.0318476309135,\n",
    "40.1524911119698,\n",
    "7.06858736453914,\n",
    "20.6956578508156,\n",
    "73.8193711368882,\n",
    "49.1886234130301,\n",
    "68.7912007435563,\n",
    "15.5217433881117,\n",
    "77.1714847324429,\n",
    "59.6821964078099,\n",
    "78.4103093221044,\n",
    "48.7513912049143,\n",
    "20.9871459895595,\n",
    "5.53827463613376,\n",
    "33.5211359555465,\n",
    "78.3374372874184,\n",
    "77.8273330446166,\n",
    "72.6534185819127,\n",
    "70.0300253332177,\n",
    "59.2449641996941,\n",
    "64.9289829051998,\n",
    "55.6742345000815,\n",
    "42.9945004647226,\n",
    "22.1530985445350,\n",
    "36.3631453082993,\n",
    "14.2100467637643,\n",
    "8.08879585014273,\n",
    "27.9828613194127,\n",
    "1.23882458966150,\n",
    "48.3141589967985,\n",
    "62.7428218646207,\n",
    "78.9932855995921,\n",
    "2.98775342212479,\n",
    "84.8230483744698,\n",
    "0.364360173429853,\n",
    "55.4556183960236,\n",
    "70.8316177147634,\n",
    "85.1145365132137,\n",
    "78.2645652527324,\n",
    "41.6099318056892,\n",
    "83.0012475073205,\n",
    "81.1065746054853,\n",
    "85.8432568600734,\n",
    "76.4427643855832,\n",
    "66.7507837723491,\n",
    "15.6674874574837,\n",
    "1.82180086714926,\n",
    "31.4807189843393,\n",
    "8.08879585014273,\n",
    "60.9938930321574,\n",
    "36.5088893776712,\n",
    "21.8616104057912,\n",
    "53.7795615982463,\n",
    "70.9044897494494,\n",
    "78.1188211833605,\n",
    "45.5450216787316,\n",
    "84.0943280276101,\n",
    "7.14145939922511,\n",
    "9.40049247449020,\n",
    "26.8169087644372,\n",
    "0.0728720346859706,\n",
    "39.6423868691680,\n",
    "85.6246407560154,\n",
    "52.3221209045269,\n",
    "91.8916357390089,\n",
    "90.3613230106035,\n",
    "33.5211359555465,\n",
    "91.3815314962071,\n",
    "90.4341950452895,\n",
    "68.3539685354404,\n",
    "78.0459491486745,\n",
    "60.3380447199837,\n",
    "81.8352949523450,\n",
    "87.8836738312805,\n",
    "84.8230483744698,\n",
    "45.1077894706158,\n",
    "15.0116391453099,\n",
    "77.0257406630709,\n",
    "7.79730771139885,\n",
    "3.13349749149673,\n",
    "93.7134366061582,\n",
    "36.3631453082993,\n",
    "19.6025773305261,\n",
    "29.9504062559339,\n",
    "93.7134366061582,\n",
    "75.4225558999796,\n",
    "67.1880159804649,\n",
    "56.5486989163132,\n",
    "50.2817039333197,\n",
    "84.0214559929241,\n",
    "23.6105392382545,\n",
    "92.1831238777528,\n",
    "98.7416069994901,\n",
    "98.5958629301182,\n",
    "97.6485264792006,\n",
    "41.2455716322593,\n",
    "62.1598455871329,\n",
    "75.9326601427814,\n",
    "98.6687349648042,\n",
    "73.3821389287724,\n",
    "91.3086594615212,\n",
    "83.6570958194942,\n",
    "31.4807189843393,\n",
    "82.1267830910889,\n",
    "12.6797340353589,\n",
    "68.3539685354404,\n",
    "8.52602805825855,\n",
    "100.053303623838,\n",
    "95.3894934039355,\n",
    "23.9748994116843,\n",
    "0.947336450917617,\n",
    "18.3637527408646,\n",
    "91.5272755655791,\n",
    "97.2112942710848,\n",
    "78.3374372874184,\n",
    "88.5395221434543,\n",
    "2.91488138743882,\n",
    "99.9075595544657,\n",
    "89.4868585943719,\n",
    "99.0330951382340,\n",
    "3.86221783835644,\n",
    "95.7538535773653,\n",
    "84.6044322704119,\n",
    "12.0967577578711,\n",
    "97.5756544445146,\n",
    "90.8714272534053]\n",
    "\n",
    "C=[4.20000000000000,\n",
    "3,\n",
    "3.50000000000000,\n",
    "3,\n",
    "4.35000000000000,\n",
    "4.50000000000000,\n",
    "3.80000000000000,\n",
    "4.20000000000000,\n",
    "4.50000000000000,\n",
    "4.20000000000000,\n",
    "3.80000000000000,\n",
    "3.50000000000000,\n",
    "3.80000000000000,\n",
    "3.50000000000000,\n",
    "3.50000000000000,\n",
    "3.50000000000000,\n",
    "3.65000000000000,\n",
    "3.65000000000000,\n",
    "4.50000000000000,\n",
    "2.85000000000000,\n",
    "3.50000000000000,\n",
    "3.80000000000000,\n",
    "3.65000000000000,\n",
    "3,\n",
    "3.80000000000000,\n",
    "4.35000000000000,\n",
    "2.70000000000000,\n",
    "3.50000000000000,\n",
    "2.70000000000000,\n",
    "3.80000000000000,\n",
    "3.65000000000000,\n",
    "4.20000000000000,\n",
    "3,\n",
    "3.80000000000000,\n",
    "3.65000000000000,\n",
    "4.35000000000000,\n",
    "3.80000000000000,\n",
    "3.50000000000000,\n",
    "3.50000000000000,\n",
    "3,\n",
    "4.50000000000000,\n",
    "3,\n",
    "2.85000000000000,\n",
    "3.50000000000000,\n",
    "4.20000000000000,\n",
    "4.20000000000000,\n",
    "4.20000000000000,\n",
    "2.70000000000000,\n",
    "3.50000000000000,\n",
    "4.50000000000000,\n",
    "3,\n",
    "3.80000000000000,\n",
    "3,\n",
    "2.85000000000000,\n",
    "3.50000000000000,\n",
    "4.35000000000000,\n",
    "4.50000000000000,\n",
    "4.35000000000000,\n",
    "2.70000000000000,\n",
    "3.50000000000000,\n",
    "3,\n",
    "3,\n",
    "4.50000000000000,\n",
    "3.65000000000000,\n",
    "4.20000000000000,\n",
    "4.35000000000000,\n",
    "2.85000000000000,\n",
    "4.50000000000000,\n",
    "2.70000000000000,\n",
    "4.20000000000000,\n",
    "4.20000000000000,\n",
    "4.20000000000000,\n",
    "2.85000000000000,\n",
    "3.65000000000000,\n",
    "3.65000000000000,\n",
    "3.65000000000000,\n",
    "4.35000000000000,\n",
    "4.20000000000000,\n",
    "4.35000000000000,\n",
    "3.65000000000000,\n",
    "4.50000000000000,\n",
    "2.70000000000000,\n",
    "3.65000000000000,\n",
    "3,\n",
    "3.65000000000000,\n",
    "4.20000000000000,\n",
    "2.85000000000000,\n",
    "3.80000000000000,\n",
    "3,\n",
    "4.35000000000000,\n",
    "2.85000000000000,\n",
    "2.70000000000000,\n",
    "4.50000000000000,\n",
    "2.85000000000000,\n",
    "2.85000000000000,\n",
    "2.85000000000000,\n",
    "2.70000000000000,\n",
    "3.65000000000000,\n",
    "4.20000000000000,\n",
    "4.35000000000000,\n",
    "4.35000000000000,\n",
    "4.20000000000000,\n",
    "3.65000000000000,\n",
    "4.20000000000000,\n",
    "4.50000000000000,\n",
    "3.65000000000000,\n",
    "3,\n",
    "4.35000000000000,\n",
    "3,\n",
    "3,\n",
    "3.65000000000000,\n",
    "3.80000000000000,\n",
    "3.80000000000000,\n",
    "2.85000000000000,\n",
    "2.85000000000000,\n",
    "3,\n",
    "4.20000000000000,\n",
    "3.50000000000000,\n",
    "4.35000000000000,\n",
    "4.50000000000000,\n",
    "3.50000000000000,\n",
    "2.70000000000000,\n",
    "3.80000000000000,\n",
    "4.20000000000000,\n",
    "3,\n",
    "3.65000000000000,\n",
    "2.85000000000000,\n",
    "4.50000000000000,\n",
    "3.65000000000000,\n",
    "3.65000000000000,\n",
    "2.85000000000000,\n",
    "2.70000000000000,\n",
    "2.70000000000000,\n",
    "4.35000000000000,\n",
    "4.20000000000000,\n",
    "2.85000000000000,\n",
    "4.50000000000000,\n",
    "4.20000000000000,\n",
    "3.80000000000000,\n",
    "4.50000000000000,\n",
    "2.70000000000000,\n",
    "3.50000000000000,\n",
    "3.65000000000000,\n",
    "3.80000000000000,\n",
    "2.70000000000000,\n",
    "3.80000000000000,\n",
    "2.70000000000000,\n",
    "3.80000000000000,\n",
    "4.20000000000000,\n",
    "3.65000000000000,\n",
    "3.80000000000000,\n",
    "2.85000000000000,\n",
    "3.80000000000000,\n",
    "3.50000000000000,\n",
    "2.70000000000000,\n",
    "3.50000000000000,\n",
    "3,\n",
    "3,\n",
    "3.80000000000000,\n",
    "3.65000000000000,\n",
    "3.50000000000000,\n",
    "2.85000000000000,\n",
    "4.35000000000000,\n",
    "4.35000000000000,\n",
    "3,\n",
    "3.80000000000000,\n",
    "4.35000000000000,\n",
    "4.50000000000000,\n",
    "4.50000000000000,\n",
    "3.50000000000000,\n",
    "2.85000000000000,\n",
    "4.35000000000000,\n",
    "2.85000000000000,\n",
    "2.85000000000000,\n",
    "3.50000000000000,\n",
    "4.35000000000000,\n",
    "3.80000000000000,\n",
    "3.80000000000000,\n",
    "4.50000000000000,\n",
    "3.80000000000000,\n",
    "2.70000000000000,\n",
    "4.35000000000000,\n",
    "3.80000000000000,\n",
    "3.65000000000000,\n",
    "3,\n",
    "3,\n",
    "3.65000000000000,\n",
    "3,\n",
    "2.70000000000000,\n",
    "2.85000000000000,\n",
    "3,\n",
    "2.85000000000000,\n",
    "3.80000000000000,\n",
    "4.35000000000000,\n",
    "4.35000000000000,\n",
    "4.35000000000000,\n",
    "4.20000000000000,\n",
    "4.35000000000000,\n",
    "4.35000000000000,\n",
    "2.85000000000000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "be70ed3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Network parameters\n",
    "netParams = specs.NetParams()\n",
    "\n",
    "\n",
    "netParams.sizeX=3000\n",
    "netParams.sizeY=3000\n",
    "netParams.sizeZ=3000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "99c70926",
   "metadata": {},
   "outputs": [],
   "source": [
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon5.7', \n",
    "    conds={'cellType': 'MRGaxon5.7', 'cellModel': 'MRGaxon5.7'},\n",
    "    fileName='MRGaxon5.7.hoc', \n",
    "    cellName='MRGaxon5.7', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon5.4', \n",
    "    conds={'cellType': 'MRGaxon5.4', 'cellModel': 'MRGaxon5.4'},\n",
    "    fileName='MRGaxon5.4.hoc', \n",
    "    cellName='MRGaxon5.4', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon6', \n",
    "    conds={'cellType': 'MRGaxon6', 'cellModel': 'MRGaxon6'},\n",
    "    fileName='MRGaxon6.hoc', \n",
    "    cellName='MRGaxon6', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon7.3', \n",
    "    conds={'cellType': 'MRGaxon7.3', 'cellModel': 'MRGaxon7.3'},\n",
    "    fileName='MRGaxon7.3.hoc', \n",
    "    cellName='MRGaxon7.3', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon8.7', \n",
    "    conds={'cellType': 'MRGaxon8.7', 'cellModel': 'MRGaxon8.7'},\n",
    "    fileName='MRGaxon8.7.hoc', \n",
    "    cellName='MRGaxon8.7', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon7', \n",
    "    conds={'cellType': 'MRGaxon7', 'cellModel': 'MRGaxon7'},\n",
    "    fileName='MRGaxon7.hoc', \n",
    "    cellName='MRGaxon7', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon7.6', \n",
    "    conds={'cellType': 'MRGaxon7.6', 'cellModel': 'MRGaxon7.6'},\n",
    "    fileName='MRGaxon7.6.hoc', \n",
    "    cellName='MRGaxon7.6', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon8.4', \n",
    "    conds={'cellType': 'MRGaxon8.4', 'cellModel': 'MRGaxon8.4'},\n",
    "    fileName='MRGaxon8.4.hoc', \n",
    "    cellName='MRGaxon8.4', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "netParams.importCellParams(\n",
    "    cellInstance=True,\n",
    "    label='MRGaxon9', \n",
    "    conds={'cellType': 'MRGaxon9', 'cellModel': 'MRGaxon9'},\n",
    "    fileName='MRGaxon9.hoc', \n",
    "    cellName='MRGaxon9', \n",
    "    importSynMechs=True) ;\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "#netParams.cellParams['MRGaxon5.7']['secs']['node_0']['spikeGenLoc'] = 0.5\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a3473ceb",
   "metadata": {},
   "outputs": [],
   "source": [
    "#netParams.popParams['MRGaxon5.7'] = {'cellType': 'MRGaxon5.7', \n",
    "#\t'gridSpacing': 6, \n",
    "#\t'cellModel': 'MRGaxon5.7', \n",
    "#\t'xRange':[1, 85], \n",
    "#\t'yRange':[0, 0], \n",
    "#\t'zRange':[1, 85]}     #[1, 85]\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "for i in range(200):\n",
    "    \n",
    "    \n",
    "    if C[i]==2.7:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon5.4_%s\" %i] = {'cellType': 'MRGaxon5.4', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon5.4', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}  \n",
    "        \n",
    "    if  C[i]==2.85:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon5.7_%s\" %i] = {'cellType': 'MRGaxon5.7', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon5.7', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}  \n",
    "        \n",
    "    if  C[i]==3:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon6_%s\" %i] = {'cellType': 'MRGaxon6', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon6', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}  \n",
    "    \n",
    "    \n",
    "    if  C[i]==3.5:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon7_%s\" %i] = {'cellType': 'MRGaxon7', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon7', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]} \n",
    "        \n",
    "        \n",
    "    if  C[i]==3.65:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon7.3_%s\" %i] = {'cellType': 'MRGaxon7.3', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon7.3', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]} \n",
    "        \n",
    "        \n",
    "    if  C[i]==3.8:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon7.6_%s\" %i] = {'cellType': 'MRGaxon7.6', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon7.6', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}       \n",
    "        \n",
    "        \n",
    "        \n",
    "    if  C[i]==4.2:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon8.4_%s\" %i] = {'cellType': 'MRGaxon8.4', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon8.4', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]} \n",
    "        \n",
    "        \n",
    "        \n",
    "        \n",
    "    if  C[i]==4.35:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon8.7_%s\" %i] = {'cellType': 'MRGaxon8.7', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon8.7', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}       \n",
    "        \n",
    "        \n",
    "        \n",
    "    if  C[i]==4.5:\n",
    "        \n",
    "        netParams.popParams[\"MRGaxon9_%s\" %i] = {'cellType': 'MRGaxon9', \n",
    "\t    'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t    'cellModel': 'MRGaxon9', \n",
    "\t    'xRange':[X[i], X[i]], \n",
    "\t    'yRange':[0, 0], \n",
    "        'zRange':[Y[i], Y[i]]}         \n",
    "        \n",
    "        \n",
    "        \n",
    "        \n",
    "        \n",
    "    \n",
    "#for i in range(62,124):\n",
    "    \n",
    "\n",
    "    #netParams.popParams[\"MRGaxon7.3_%s\" %i] = {'cellType': 'MRGaxon7.3', \n",
    "\t#'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t#'cellModel': 'MRGaxon7.3', \n",
    "\t#'xRange':[X[i], X[i]], \n",
    "\t#'yRange':[0, 0], \n",
    "    #'zRange':[Y[i], Y[i]]}     \n",
    "    \n",
    "    \n",
    "    \n",
    "#for i in range(62):        #188\n",
    "    \n",
    "\n",
    "    #netParams.popParams[\"MRGaxon8.7_%s\" %i] = {'cellType': 'MRGaxon8.7', \n",
    "\t#'numCells':1 ,                                         #'gridSpacing': 6, \n",
    "\t#'cellModel': 'MRGaxon8.7', \n",
    "\t#'xRange':[X[i], X[i]], \n",
    "\t#'yRange':[0, 0], \n",
    "    #'zRange':[Y[i], Y[i]]}       \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "#netParams.popParams['MRGaxon7.3'] = {'cellType': 'MRGaxon7.3', \n",
    "#\t'numCells': 66, \n",
    "#\t'cellModel': 'MRGaxon7.3', \n",
    "#\t'xRange':[-0.1, 0.1], \n",
    "#\t'yRange':[-0.1, 0.1], \n",
    "#\t'zRange':[-0.1, 0.1]}  \n",
    "\n",
    "\n",
    "#netParams.popParams['MRGaxon8.7'] = {'cellType': 'MRGaxon8.7', \n",
    "#\t'numCells': 66, \n",
    "#\t'cellModel': 'MRGaxon8.7', \n",
    "#\t'xRange':[-0.1, 0.1], \n",
    "#\t'yRange':[-0.1, 0.1], \n",
    "#\t'zRange':[-0.1, 0.1]}  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5042eeb4",
   "metadata": {},
   "outputs": [],
   "source": [
    "netParams.stimSourceParams['Input_1'] = {'type': 'IClamp', 'del': 1, 'dur': 0.1, 'amp': 2}\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "for i in range(200):\n",
    "    if C[i]==2.7:\n",
    "        netParams.stimTargetParams['Input_1->\"S1_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon5.4_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "    if C[i]==2.85:\n",
    "        netParams.stimTargetParams['Input_1->\"S2_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon5.7_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "    if C[i]==3:\n",
    "        netParams.stimTargetParams['Input_1->\"S3_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon6_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "#     if C[i]==3.5:\n",
    "#         netParams.stimTargetParams['Input_1->\"S4_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon7_%s\" %i}}    # , 'cellList': [0,]\n",
    "       \n",
    "#     if C[i]==3.65: \n",
    "#         netParams.stimTargetParams['Input_1->\"S5_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon7.3_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "    \n",
    "#     if C[i]==3.8:\n",
    "#         netParams.stimTargetParams['Input_1->\"S6_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon7.6_%s\" %i}}    # , 'cellList': [0,]\n",
    "       \n",
    "    \n",
    "#     if C[i]==4.2:\n",
    "#         netParams.stimTargetParams['Input_1->\"S7_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon8.4_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "    \n",
    "#     if C[i]==4.35:\n",
    "#         netParams.stimTargetParams['Input_1->\"S8_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon8.7_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "#     if C[i]==4.5:\n",
    "#         netParams.stimTargetParams['Input_1->\"S9_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon9_%s\" %i}}    # , 'cellList': [0,]\n",
    "    \n",
    "    \n",
    "#for i in range(62,124):\n",
    "    #netParams.stimTargetParams['Input_1->\"SS_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon7.3_%s\" %i}}    \n",
    "    \n",
    "#for i in range(62):\n",
    "    #netParams.stimTargetParams['Input_1->\"SSS_%s\"' %i] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':\"MRGaxon8.7_%s\" %i}}    \n",
    "    \n",
    "    \n",
    "    \n",
    "#netParams.stimTargetParams['Input_1->S'] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':'MRGaxon5.7'}}\n",
    "#netParams.stimTargetParams['Input_1->SS'] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':'MRGaxon7.3'}} \n",
    "#netParams.stimTargetParams['Input_1->SSS'] = {'source': 'Input_1', 'sec':'node_0', 'loc': 0.5, 'conds': {'pop':'MRGaxon8.7'}} "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a7e41a19",
   "metadata": {},
   "outputs": [],
   "source": [
    "simConfig = specs.SimConfig()\n",
    "\n",
    "#simConfig.dt = 0.00001               # Internal integration timestep to use\n",
    "simConfig.duration = 3\n",
    "simConfig.recordStim = True\n",
    "simConfig.recordStep = 0.01  # Step size in ms to save data (e.g. V traces, LFP, etc)\n",
    "simConfig.hParams = {'celsius': 37 }\n",
    "#simConfig.cache_efficient = True\n",
    "simConfig.cvode_active = True\n",
    "simConfig.cvode_atol=0.0001\n",
    "simConfig.cvode_rtol=0.0001\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "simConfig.recordTraces = {'V_node_7' :{'sec':'node_7','loc':0.5,'var':'v'}}\n",
    "simConfig.analysis['plotTraces'] = {'include': ['MRGaxon8.4_0','MRGaxon5.4_26']} #,('MRGaxon7.3',[0,60]),('MRGaxon8.7',[0,60])] , 'saveFig': True} \n",
    "#simConfig.analysis['plotTraces'] = {'include': ['MRGaxon7_0','MRGaxon6_1','MRGaxon7.6_2','MRGaxon5.7_23']}\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "simConfig.recordLFP = [[56.39,-4000,51.74]] # ,[0,-4000,0],[-0.03,-8000,0],[0.03,-5000,0.02]]\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "#simConfig.recordLFP = [[79.73,-4000,85]]\n",
    "#simConfig.analysis['plotLFP'] = True # showFig=True{'includeAxon': False, 'plots': ['timeSeries',  'locations'], 'figSize': (5,9), 'saveFig': True}\n",
    "#simConfig.recordLFP = [[0,-4000,0]]\n",
    "\n",
    "simConfig.analysis['plot2Dnet'] = True\n",
    "\n",
    "#simConfig.analysis['plot2Dnet'] = { 'include': ['allCells'], 'view'=xy   }\n",
    "#simConfig.analysis['plot2Dnet'] = { 'include': ['allCells'], 'view':xy  }\n",
    "#sim.initialize(netParams, simConfig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef4e29da",
   "metadata": {},
   "outputs": [],
   "source": [
    "#sim.createSimulateAnalyze(netParams, simConfig)\n",
    "\n",
    "sim.create(netParams, simConfig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e8c5db2f",
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "#netParams.cellParams['MRGaxon']['secs']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "db1d59f7",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "for j in range(200):\n",
    "    \n",
    "    \n",
    "    S = sim.net.cells[j].secs[\"soma\"][\"hObj\"]\n",
    "    for seg in S:\n",
    "        seg.xraxial[0] = 5.8574e05\n",
    "        seg.xraxial[1] = 1e09\n",
    "        seg.xg[0] = 1e10\n",
    "        seg.xg[1] = 1e09\n",
    "        seg.xc[0] = 0\n",
    "        seg.xc[1] = 0\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "    for i in range(21):\n",
    "        S = sim.net.cells[j].secs[\"node_%s\" %i][\"hObj\"]\n",
    "        for seg in S:\n",
    "            seg.xraxial[0] = 5.8574e05\n",
    "            seg.xraxial[1] = 1e09\n",
    "            seg.xg[0] = 1e10\n",
    "            seg.xg[1] = 1e09\n",
    "            seg.xc[0] = 0\n",
    "            seg.xc[1] = 0\n",
    "\n",
    "\n",
    "    for i in range(40):\n",
    "        S = sim.net.cells[j].secs[\"MYSA_%s\" %i][\"hObj\"]\n",
    "        for seg in S:\n",
    "            seg.xraxial[0] = 5.8574e05\n",
    "            seg.xraxial[1] = 1e09\n",
    "            seg.xg[0] = 6.25e-06\n",
    "            seg.xg[1] = 1e09\n",
    "            seg.xc[0] = 0.000625\n",
    "            seg.xc[1] = 0\n",
    "        \n",
    "    \n",
    "    for i in range(40):\n",
    "        S = sim.net.cells[j].secs[\"FLUT_%s\" %i][\"hObj\"]\n",
    "        for seg in S:\n",
    "            seg.xraxial[0] = 1.6364e05\n",
    "            seg.xraxial[1] = 1e09\n",
    "            seg.xg[0] = 6.25e-06\n",
    "            seg.xg[1] = 1e09\n",
    "            seg.xc[0] = 0.000625\n",
    "            seg.xc[1] = 0 \n",
    "            \n",
    "            \n",
    "    for i in range(120):\n",
    "        S = sim.net.cells[j].secs[\"STIN_%s\" %i][\"hObj\"]\n",
    "        for seg in S:\n",
    "            seg.xraxial[0] = 1.6364e05\n",
    "            seg.xraxial[1] = 1e09\n",
    "            seg.xg[0] = 6.25e-06\n",
    "            seg.xg[1] = 1e09\n",
    "            seg.xc[0] = 0.000625\n",
    "            seg.xc[1] = 0\n",
    "        \n",
    "\n",
    "\n",
    "    \n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a634fff5",
   "metadata": {},
   "outputs": [],
   "source": [
    "sl = h.SectionList()\n",
    "\n",
    "N=h.Vector(2)\n",
    "\n",
    "for w in range(2):\n",
    "    j=0\n",
    "    NSEG=0\n",
    "    \n",
    "    for i in range(21):\n",
    "        \n",
    "        S = sim.net.cells[w].secs[\"node_%s\" %i][\"hObj\"]\n",
    "        NSEG=NSEG+S.nseg\n",
    "        sl.append(S)\n",
    "    \n",
    "        if j<39: \n",
    "            S = sim.net.cells[w].secs[\"MYSA_%s\" %j][\"hObj\"]\n",
    "            NSEG=NSEG+S.nseg\n",
    "            sl.append(S)\n",
    "            S = sim.net.cells[w].secs[\"FLUT_%s\" %j][\"hObj\"]\n",
    "            NSEG=NSEG+S.nseg\n",
    "            sl.append(S)\n",
    "        \n",
    "        if i<20:\n",
    "            for k in range(i*6,i*6+6):\n",
    "                S = sim.net.cells[w].secs[\"STIN_%s\" %k][\"hObj\"]\n",
    "                NSEG=NSEG+S.nseg\n",
    "                sl.append(S)\n",
    "        \n",
    "        if j<39: \n",
    "            j=j+1\n",
    "            S = sim.net.cells[w].secs[\"FLUT_%s\" %j][\"hObj\"]\n",
    "            NSEG=NSEG+S.nseg\n",
    "            sl.append(S)\n",
    "    \n",
    "            S = sim.net.cells[w].secs[\"MYSA_%s\" %j][\"hObj\"]\n",
    "            NSEG=NSEG+S.nseg\n",
    "            sl.append(S)\n",
    "    \n",
    "            j=j+1\n",
    "        \n",
    "    \n",
    "    N[w]=NSEG\n",
    "         \n",
    "\n",
    "\n",
    "        \n",
    "nsegs=int(N[0])\n",
    "    \n",
    " \n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9163f47c",
   "metadata": {},
   "outputs": [],
   "source": [
    "gmat =h.Matrix(2*nsegs, 2*nsegs, 2)\n",
    "cmat =h.Matrix(2*nsegs, 2*nsegs, 2)\n",
    "bvec =h.Vector(2*nsegs)\n",
    "xl =h.Vector(2*nsegs)\n",
    "layer =h.Vector(2*nsegs)\n",
    "layer.fill(2)\n",
    "\n",
    "e = h.Vector(2*nsegs)\n",
    "\n",
    "    \n",
    "    \n",
    "for i in range(2*nsegs): \n",
    "    xl[i] = 0.5\n",
    "\n",
    "\n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "ge=1000\n",
    "\n",
    "for i in range(0,nsegs,1):\n",
    "    gmat.setval(i, i, ge)\n",
    "    gmat.setval(i, nsegs+i, -ge)\n",
    "    gmat.setval(nsegs+i, i, -ge)\n",
    "    gmat.setval(nsegs+i, nsegs+i, ge)\n",
    "    \n",
    "    \n",
    "    \n",
    "    \n",
    "lm = h.LinearMechanism(cmat, gmat, e, bvec, sl, xl, layer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24e025bd",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "adcad818",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "sim.simulate()\n",
    "#sim.h.CVode().atol(1e-6)\n",
    "sim.analyze()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "21dee06e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aab6e0c1",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "\n",
    "sim.analysis.plot2Dnet(include=['allCells'], view='xz' )\n",
    "\n",
    "\n",
    "#sim.analysis.plotLFP(  plots = ['timeSeries', 'locations'] , electrodes=['avg', 'all'], lineWidth=100 ,  fontSize=14) \n",
    "\n",
    "#sim.analysis.plotLFP(include=['locations'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "433a88e6",
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "np.set_printoptions(threshold=np.inf)\n",
    "#sim.analysis.plotShape(includePre=['all'],includePost=['all'],showElectrodes=True,dist=0.3, axis='[1]')\n",
    "sim.analysis.plotLFP(  plots = ['timeSeries', 'locations'] , electrodes=[ 'all'], lineWidth=1000 ,  fontSize=14, saveFig=True) \n",
    "#sim.analysis.plotLFP(include=['locations'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "77d052c5",
   "metadata": {},
   "outputs": [],
   "source": [
    "#sim.analysis.plotShape(includePre=[], includePost=['MRGaxon'], showSyns=False, figSize=(4,9), dist=0.8, showFig=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "45396b6f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6c0d13e1",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6fbd9852",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9bbb366a",
   "metadata": {},
   "outputs": [],
   "source": [
    "#slist1.printnames()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "727eca36",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "    \n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "22f91a22",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9119afe0",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fbdf92a6",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8c1c6cb2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}