コード例 #1
0
ファイル: compound_lens.py プロジェクト: andykee/pyoptools
    def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01,
                        curvature_s3= 0.01, thickness_l1= 5, thickness_l2= 5,
                        material_l1=1., material_l2=1.,*args,**kwarks):
        System.__init__(self,*args,**kwarks)
        self.radius=radius
        self.curvature_as= curvature_s1
        self.curvature_ms=curvature_s2
        self.curvature_ps=curvature_s3
        self.thickness_al=thickness_l1
        self.thickness_pl=thickness_l2
        self.material_al=material_l1
        self.material_pl=material_l2
        
        __a_lens= SphericalLens(curvature_s1=self.curvature_as,
                                     curvature_s2=self.curvature_ms,
                                     thickness=self.thickness_al,
                                     radius =self.radius,
                                     material=self.material_al)

        __p_lens= SphericalLens(curvature_s1=self.curvature_ms,
                                     curvature_s2=self.curvature_ps,
                                     thickness=self.thickness_pl,
                                     radius =self.radius,
                                     material=self.material_pl)

        self.complist["C1"]=(__a_lens,(0,0,-self.thickness_pl/2.),(0,0,0))
        self.complist["C2"]=(__p_lens,(0,0, self.thickness_al/2.),(0,0,0))
コード例 #2
0
ファイル: compound_lens.py プロジェクト: wcamilo96/pyoptools
    def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01,
                        curvature_s3= 0.01, thickness_l1= 5, thickness_l2= 5,
                        material_l1=1., material_l2=1.,*args,**kwarks):
        System.__init__(self,*args,**kwarks)
        self.radius=radius
        self.curvature_as= curvature_s1
        self.curvature_ms=curvature_s2
        self.curvature_ps=curvature_s3
        self.thickness_al=thickness_l1
        self.thickness_pl=thickness_l2
        self.material_al=material_l1
        self.material_pl=material_l2
        
        __a_lens= SphericalLens(curvature_s1=self.curvature_as,
                                     curvature_s2=self.curvature_ms,
                                     thickness=self.thickness_al,
                                     radius =self.radius,
                                     material=self.material_al)

        __p_lens= SphericalLens(curvature_s1=self.curvature_ms,
                                     curvature_s2=self.curvature_ps,
                                     thickness=self.thickness_pl,
                                     radius =self.radius,
                                     material=self.material_pl)

        self.complist["C1"]=(__a_lens,(0,0,-self.thickness_pl/2.),(0,0,0))
        self.complist["C2"]=(__p_lens,(0,0, self.thickness_al/2.),(0,0,0))
コード例 #3
0
ファイル: compound_lens.py プロジェクト: wcamilo96/pyoptools
    def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01,
                        curvature_s3= 0.01,curvature_s4= 0.01, thickness_l1= 5,air_gap=5 , thickness_l2= 5,
                        material_l1=1., material_l2=1.,*args,**kwarks):
        System.__init__(self,*args,**kwarks)
        self.radius=radius
        self.curvature_as1= curvature_s1
        self.curvature_ps1=curvature_s2

        self.curvature_as2=curvature_s3
        self.curvature_ps2=curvature_s4

        self.thickness_l1=thickness_l1
        self.thickness_l2=thickness_l2
        self.air_gap=air_gap

        self.material_l1=material_l1
        self.material_l2=material_l2

        __a_lens= SphericalLens(curvature_s1=self.curvature_as1,
                                     curvature_s2=self.curvature_ps1,
                                     thickness=self.thickness_l1,
                                     radius =self.radius,
                                     material=self.material_l1)

        __p_lens= SphericalLens(curvature_s1=self.curvature_as2,
                                     curvature_s2=self.curvature_ps2,
                                     thickness=self.thickness_l2,
                                     radius =self.radius,
                                     material=self.material_l2)

        self.complist["C1"]=(__a_lens,(0,0,-(self.thickness_l2+self.air_gap)/2.),(0,0,0))
        self.complist["C2"]=(__p_lens,(0,0, (self.thickness_l1+self.air_gap)/2.),(0,0,0))
