def callback_paste_item(self, widget, data=None): cb = QApplication.clipboard() text = cb.text() lines = text.rstrip().split(';') #print("text=",lines) tab_add(self.tab, lines) self.save_combo()
def callback_add_section(self): tab_add(self.tab, ["0.0", "0.0", "0.0", "0.0"]) self.build_mesh() self.draw_graph() self.fig.canvas.draw() self.save_data()
def callback_add_section(self): tab_add(self.tab,[_("10e-6"),_("0.1e-6"),_("0.0"),_("0.0"),_("1.0"),_("0.0"),_("0.0")]) self.build_mesh() self.draw_graph() self.fig.canvas.draw() self.save_data()
def callback_add_section(self): tab_add(self.tab, ["100e-9", "1000e-9", self.default_value]) self.build_mesh() self.draw_graph() self.fig.canvas.draw() self.save_data()
def callback_add_section(self): tab_add(self.tab,["0.0","0.0","0.0"]) self.build_mesh() self.draw_graph() self.fig.canvas.draw() self.save_data()
def load(self): lines = [] self.tab.clear() self.tab.setHorizontalHeaderLabels( [_("Function"), _("Enabled"), _("a"), _("b"), _("c")]) lines = inp_load_file(self.file_name) #print(self.file_name,lines) pos = 0 while True: if lines[pos] == "#end": break if lines[pos] == "#ver": break tag = lines[pos] scan_item_add(self.file_name, tag, tag, 1) pos = pos + 1 #skip hash tag function = lines[pos] #read label pos = pos + 1 tag = lines[pos] scan_item_add(self.file_name, tag, tag, 1) pos = pos + 1 #skip hash tag enabled = lines[pos] #read value pos = pos + 1 tag = lines[pos] scan_item_add(self.file_name, tag, tag, 1) pos = pos + 1 #skip hash tag a = lines[pos] #read value pos = pos + 1 tag = lines[pos] scan_item_add(self.file_name, tag, tag, 1) pos = pos + 1 #skip hash tag b = lines[pos] #read value pos = pos + 1 tag = lines[pos] scan_item_add(self.file_name, tag, tag, 1) pos = pos + 1 #skip hash tag c = lines[pos] #read value pos = pos + 1 tab_add( self.tab, [str(function), str(enabled), str(a), str(b), str(c)])
def load(self): lines=[] self.tab.clear() self.tab.setHorizontalHeaderLabels([_("Function"), _("Enabled"), _("a"), _("b"), _("c")]) inp_load_file(lines,self.file_name) print(self.file_name,lines) pos=0 while True: if lines[pos]=="#end": break if lines[pos]=="#ver": break tag=lines[pos] scan_item_add(self.file_name,tag,tag,1) pos=pos+1 #skip hash tag function=lines[pos] #read label pos=pos+1 tag=lines[pos] scan_item_add(self.file_name,tag,tag,1) pos=pos+1 #skip hash tag enabled=lines[pos] #read value pos=pos+1 tag=lines[pos] scan_item_add(self.file_name,tag,tag,1) pos=pos+1 #skip hash tag a=lines[pos] #read value pos=pos+1 tag=lines[pos] scan_item_add(self.file_name,tag,tag,1) pos=pos+1 #skip hash tag b=lines[pos] #read value pos=pos+1 tag=lines[pos] scan_item_add(self.file_name,tag,tag,1) pos=pos+1 #skip hash tag c=lines[pos] #read value pos=pos+1 tab_add(self.tab,[ str(function), str(enabled), str(a), str(b), str(c)])
def load_data(self): self.tab.setColumnCount(7) self.tab.clear() self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) lines=[] self.start_time=0.0 self.fs_laser_time=0.0 self.list=[] self.tab.setHorizontalHeaderLabels([_("Length"),_("dt"), _("Start Voltage"), _("Stop Voltage"), _("step multiplyer"), _("Suns"),_("Laser")]) file_name="time_mesh_config"+str(self.index)+".inp" print("loading",file_name) ret=inp_load_file(lines,file_name) if ret==True: if inp_search_token_value(lines, "#ver")=="1.1": pos=0 token,value,pos=inp_read_next_item(lines,pos) self.start_time=float(value) token,value,pos=inp_read_next_item(lines,pos) self.fs_laser_time=float(value) token,value,pos=inp_read_next_item(lines,pos) segments=int(value) for i in range(0, segments): token,length,pos=inp_read_next_item(lines,pos) token,dt,pos=inp_read_next_item(lines,pos) token,voltage_start,pos=inp_read_next_item(lines,pos) token,voltage_stop,pos=inp_read_next_item(lines,pos) token,mul,pos=inp_read_next_item(lines,pos) token,sun,pos=inp_read_next_item(lines,pos) token,laser,pos=inp_read_next_item(lines,pos) tab_add(self.tab,[str(length),str(dt),str(voltage_start),str(voltage_stop),str(mul),str(sun),str(laser)]) return True else: print("file "+file_name+"wrong version") exit("") return False else: print("file "+file_name+" not found") return False return False
def create_model(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("File name"), _("Device type"), _("Description")]) self.tab.setColumnWidth(0, 150); self.tab.setColumnWidth(2, 500); self.tab.verticalHeader().setDefaultSectionSize(80); files=glob.glob(os.path.join(get_device_lib_path(),"*.gpvdm")) for i in range(0,len(files)): print("working on",files[i],zip_lsdir(files[i])) lines=read_lines_from_archive(lines,files[i],"info.inp") if lines!=False: tab_add(self.tab,[os.path.basename(files[i]), " ".join(inp_search_token_value_multiline(lines,"#info_device_type"))," ".join(inp_search_token_value_multiline(lines,"#info_description"))])
def create_model(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("File name"), _("Device type"), _("Description")]) self.tab.setColumnWidth(0, 150); self.tab.setColumnWidth(2, 500); self.tab.verticalHeader().setDefaultSectionSize(80); files=glob.glob(os.path.join(get_device_lib_path(),"*.gpvdm")) for i in range(0,len(files)): print("working on",files[i],zip_lsdir(files[i])) lines=[] if read_lines_from_archive(lines,files[i],"info.inp")==True: tab_add(self.tab,[os.path.basename(files[i]), " ".join(inp_search_token_value_multiline(lines,"#info_device_type"))," ".join(inp_search_token_value_multiline(lines,"#info_description"))])
def load_data(self): self.tab.clear() self.tab.setColumnCount(4) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([ _("Frequency start"), _("Frequency stop"), _("points"), _("Multiply") ]) self.tab.setColumnWidth(0, 200) self.tab.setColumnWidth(1, 200) lines = [] self.start_fx = 0.0 file_name = "fxmesh" + str(self.index) + ".inp" lines = inp_load_file(os.path.join(get_sim_path(), file_name)) if lines != False: if inp_search_token_value(lines, "#ver") == "1.1": pos = 0 while (1): token, start, pos = inp_read_next_item(lines, pos) if token == "#ver" or token == "#end": break token, stop, pos = inp_read_next_item(lines, pos) token, points, pos = inp_read_next_item(lines, pos) token, mul, pos = inp_read_next_item(lines, pos) tab_add(self.tab, [str(start), str(stop), str(points), str(mul)]) return True else: print("file " + file_name + "wrong version") exit("") return False else: print("file " + file_name + " not found") return False return False
def load_data(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("start (m)"), _("stop (m)"), _("Python Equation")]) self.tab.setColumnWidth(2, 500) lines = [] pos = 0 if inp_load_file(lines, os.path.join(self.path, self.file_name)) == True: token, self.points, pos = inp_read_next_item(lines, pos) token, equations, pos = inp_read_next_item(lines, pos) equations = int(equations) self.points = int(self.points) for i in range(0, equations): token, start, pos = inp_read_next_item(lines, pos) token, stop, pos = inp_read_next_item(lines, pos) token, equation, pos = inp_read_next_item(lines, pos) tab_add(self.tab, [str(start), str(stop), str(equation)])
def load_data(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("Frequency segment"), _("dfx"), _("Multiply")]) lines=[] self.start_fx=0.0 self.list=[] file_name="fxmesh"+str(self.index)+".inp" ret=inp_load_file(lines,file_name) if ret==True: if inp_search_token_value(lines, "#ver")=="1.0": pos=0 token,value,pos=inp_read_next_item(lines,pos) self.fx_start=float(value) token,value,pos=inp_read_next_item(lines,pos) segments=int(value) for i in range(0, segments): token,length,pos=inp_read_next_item(lines,pos) token,dfx,pos=inp_read_next_item(lines,pos) token,mul,pos=inp_read_next_item(lines,pos) self.list.append((length,dfx,mul)) tab_add(self.tab,[str(length),str(dfx),str(mul)]) return True else: print("file "+file_name+"wrong version") exit("") return False else: print("file "+file_name+" not found") return False return False
def load_data(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels( [_("start") + " (m)", _("stop") + " (m)", _("Python Equation")]) self.tab.setColumnWidth(2, 500) lines = [] pos = 0 lines = inp_load_file(os.path.join(self.path, self.file_name)) if lines != False: token, self.points, pos = inp_read_next_item(lines, pos) token, equations, pos = inp_read_next_item(lines, pos) equations = int(equations) self.points = int(self.points) for i in range(0, equations): token, start, pos = inp_read_next_item(lines, pos) token, stop, pos = inp_read_next_item(lines, pos) token, equation, pos = inp_read_next_item(lines, pos) tab_add(self.tab, [str(start), str(stop), str(equation)])
def callback_cluster_get_jobs(self): self.tab.clear() self.tab.setColumnCount(7) self.tab.setRowCount(0) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([ _("name"), _("path"), _("ip"), _("start"), _("stop"), _("CPUs"), _("status") ]) for job in self.myserver.jobs: tab_add(self.tab, [ job.name, job.path, job.ip, job.start, job.stop, str(job.cpus), str(job.status) ])
def create_model(self): self.tab.clear() self.tab.setColumnCount(3) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("File"), _("Token"), _("Values")]) self.file_name="fit_patch"+str(self.index)+".inp" if os.path.isfile(self.file_name)==True: f=open(self.file_name) config = f.readlines() f.close() for ii in range(0, len(config)): config[ii]=config[ii].rstrip() pos=0 mylen=len(config) while(1): t=config[pos] if t=="#end": break pos=pos+1 f=config[pos] if f=="#end": break pos=pos+1 v=config[pos] if v=="#end": break pos=pos+1 tab_add(self.tab,[f,t,v]) if pos>mylen: break
def update(self): self.tab.clear() self.tab.setColumnCount(5) self.tab.setRowCount(0) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([_("material"), _("Volume (m^-3)"), _("Mass (kg)"), _("Cost ($)"), _("Energy (J)")]) self.tab.setColumnWidth(1, 200) self.tab.setColumnWidth(2, 200) self.tab.setColumnWidth(3, 200) self.tab.setColumnWidth(4, 200) energy_tot=0.0 cost_tot=0.0 for i in range(0,epitaxy_get_layers()): volume=epitaxy_get_width(i)*1.0*1.0 name=epitaxy_get_mat_file(i) xls_file_name=os.path.join(get_materials_path(),epitaxy_get_mat_file(i),"cost.xlsx") wb = load_workbook(xls_file_name) ws= wb.get_sheet_by_name("results") density = float(ws['B2'].value) mass=density*volume cost_per_kg = float(ws['B3'].value) cost=mass*cost_per_kg energy_per_kg = float(ws['B4'].value) energy=energy_per_kg*mass tab_add(self.tab,[name,str(volume),str(mass),str(cost),str(energy)]) energy_tot=energy_tot+energy cost_tot=cost_tot+cost pce=inp_get_token_value("sim_info.dat", "#pce") payback_time=-1.0 if pce!=None: pce=float(pce) gen_energy=1366.0*pce/100.0 payback_time=energy_tot/gen_energy/60.0/60.0/24/365 tab_add(self.tab,["sum","","",str(cost_tot),str(energy_tot)]) tab_add(self.tab,["","","pay back time=",str(payback_time),"years"])
def update(self): self.tab.clear() self.tab.setColumnCount(5) self.tab.setRowCount(0) self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) self.tab.setHorizontalHeaderLabels([ _("material"), _("Volume") + " (m^-3)", _("Mass") + " (kg)", _("Cost") + " ($)", _("Energy") + " (J)" ]) self.tab.setColumnWidth(1, 200) self.tab.setColumnWidth(2, 200) self.tab.setColumnWidth(3, 200) self.tab.setColumnWidth(4, 200) if work_book_enabled == False: print(_("python3-openpyxl not found")) return energy_tot = 0.0 cost_tot = 0.0 for i in range(0, epitaxy_get_layers()): volume = epitaxy_get_width(i) * 1.0 * 1.0 name = epitaxy_get_mat_file(i) xls_file_name = os.path.join(get_materials_path(), epitaxy_get_mat_file(i), "cost.xlsx") if os.path.isfile(xls_file_name): wb = load_workbook(xls_file_name) ws = wb.get_sheet_by_name("results") density = float(ws['B2'].value) mass = density * volume cost_per_kg = float(ws['B3'].value) cost = mass * cost_per_kg energy_per_kg = float(ws['B4'].value) energy = energy_per_kg * mass tab_add(self.tab, [name, str(volume), str(mass), str(cost), str(energy)]) energy_tot = energy_tot + energy cost_tot = cost_tot + cost pce = inp_get_token_value("sim_info.dat", "#pce") payback_time = -1.0 if pce != None: pce = float(pce) gen_energy = 1366.0 * pce / 100.0 payback_time = energy_tot / gen_energy / 60.0 / 60.0 / 24 / 365 tab_add(self.tab, ["sum", "", "", str(cost_tot), str(energy_tot)]) tab_add(self.tab, ["", "", "pay back time=", str(payback_time), "years"])
def callback_add_item(self): tab_add(self.tab,["File","token",_("value")]) self.save_combo()
def add_item_clicked(self): tab_add(self.tab, ["exp", "true", "a", "b", "c"]) self.save() self.changed.emit()
def load_data(self,jobs_list): self.create_model() for i in range(len(jobs_list)): tab_add(self.tab,jobs_list[i])
def add_item_clicked(self): tab_add(self.tab,[ "exp", "true", "a", "b", "c"]) self.save() self.changed.emit()
def load_data(self): self.tab.setColumnCount(7) self.tab.clear() self.tab.setSelectionBehavior(QAbstractItemView.SelectRows) lines = [] self.start_time = 0.0 self.fs_laser_time = 0.0 self.list = [] self.tab.setHorizontalHeaderLabels([ _("Length"), _("dt"), _("Start Voltage"), _("Stop Voltage"), _("step multiplyer"), _("Suns"), _("Laser") ]) print("loading", self.file_name) lines = inp_load_file(self.file_name) if lines != False: if inp_search_token_value(lines, "#ver") == "1.1": pos = 0 token, value, pos = inp_read_next_item(lines, pos) self.start_time = float(value) token, value, pos = inp_read_next_item(lines, pos) self.fs_laser_time = float(value) token, value, pos = inp_read_next_item(lines, pos) segments = int(value) for i in range(0, segments): token, length, pos = inp_read_next_item(lines, pos) token, dt, pos = inp_read_next_item(lines, pos) token, voltage_start, pos = inp_read_next_item(lines, pos) token, voltage_stop, pos = inp_read_next_item(lines, pos) token, mul, pos = inp_read_next_item(lines, pos) token, sun, pos = inp_read_next_item(lines, pos) token, laser, pos = inp_read_next_item(lines, pos) tab_add(self.tab, [ str(length), str(dt), str(voltage_start), str(voltage_stop), str(mul), str(sun), str(laser) ]) return True else: print("file " + self.file_name + "wrong version") exit("") return False else: print("file " + self.file_name + " not found") return False return False