def Read_Pinp(NPSIJ): with open('NPSIJ.inp') as f: string=f.readlines() num=0 PINF=np.zeros((6,NPSIJ)) PINF[:]=0 LIJ=gb.get_value('LIJ') for line in string: if('#' in line): pass else: result=line.strip('\n').split(' ') IPS=int(result[0]) PINF[0,num]=IPS JPS=int(result[1]) PINF[1,num]=JPS PCON=float(result[2])*9.81 PINF[2,num]=PCON PID=result[3] PINF[3,num]=PID PL=LIJ[IPS][JPS] PINF[4,num]=PL PREND=result[4] PINF[5,num]=PREND num+=1 gb.set_value('PINF',PINF)
def onReceiveWork(socket, params): params = params.decode("utf-8"); #解码 params = getData(params);#去除头尾 workParams = json.loads(params) #转为JSON print (workParams) if (workParams.get('type')): key = workParams.get('key') if (key != None and key != ''): if (gv.get_value('work-'+key) != None): print ('I am bussy.....') return clientKey = str(socket.client_address[0])+"-"+str(socket.client_address[1]) arr = gv.get_value(clientKey) if (arr == None): arr = [] arr.append(key) gv.set_value(clientKey, arr) workingNode = CWorkingNode() workingNode.socket = socket job = Job(target=onStartingStrategy, args=(socket, workParams, workingNode,)) workingNode.job = job gv.set_value('work-'+key, workingNode) job.runThread(); print ('my new work is starting......', workParams.get('key')) else: print ('start new work failed......', workParams.get('key'))
def Read_dxdy(IC,JC): ''' 读取网格信息文件 IC行数 JC列数 默认文件名:dxdy.inp return Dxp,Dyp,Hmp,Belv,Zbr ''' Dxp=np.zeros((IC,JC)) Dyp=np.zeros((IC,JC)) Hmp=np.zeros((IC,JC)) Belv=np.zeros((IC,JC)) Zbr=np.zeros((IC,JC)) pattern=re.compile(r'\s+') with open('dxdy.inp','r') as f: for line in f: if('#' in line): pass else: string=line.lstrip().strip('\n') result=np.array(pattern.sub(' ',string).split(' '),dtype=np.float) I=int(result[1])-1 J=int(result[0])-1 Dxp[I,J]=result[2] Dyp[I,J]=result[3] Hmp[I,J]=result[4] Belv[I,J]=result[5] Zbr[I,J]=result[6] gb.set_value('Dxp',Dxp) gb.set_value('Dyp',Dyp) gb.set_value('Hmp',Hmp) gb.set_value('Belv',Belv) gb.set_value('Zbr',Zbr)
def Read_Qinp(NQSIJ): with open('NQSIJ.inp') as f: string=f.readlines() num=0 QINF=np.zeros((6,NQSIJ)) QINF[:]=0 LIJ=gb.get_value('LIJ') for line in string: if('#' in line): pass else: result=line.strip('\n').split(' ') IQS=int(result[0]) QINF[0,num]=IQS JQS=int(result[1]) QINF[1,num]=JQS QCON=result[2] QINF[2,num]=QCON QSFACTOR=result[3] QINF[3,num]=QSFACTOR QID=result[4] QINF[4,num]=QID QL=LIJ[IQS][JQS] QINF[5,num]=QL num+=1 gb.set_value('QINF',QINF)
def Read_Pser(Pnum): ''' 读取压力边界条件 Pnum 压力边界个数 KC 层数 MPSER 个数 TAPSER 时间序列编号 PSER 每一个序列对应的时间 return:PSER MPSER ''' pattern=re.compile(r'\s+') MPSER=np.zeros((1,Pnum)) PSER=np.zeros((1,2)) with open(r'C:\Users\sky\Desktop\EFDC-MPI-master\SampleModels\CurvilinearHarbourGrid\pser.inp','r') as f: string=f.readlines() num=0 for i in range(Pnum): while True: line=string[num] if('#' in line): pass else: break num+=1 stringL=line.lstrip().strip('\n').split("\'") result=np.array(pattern.sub(' ',stringL[0].strip()).split(' '),dtype=np.float) lineNum=int(result[0]) MPSER[0][i]=lineNum for j in range(lineNum): num+=1 line=string[num] stringL=line.lstrip().strip('\n').strip() result=np.array(pattern.sub(' ',stringL).split(' '),dtype=np.float) PSER=np.vstack((PSER,result)) num+=1 np.delete(PSER,0,axis=0)#0删不掉 gb.set_value('PSER',PSER) gb.set_value('MPSER',MPSER)
def Read_cell(IC,JC): ''' 网格读取文件 IC行数 JC列数 默认文件名:cell.inp CCell 倒置的网格 ''' Cell=np.zeros((IC,JC)) CCell=np.zeros((IC,JC)) rull=r'\d{%d}'%(1) pattern=re.compile(rull) I=0 with open('cell.inp','r') as f: for line in f: if('#' in line): pass else: string=line.lstrip().strip('\n').split(' ') result=np.array(pattern.findall(string[1]),dtype=np.int16) Cell[I]=result I+=1 for i in range(IC-1,-1,-1): CCell[i]=Cell[IC-i-1].copy() CCCell=np.zeros((IC+1,JC+1)) for i in range(IC): CCCell[i+1][1:]=CCell[i] gb.set_value('Cell',CCell) gb.set_value('CCell',CCCell)
def Read_Qser(Qnum,KC): ''' 读取流量边界条件 Qnum 流量边界个数 KC 层数 MQSER 时间序列的个数 return:QSER MQSER ''' pattern=re.compile(r'\s+') MQSER=np.arange(Qnum) QSER=np.zeros((1,KC+1)) with open(r'qser.inp','r') as f: string=f.readlines() num=0 for i in range(Qnum): while True: line=string[num] if('#' in line): pass else: break num+=1 stringL=line.lstrip().strip('\n').split("\'") result=np.array(pattern.sub(' ',stringL[0].strip()).split(' '),dtype=np.float) lineNum=int(result[1]) MQSER[i]=lineNum for j in range(lineNum): num+=1 line=string[num] stringL=line.lstrip().strip('\n').strip() result=np.array(pattern.sub(' ',stringL).split(' '),dtype=np.float) QSER=np.vstack((QSER,result)) num+=1 gb.set_value('QSER',QSER) gb.set_value('MQSER',MQSER)
def getUserStrategyFromMemory(content): tf = re.match(r'^http?:/{2}\w.+$', content.file) if tf: data = getHtml(content.file) if (data == None or len(data) < 10): return None fileName = '../tmp/' + str(random.randint(10, 100)) fileitem = fileItem(content.version, fileName) gv.set_value(content.scriptId, fileitem) import utils return utils.import_from_string(data, 'B') else: return imp.load_source('B', content.file)
def doStopJob(self, key): workingNode = gv.get_value('work-' + key) if (workingNode != None): print('I am stoping....:' + key) gv.remove_key('work-' + key) clientKey = str(workingNode.socket.client_address[0]) + "-" + str(workingNode.socket.client_address[1]) arr = gv.get_value(clientKey) workingNode.job.stop() if (arr != None): for i in range(len(arr)): if (arr[i] == key): del arr[i] gv.set_value(clientKey, arr) return
def getUserStrategy(content): tf = re.match(r'^http?:/{2}\w.+$', content.file) if tf: data = getHtml(content.file) # 保存到临时文件 if (data == None or len(data) < 10): return None fileName = '../tmp/' + str(random.randint(10, 100)) save_to_file(fileName, data) fileitem = fileItem(content.version, fileName) gv.set_value(content.scriptId, fileitem) return imp.load_source('B', fileName) else: return imp.load_source('B', content.file)
UV = np.arange(LC, dtype=np.float) U1V = np.arange(LC, dtype=np.float) VU = np.arange(LC, dtype=np.float) V1U = np.arange(LC, dtype=np.float) AH = np.zeros((LC, KC), dtype=np.float) SNLT = 1 Du = np.zeros((LC, KC), dtype=np.float) Dv = np.zeros((LC, KC), dtype=np.float) CDZR = np.arange(KC, dtype=np.float) CDZD = np.arange(KC, dtype=np.float) SPB = np.arange(LC) SPB[:] = 1 LBERC = np.arange(NPSIJ + NQSIJ) LBNRC = np.arange(NPSIJ + NQSIJ) gb._init() gb.set_value('LBERC', LBERC) gb.set_value('LBNRC', LBNRC) gb.set_value('SPB', SPB) gb.set_value('CDZR', CDZR) gb.set_value('CDZD', CDZD) gb.set_value('Du', Du) gb.set_value('Dv', Dv) gb.set_value('SNLT', SNLT) gb.set_value('KC', KC) gb.set_value('N', N) gb.set_value('NQSIJ', NQSIJ) gb.set_value('NPSIJ', NPSIJ) gb.set_value('AH', AH) gb.set_value('AHD', AHD) gb.set_value('Cell', Cell) gb.set_value('IC', IC)
content.OPEN.insert(0,data.get('open')) content.DATE.insert(0,data.get('date')) content.HIGH.insert(0, data.get('high')) content.LOW.insert(0, data.get('low')) content.CLOSE.insert(0,data.get("close")) if (data.get('volume')==None): content.VOL.insert(0,0) else: content.VOL.insert(0, data.get('volume')) if (data.get('amount')==None): content.AMOUNT.insert(0,0) else: content.AMOUNT.insert(0, data.get('amount')) print (content.OPEN) print (content.DATE) print (content.VOL) print (content.AMOUNT) print (datas) gv._init() gv.set_value('n1','22222222222222') B.handle_bar(content) r = redis.Redis(host='192.168.1.182',password='******',port=6379) r.set('strategy_key','hello') print (r.get('strategy_key')) print (content.a) print (content.b)
print(111111111111) print(222222222222) print(333333333333) print(444444444444) print(555555555555) print(666666666666) time.sleep(1) print(777777777777777777) print(8888888888888888888) print(99999999999999999999999999) time.sleep(1) print('n2:' + gv.get_value('n2')) if __name__ == "__main__": t = Job(target=print_time) t.runThread() gv.set_value('n1', '112321312') print('n1:' + gv.get_value('n1')) gv.set_value('n2', '22222222222') i = 0 while 1: time.sleep(1) print('im working{}', i) i = i + 1 if (i == 3): t.stop() print("stoped") pass
def Read_lxly(IC,JC): ''' 读取网格节点信息 IC行数,JC列数 默认文件名:lxly.inp return Lxp,Lyp,Cue,Cun,Cve,Cvn ''' Lxp=np.zeros((IC,JC)) Lyp=np.zeros((IC,JC)) Cue=np.zeros((IC,JC)) Cve=np.zeros((IC,JC)) Cun=np.zeros((IC,JC)) Cvn=np.zeros((IC,JC)) pattern=re.compile(r'\s+') with open('lxly.inp','r') as f: for line in f: if('#' in line): pass else: string=line.lstrip().strip('\n') result=np.array(pattern.sub(' ',string).split(' '),dtype=np.float) I=int(result[1]) J=int(result[0]) Lxp[I,J]=result[2] Lyp[I,J]=result[3] ANG1=math.atan2(result[4],result[5]) ANG2=math.atan2(result[6],result[7]) ANG=(ANG1+ANG2)/2 if(sign(ANG1)<=sign(ANG2)): if(abs(ANG1)>1.57 or abs(ANG2)>1.57): ANG=ANG+math.acos(-1) Cue[I,J]=math.cos(ANG) Cun[I,J]=math.sin(ANG)*-1 Cve[I,J]=math.sin(ANG) Cvn[I,J]=math.cos(ANG) gb.set_value('Lxp',Lxp) gb.set_value('Lyp',Lyp) gb.set_value('Cue',Cue) gb.set_value('Cun',Cun) gb.set_value('Cve',Cve) gb.set_value('Cvn',Cvn)
def send_data(): gl._init() linear_velocity = random.uniform(-1.5, 1.5) angular_velocity = random.uniform(-2.4, 2.4) base_1 = random.uniform(-pi / 180, pi / 180) arm1_2 = random.uniform(-pi / 180, pi / 180) arm2_3 = random.uniform(-pi / 180, pi / 180) arm3_4 = random.uniform(-pi / 180, pi / 180) arm4_5 = random.uniform(-pi / 180, pi / 180) arm5_6 = random.uniform(-pi / 180, pi / 180) arm6_7 = random.uniform(-pi / 180, pi / 180) gl.set_value('l_x', linear_velocity) gl.set_value('a_z', angular_velocity) gl.set_value('j_s_1', base_1) gl.set_value('j_s_2', arm1_2) gl.set_value('j_s_3', arm2_3) gl.set_value('j_s_4', arm3_4) gl.set_value('j_s_5', arm4_5) gl.set_value('j_s_6', arm5_6) gl.set_value('j_s_7', arm6_7)