コード例 #4
0
ファイル: compound_lens.py プロジェクト: adamLange/pyoptools
    def __init__(self, radius = 25.,curvature_s1= 0.01,curvature_s2= 0.01,
                        curvature_s3= 0.01,curvature_s4= 0.01, thickness_l1= 5,air_gap=5 , thickness_l2= 5,
                        material_l1=1., material_l2=1.,*args,**kwarks):
        System.__init__(self,*args,**kwarks)
        self.radius=radius
        self.curvature_as1= curvature_s1
        self.curvature_ps1=curvature_s2

        self.curvature_as2=curvature_s3
        self.curvature_ps2=curvature_s4

        self.thickness_l1=thickness_l1
        self.thickness_l2=thickness_l2
        self.air_gap=air_gap

        self.material_l1=material_l1
        self.material_l2=material_l2

        __a_lens= SphericalLens(curvature_s1=self.curvature_as1,
                                     curvature_s2=self.curvature_ps1,
                                     thickness=self.thickness_l1,
                                     radius =self.radius,
                                     material=self.material_l1)

        __p_lens= SphericalLens(curvature_s1=self.curvature_as2,
                                     curvature_s2=self.curvature_ps2,
                                     thickness=self.thickness_l2,
                                     radius =self.radius,
                                     material=self.material_l2)

        self.complist["C1"]=(__a_lens,(0,0,-(self.thickness_l2+self.air_gap)/2.),(0,0,0))
        self.complist["C2"]=(__p_lens,(0,0, (self.thickness_l1+self.air_gap)/2.),(0,0,0))
コード例 #5
0
ファイル: cube.py プロジェクト: ramezquitao/pyoptools
    def __init__(self, size=50.,reflectivity=0.5,material=1., **traits):
        System.__init__(self,**traits)
        self.size=size
        self.reflectivity=reflectivity
        self.material=material
            
    
        
        __prism1= RightAnglePrism(width=self.size,height=self.size,
                                        material=self.material,
                                        reflectivity=self.reflectivity)

        __prism2= RightAnglePrism(width=self.size,height=self.size,
                                        material=self.material,reflectivity=0)

        self.complist["C1"]=(__prism1,(0,0,0),(0,-pi/2,0))
        self.complist["C2"]=(__prism2,(0,0,0),(0,-3*pi/2,0))
コード例 #6
0
ファイル: cube.py プロジェクト: luzpaz/pyoptools
    def __init__(self, size=50.,reflectivity=0.5,material=1., **traits):
        System.__init__(self,**traits)
        self.size=size
        self.reflectivity=reflectivity
        self.material=material
            
    
        
        __prism1= RightAnglePrism(width=self.size,height=self.size,
                                        material=self.material,
                                        reflectivity=self.reflectivity)

        __prism2= RightAnglePrism(width=self.size,height=self.size,
                                        material=self.material,reflectivity=0)

        self.complist["C1"]=(__prism1,(0,0,0),(0,-pi/2,0))
        self.complist["C2"]=(__prism2,(0,0,0),(0,-3*pi/2,0))
コード例 #7
0
    def __init__(self, sd, *args, **kwarks):
        System.__init__(self, *args, **kwarks)
        # Calculate the lens total thickness
        TT = 0
        for s in sd[:-1]:
            TT = TT + s[2]

        p = -TT / 2
        nn = 1
        for n in range(1, len(sd)):
            t0, r0, th0, s0, mc0, mt0 = sd[n - 1]
            t1, r1, th1, s1, mc1, mt1 = sd[n]

            if isnan(r0) or r0 == 0:
                c0 = 0
            else:
                c0 = 1 / r0

            if isnan(r1) or r1 == 0:
                c1 = 0
            else:
                c1 = 1 / r1

            if mt0 != "":
                if mc0 == "Value":
                    mat = float(mt0.replace(",", "."))
                else:
                    mat = getattr(material, mc0)[mt0]

                lens = SphericalLens(
                    curvature_s1=c0,
                    curvature_s2=c1,
                    thickness=th0,
                    radius=s0,
                    material=mat,
                )
                0, 0, p + th0 / 2

                self.complist["C{}".format(nn)] = (lens, (0, 0, p + th0 / 2), (0, 0, 0))
                nn = nn + 1
            p = p + th0