gridSearch_G_L.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Created on Tue Feb 23 10:04:55 2021
  5. @author: Oscar Portoles
  6. """
  7. import numpy as np
  8. import myKAOctrl_basic as udp
  9. import time
  10. import matplotlib.pyplot as pl
  11. import sys
  12. tRun = 1000
  13. tDisc = 200
  14. nModel = 25
  15. localC = np.arange(0.1, 1.6, 0.1)
  16. globalC = np.arange(0,2.,0.05)
  17. pathSave = './dataSave/Globals_v5ms_grid_globalC_co_.npz'
  18. gMet = np.zeros((len(localC), len(globalC)))
  19. lMet = np.zeros((len(localC), len(globalC)))
  20. gMetT = np.zeros((len(localC), len(globalC), (tRun-tDisc)*100, nModel), dtype=np.float16)
  21. for iXlC, lC in enumerate(localC):
  22. for iXgC, gC in enumerate(globalC):
  23. kao = udp.KAOmodel()
  24. kao.tMax = tRun
  25. kao.tDiscard = tDisc
  26. kao.nModel = nModel
  27. kao.globalC = np.float64(gC)
  28. kao.localC = np.float64(lC)
  29. kao.interHsc = 1
  30. kao.velocity = 5
  31. kao.iniCond = 1 # random
  32. kao.runModel()
  33. z_abs = udp.KAOmodel._absZ(kao.z[:, int(tDisc*kao.fs):,:])
  34. z_norm = kao.z[:, int(tDisc*kao.fs):,:] / z_abs # makes all modulus equal to one
  35. # global ordedr with local order == 1 at time t
  36. kop = np.abs( np.mean( z_norm, axis = 0 ))
  37. gMetT[iXlC, iXgC,:,:] = np.float16(kop)
  38. # orders, metaL = kao.doKuramotoOrder(kao.z[:, int(tDisc*kao.fs):,:])
  39. gMet[iXlC, iXgC] = np.mean(np.std(kop, axis=0))
  40. lMet[iXlC, iXgC] = np.mean(np.std(z_abs,axis=1))
  41. np.savez(pathSave, gMet=gMet, lMet=lMet, localC=localC, globalC=globalC, gMetT=gMetT)