Exemplo n.º 1
0
from os import sys, path
sys.path.append(path.dirname(path.dirname(path.dirname(path.abspath(__file__)))))
from simulationManager.papyllon_simulation import PapyllonSimulation
from scipy.optimize import fsolve
import numpy as np

s = PapyllonSimulation(__file__,['wc','g','delta','k','xi','wd'])

def parfunc(p):
    s.set_parameters(p)
    xi = s.k /1.42 * 10 ** s.xi
    def equation(A):
        return A**2 - s.wc**2*xi**2 / ((s.wd**2-(s.wc+s.g**2/np.sqrt(2*s.g**2*(A**2-1)+s.delta**2))**2)**2+s.k**2*s.wd**2)

    return fsolve(equation, xi)/xi
    

if __name__ == "__main__":
    s.run(parfunc)
Exemplo n.º 2
0
    g = jc_parameters[str(s.flux)]["g"]
    wq = jc_parameters[str(s.flux)]["wq"]
    xi = 10 ** s.xi * s.kappa /1.42
    # construct composite operators
    a = tensor(destroy(s.N_photons), qeye(2))
    sm = tensor(qeye(s.N_photons), sigmam())
    # Hamiltonian
    H = (wq - s.wd) * sm.dag() * sm + (s.wc - s.wd) * a.dag() * a + \
        1j * g * (a.dag() * sm - sm.dag() * a + a * sm - sm.dag() * a.dag()) + xi * (a.dag() + a)

    # Collapse operators
    C1 = np.sqrt(2 * s.kappa) * a
    C2 = np.sqrt(s.gamma) * sm

    try:
        # find steady state
        rhoss = steadystate(H, [C1, C2], method = 'power')

        # calculate expectation value
        S11 = expect(a*a.dag(), rhoss)
        
    except Exception, e:
        print "Calculation failed: "+str(e)
        return -1

    return S11
    

if __name__ == "__main__":
    s.run(parfunc,debug = False)