Пример #1
0
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
Пример #2
0
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))))
Пример #4
0
    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)):
Пример #5
0
#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)
Пример #6
0
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_()