Ejemplo n.º 1
0
def f_iso3d(shape, k0, n=1., betamax=BETAMAX):
    k0 = np.asarray(k0)
    beta = eigenbeta(shape, k0, betamax)
    phi = eigenphi(shape, k0, betamax)
    if k0.ndim == 0:
        fmat = tmm.f_iso(n=n, beta=beta, phi=phi)
        return fmat
    else:
        fmat = (tmm.f_iso(n=n, beta=beta[i], phi=phi[i])
                for i in range(len(k0)))
        return tuple(fmat)
Ejemplo n.º 2
0
def f_iso2d(shape, k0, n=1., betay=0, betamax=BETAMAX):
    k0 = np.asarray(k0)
    betax = eigenbeta1(shape, k0, betamax)

    if k0.ndim == 0:
        beta = betaxy2beta(betax, betay)
        phi = betaxy2phi(betax, betay)
        fmat = tmm.f_iso(n=n, beta=beta, phi=phi)
        return fmat
    else:
        beta = tuple((betaxy2beta(beta, betay) for beta in betax))
        phi = tuple((betaxy2phi(beta, betay) for beta in betax))
        fmat = (tmm.f_iso(n=n, beta=beta[i], phi=phi[i])
                for i in range(len(k0)))
        return tuple(fmat)
Ejemplo n.º 3
0
 def setUp(self):
     self.f0 = f_iso(beta = 0.2, phi = 0.2, n = 1.5)
     self.fvecp = fvec(self.f0, jones = (1,0), mode = +1)
     self.fvecm = fvec(self.f0, jones = (1,0), mode = -1)
     self.fvec = self.fvecp + self.fvecm
Ejemplo n.º 4
0
#: layer thickness times wavenumber
kd = 2*np.pi/wavelengths[None,:]* step * d[:,None]
#: input epsilon -air
eps_in = dtmm.refind2eps([nin]*3)
#: layer epsilon
eps_layer = dtmm.refind2eps(n)
eps_values = np.array([eps_layer]*(nlayers+2), dtype = CDTYPE)
eps_values[0] =  dtmm.refind2eps([nglass]*3)
eps_values[-1] =  dtmm.refind2eps([nglass]*3)


jx = jones4.jonesvec((1,0), phi)
jy = jones4.jonesvec((0,1), phi)

fin = tmm.f_iso(n = nin)
fout = tmm.f_iso(n = nout)

pmat = tmm.projection_mat(fout,mode = +1)
mmat = tmm.projection_mat(fin, mode = -1)

fvec = tmm.fvec(fin,jones = jx)
rfvec4 = np.array([fvec]*nwavelengths)
tfvec4 = tmm.transfer(rfvec4, kd, eps_values, eps_angles, nin = nin, nout = nout,method = method)
rfvec4 = dotmv(mmat,rfvec4)

x_polarizerin = jones4.polarizer4x4(jx, fin) 
y_polarizerin = jones4.polarizer4x4(jy, fin) 
x_polarizer = jones4.polarizer4x4(jx, fout) 
y_polarizer = jones4.polarizer4x4(jy, fout)