예제 #1
0
 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()
예제 #2
0
파일: fxmesh.py 프로젝트: xj361685640/gpvdm
    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()
예제 #3
0
	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()
예제 #4
0
    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()
예제 #5
0
    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()
예제 #6
0
	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()
예제 #7
0
    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)])
예제 #8
0
	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)])
예제 #9
0
	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
예제 #10
0
	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"))])
예제 #11
0
	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"))])
예제 #12
0
파일: fxmesh.py 프로젝트: xj361685640/gpvdm
    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
예제 #13
0
 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)])
예제 #14
0
	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
예제 #15
0
 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)])
예제 #16
0
    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)
            ])
예제 #17
0
	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
예제 #18
0
	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"])
예제 #19
0
파일: cost.py 프로젝트: mandulaj/gpvdm
    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"])
예제 #20
0
	def callback_add_item(self):
		tab_add(self.tab,["File","token",_("value")])
		self.save_combo()
예제 #21
0
 def add_item_clicked(self):
     tab_add(self.tab, ["exp", "true", "a", "b", "c"])
     self.save()
     self.changed.emit()
예제 #22
0
	def load_data(self,jobs_list):
		self.create_model()
		for i in range(len(jobs_list)):
			tab_add(self.tab,jobs_list[i])
예제 #23
0
	def add_item_clicked(self):
		tab_add(self.tab,[ "exp", "true", "a", "b", "c"])
		self.save()
		self.changed.emit()
예제 #24
0
    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