def predict_vm(ecs_infor_array, input_file_array): #Get the CPU information CPU_kernel, CPU_memory, N_Pvm, condition, Pvm, Predict_time, Predict_Start = utils.splitEscData( ecs_infor_array) #Get the History Data information length, Hvm, History_Start = utils.splitInputData(input_file_array) #History Data #Statistic and Split #lenD,S_Data=utils.Statistic_Split(length,Hvm,N_Pvm,Pvm) lenD, S_Data = utils.Denoise_Split(length, Hvm, N_Pvm, Pvm) #print S_Data result = [] if ecs_infor_array is None: print 'ecs information is none' return result if input_file_array is None: print 'input file information is none' return result #-----------------------Mirror------------------------- NEPvm = mirror.Mirror(lenD, N_Pvm, S_Data, Predict_time) # allocation CPU, N_PCPU = Box.Boxing(NEPvm, Pvm, N_Pvm, CPU_kernel, CPU_memory, condition) print N_PCPU result = utils.results_expression(CPU, N_PCPU, N_Pvm, Pvm) return result
def predict_vm(ecs_infor_array,input_file_array): #Get the CPU information CPU_kernal,CPU_memory,N_Pvm,condition,Pvm,Predict_time,Predict_Start=utils.splitEscData(ecs_infor_array) #Get the History Data information length,Hvm,History_Start=utils.splitInputData(input_file_array) #History Data #Statistic and Split lenD,S_Data=utils.Statistic_Split(length,Hvm,N_Pvm,Pvm) #print S_Data result = [] if ecs_infor_array is None: print 'ecs information is none' return result if input_file_array is None: print 'input file information is none' return result #--------------------method five estimate-------------- #NEPvm=TDEstimation.EstTD(History_Start,Predict_Start,lenD,N_Pvm,S_Data,Predict_time) #-----------------------Mirror------------------------- NEPvm=mirror.Mirror(lenD,N_Pvm,S_Data,Predict_time) print NEPvm #---------------------method Three-------------------- #NEPvm=lwlr.lwlr_predict(N_Pvm,lenD,S_Data,Predict_time) #print NEPvm # allocation CPU,N_PCPU=Boxing(NEPvm,Pvm,N_Pvm,CPU_kernal,CPU_memory) print N_PCPU result=utils.results_expression(CPU,N_PCPU,N_Pvm,Pvm) return result
def load(self): # 3D Model Loader # load_model = models.Models("CornellBox-Original.obj") # self.create_model(load_model, glm.vec3(0.0, 0.0, -2.0)) # First Scene: FOUR SPHERE # self.primitives.append(sphere.Sphere(glm.vec3(0.0, 0.0, 0.0), 0.2)) # self.primitives.append(sphere.Sphere(glm.vec3(-0.5, 0.0, -1.0), 0.2)) # self.primitives.append(sphere.Sphere(glm.vec3(0.0, -0.5, -2.0), 0.2)) # self.primitives.append(sphere.Sphere(glm.vec3(0.0, 0.5, -3.0), 0.2)) # Second Scene: TRIFORCE # self.primitives.append(triangle.Triangle(glm.vec3(0.0, 0.6, -2.0), glm.vec3(-0.2, 0.3, -2.0), glm.vec3(0.2, 0.3, -2.0))) # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -2.0), glm.vec3(-0.4, 0.0, -2.0), glm.vec3(0.0, 0.0, -2.0))) # self.primitives.append(triangle.Triangle(glm.vec3(0.2, 0.3, -2.0), glm.vec3(0.0, 0.0, -2.0), glm.vec3(0.4, 0.0, -2.0))) # Third Scene: THE WIZARD # self.primitives.append(sphere.Sphere(glm.vec3(0.0, 0.5, -3.0), 0.2)) # self.primitives.append(triangle.Triangle(glm.vec3(0.0, 1.0, -0.5), glm.vec3(-1.0, -2.0, -3.0), glm.vec3(1.0, -2.0, -3.0))) # Forth Scene: TRIANGLES # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -1.0), glm.vec3(-0.4, 0.0, -1.0), glm.vec3(0.0, 0.0, -1.0))) # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -1.5), glm.vec3(-0.4, 0.0, -1.5), glm.vec3(0.0, 0.0, -1.5))) # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -2.0), glm.vec3(-0.4, 0.0, -2.0), glm.vec3(0.0, 0.0, -2.0))) # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -2.5), glm.vec3(-0.4, 0.0, -2.5), glm.vec3(0.0, 0.0, -2.5))) # self.primitives.append(triangle.Triangle(glm.vec3(-0.2, 0.3, -3.0), glm.vec3(-0.4, 0.0, -3.0), glm.vec3(0.0, 0.0, -3.0))) # Pathtracer Scene: CORNELL BOX WITH SPHERES # BACK self.primitives.append( triangle.Triangle( glm.vec3(1.2, -1.2, -2.5), glm.vec3(-1.2, 1.2, -2.5), glm.vec3(-1.2, -1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) self.primitives.append( triangle.Triangle( glm.vec3(1.2, -1.2, -2.5), glm.vec3(1.2, 1.2, -2.5), glm.vec3(-1.2, 1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) # FLOOR self.primitives.append( triangle.Triangle( glm.vec3(-1.2, -1.2, -2.5), glm.vec3(1.2, -1.2, -2.5), glm.vec3(-1.2, -1.0, -1.0), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) self.primitives.append( triangle.Triangle( glm.vec3(-1.2, -1.0, -1.0), glm.vec3(1.2, -1.2, -2.5), glm.vec3(1.2, -1.0, -1.0), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) # LEFT WALL self.primitives.append( triangle.Triangle( glm.vec3(-1.2, -1.2, -2.5), glm.vec3(-1.2, -1.0, -1.0), glm.vec3(-1.2, 1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.14, 0.45, 0.091)))) self.primitives.append( triangle.Triangle( glm.vec3(-1.2, 1.2, -2.5), glm.vec3(-1.2, -1.0, -1.0), glm.vec3(-1.2, 1.2, -1.0), diffuse.Diffuse(brdf=glm.vec3(0.14, 0.45, 0.091)))) # RIGHT WALL self.primitives.append( triangle.Triangle( glm.vec3(1.2, 1.2, -1.0), glm.vec3(1.2, -1.0, -1.0), glm.vec3(1.2, 1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.63, 0.065, 0.05)))) self.primitives.append( triangle.Triangle( glm.vec3(1.2, 1.2, -2.5), glm.vec3(1.2, -1.0, -1.0), glm.vec3(1.2, -1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.63, 0.065, 0.05)))) # CEILING self.primitives.append( triangle.Triangle( glm.vec3(-1.2, 1.2, -1.0), glm.vec3(-1.2, 1.2, -2.5), glm.vec3(1.2, 1.2, -2.5), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) self.primitives.append( triangle.Triangle( glm.vec3(1.2, 1.2, -2.5), glm.vec3(1.2, 1.2, -1.0), glm.vec3(-1.2, 1.2, -1.0), diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68)))) # LIGHT self.primitives.append( triangle.Triangle( glm.vec3(-0.5, 1.19, -1.5), glm.vec3(-0.5, 1.19, -2.0), glm.vec3(0.5, 1.19, -2.0), light.Light(emittance=glm.vec3(30.0, 30.0, 30.0)))) self.primitives.append( triangle.Triangle( glm.vec3(0.5, 1.19, -2.0), glm.vec3(0.5, 1.19, -1.5), glm.vec3(-0.5, 1.19, -1.5), light.Light(emittance=glm.vec3(30.0, 30.0, 30.0)))) # SPHERES self.primitives.append( sphere.Sphere(glm.vec3(-0.5, -0.65, -1.5), 0.4, mirror.Mirror())) self.primitives.append( sphere.Sphere(glm.vec3(0.6, -0.65, -1.8), 0.4, diffuse.Diffuse(brdf=glm.vec3(0.725, 0.71, 0.68))))
for ii in range(-20, 20, 5): r532 += stack.reflectivity(532 + ii)[0] t1064 = 0 for ii in range(-20, 20, 5): t1064 += 1 - stack.reflectivity(1064 + ii)[0] return np.sqrt((4 * t1064)**2 + r532**2) # t1064 is weighted higher def optimizer(stack, d): if np.any(d > 1000) or np.any(d < 0): return np.inf stack_updater(stack, d) return FOM(stack) m = mirror.Mirror(wavelength=1064, n_subs=1.52) n = [1.45, 2.35] d = [0.5, 0.25] m.add_layers(n, d) # half-wave cap d = [0.25, 0.25] m.add_layers(n, d, repeat=9) #d = [364,114,181,113,181,113,178,112,178,115,178,111,173,108,196,129] #m.add_layers_direct(n, d) rs1064, _ = m.get_reflectivity(1064) rs532, _ = m.get_reflectivity(532) print "R @ 1064nm: {:.4%}, T @ 532nm: {:.4%}".format(rs1064, 1 - rs532) print FOM(m.stack) L = linspace(400, 1200, 300) R_preopt = zeros_like(L) for ii in range(0, len(L)):
#This program displays the resonator modes of a #simple plane wave two-mirror optical cavity import matplotlib.pyplot as plt import numpy as np import math import mirror as m #some constants d = 0.05 #distance between two mirrors (meters) I0 = 1.0 #initial intensity of laser c = 299792458.0 #speed of light (m/s) #setup the mirrors, M1 is input mirror M1 = m.Mirror(0.995, 0.005) M2 = m.Mirror(0.995, 0.005) #FSR, frequency spacing between resonances FSR = c / (2.0 * d) print("FSR = " + str(FSR) + "Hz") f = np.arange(0.5 * FSR, 4.5 * FSR, 1000) #sweep range of frequency # I is internal intensity, assuming phase=0 r = M1.R * M2.R real = (1.0 - 2.0 * np.sqrt(r) * np.cos(4.0 * d * np.pi * f / c)) I = (M1.T * I0) / (real + r) # IR is the reflected intensity, assuming phase = 0 A = 1.0 + (M1.T / M1.R) * np.sqrt(r) num = 1.0 + A * A - 2.0 * np.cos(4.0 * d * np.pi * f / c)
import client_gui from PyQt5.QtWidgets import * import sys import threading import time import mirror if __name__ == "__main__": app = QApplication(sys.argv) screen = app.desktop().screenGeometry() gui = client_gui.SmartMirrorGUI(screen.width(), screen.height()) mirror = mirror.Mirror(gui) gui.setLocation(mirror.wc.get_location()) gui.show() app.exec_()