⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 symmetry.prj

📁 A Numerical Photonics library written in C++. The library includes beam propagation method, coupled
💻 PRJ
📖 第 1 页 / 共 5 页
字号:
begin <fimmwave_prj(1.0)> "Symmetry"
  begin <notesTB(1.0)> "Support material for symmetry tech note"
    >For questions:
    >Richard Black: design@optosapiens.com
    >Tom Davies:    support@photond.com  
  end
  begin <fimmwave_prj(1.0)> "Sec_1_Circle"
    begin <mwguideNode(1.0)> "Whole_Circle"
      begin <mwg_wguide(1.0)>
        0                     
        8            8            
        0                     
        ""      -1000 
        MAGWALL 0.000000      
        MAGWALL 0.000000      
        MAGWALL 0.000000      
        MAGWALL 0.000000      
        begin <mwgshape_list(1.3)>
          //xposn yposn SHAPE(...) nxHint nyHint pmlfact RIXPROFILE(...) GRADEDPARS(...)
          4@OC 4@OC ELLIPSE(5,5) 0 0 OPQ(1.5 0) 0
          4@OC 5@OC RECTANGLE(10,10) 0 0 OPQ(1.45 0) 0
        end
      end
      begin <molab_parms(1.0)>
        1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        10 0 60 60  // maxNmodes molabOpt nx ny
        1.55 0 RVEC V2 40 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
    end
    begin <mwguideNode(1.0)> "Quarter_Circle_TE01_HE21"
      begin <mwg_wguide(1.0)>
        0                     
        4            4            
        0                     
        ""      -1000 
        METALWALL 0.000000    
        MAGWALL 0.000000      
        MAGWALL 0.000000      
        METALWALL 0.000000    
        begin <mwgshape_list(1.3)>
          //xposn yposn SHAPE(...) nxHint nyHint pmlfact RIXPROFILE(...) GRADEDPARS(...)
          0@OC 0@OC ELLIPSE(5,5) 0 0 OPQ(1.5 0) 0
          0@OC 0@OC RECTANGLE(10,10) 0 0 OPQ(1.45 0) 0
        end
      end
      begin <molab_parms(1.0)>
        1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        4 0 60 60  // maxNmodes molabOpt nx ny
        1.55 0 RVEC V2 30 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
    end
    begin <WGScanNode(1.0)> "Ellipse_Aspect_Ratio_Scanner_Equal_Areas"
         "Quarter_Circle_TE01_HE21" //wgname1
         "REPLICA" //wgname2
         0 //stepType
         20  0       " " //nstep,minstep,itpFunction.string
                  1          4 //xstart,xend
         "x-parameter" //xlabel
      begin <mwguideNode(1.0)> "REPLICA"
        begin <mwg_wguide(1.0)>
          0                     
          6.25         3.75         
          0                     
          ""      -1000 
          METALWALL 0.000000    
          MAGWALL 0.000000      
          MAGWALL 0.000000      
          METALWALL 0.000000    
          begin <mwgshape_list(1.3)>
            //xposn yposn SHAPE(...) nxHint nyHint pmlfact RIXPROFILE(...) GRADEDPARS(...)
            0@OC 0@OC ELLIPSE(10,2.5) 0 0 OPQ(1.5 0) 0
            0@OC 0@OC RECTANGLE(12.5,7.5) 0 0 OPQ(1.45 0) 0
          end
        end
        begin <molab_parms(1.0)>
          1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
          N(1e+050) N(-1e+050)  // evstart evend
          4 0 60 60  // maxNmodes molabOpt nx ny
          1.55 0 RVEC V2 30 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
        end
      end
    end
    begin <mwguideNode(1.0)> "Quarter_Circle_TE01_HE21_N1d_eq_30"
      begin <mwg_wguide(1.0)>
        0                     
        4            4            
        0                     
        ""      -1000 
        METALWALL 0.000000    
        MAGWALL 0.000000      
        MAGWALL 0.000000      
        METALWALL 0.000000    
        begin <mwgshape_list(1.3)>
          //xposn yposn SHAPE(...) nxHint nyHint pmlfact RIXPROFILE(...) GRADEDPARS(...)
          0@OC 0@OC ELLIPSE(5,5) 0 0 OPQ(1.5 0) 0
          0@OC 0@OC RECTANGLE(10,10) 0 0 OPQ(1.45 0) 0
        end
      end
      begin <molab_parms(1.0)>
        1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        4 0 60 60  // maxNmodes molabOpt nx ny
        1.55 0 RVEC V2 30 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
    end
  end
  begin <fimmwave_prj(1.0)> "Sec_2_RWG Symmetry"
    begin <notesTB(1.0)> "RWG Symmetry Notes"
    end
    begin <rwguideNode(1.0)> "Input_Output_RWG_Quarter"
      begin <rwg_wguide(1.0)>
        ""      -1000 
        METALWALL 0.000000 // lhs boundary
                1.75            0 1
                   4            0 2
        METALWALL 0.000000 // rhs boundary
        // end of slice list
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1.529 0                          0 
          1.25 1.536 0                       1 
          MAGWALL 0.000000
        end
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1.529 0                          0 
          1.25 1.529 0                       0 
          MAGWALL 0.000000
        end
      end
      begin <molab_parms(1.0)>
        1 0 100 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        10 0 120 120  // maxNmodes molabOpt nx ny
        0.8 0 RVEC V2 30 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
      begin <notesTB(1.0)> "For increasing speed & accuracy"
      end
    end
    begin <rwguideNode(1.0)> "Dummy RWG_Air_Gap_Quarter"
      begin <rwg_wguide(1.0)>
        ""      -1000 
        METALWALL 0.000000 // lhs boundary
                1.75            0 1
                   4            0 2
        METALWALL 0.000000 // rhs boundary
        // end of slice list
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1 0                              0 
          1.25 1 0                           1 
          MAGWALL 0.000000
        end
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1 0                              0 
          1.25 1 0                           0 
          MAGWALL 0.000000
        end
      end
      begin <molab_parms(1.0)>
        1 0 100 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1) N(0)  // evstart evend
        200 0 120 120  // maxNmodes molabOpt nx ny
        0.8 0 REFFIDX V3 0 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
      begin <notesTB(1.0)> "Use Effect Index Solver to get all 154 bound TE modes with correct symmetry"
      end
    end
    begin <FPdeviceNode(1.0)> "Dummy Rect WG Quarter Device"
      0.8 //lambda
      begin <FPcomponent(1.0)>
        //list of subelement references follow:
        BEGINLIST
        1
        2
        3
        4
        1
        ENDLIST
        //list of subelements follow:
        begin <FPWGsection(1.0)>
          "../Input_Output_RWG_Quarter" 1  // "wgfilename" length
          // LHS rtRegList follows
          begin <RTregionList(1.0)>
            //rCoeff_re rCoeff_im tCoeff_re tCoeff_im xoff yoff xalign yalign shape pars
          
          end
          // RHS rtRegList follows
          begin <RTregionList(1.0)>
            //rCoeff_re rCoeff_im tCoeff_re tCoeff_im xoff yoff xalign yalign shape pars
          
          end
        end
        begin <FPsimpleJoint(1.0)>
          0 0 0 0 0 0 0 0 0 // xoff yoff xalign yalign h_tilt1 v_tilt1 h_tilt2 v_tilt2 method
        end
        begin <FPWGsection(1.0)>
          "../Dummy RWG_Air_Gap_Quarter" 1  // "wgfilename" length
          // LHS rtRegList follows
          begin <RTregionList(1.0)>
            //rCoeff_re rCoeff_im tCoeff_re tCoeff_im xoff yoff xalign yalign shape pars
          
          end
          // RHS rtRegList follows
          begin <RTregionList(1.0)>
            //rCoeff_re rCoeff_im tCoeff_re tCoeff_im xoff yoff xalign yalign shape pars
          
          end
        end
        begin <FPsimpleJoint(1.0)>
          0 0 0 0 0 0 0 0 0 // xoff yoff xalign yalign h_tilt1 v_tilt1 h_tilt2 v_tilt2 method
        end
      end
      //lhs input field
      begin <FPInputDefinition(2.1)>
        1 //input type
        1 //single mode input
      end
      //rhs input field
      begin <FPInputDefinition(2.1)>
        1 //input type
        0 //single mode input
      end
      begin <notesTB(1.0)> "Exercise - Reduce WG sizes slightly to increase speed"
      end
    end
    begin <FPScanNode(1.0)> "Quarter _RWG_Length_Scanner"
         "Dummy Rect WG Quarter Device" //cdname1
         "REPLICA" //cdname2
         200 //nstep
         0 20 //xstart,xend
         "Length (\mm)" //xlabel
    end
  end
  begin <fimmwave_prj(1.0)> "Sec_3_RWG_Const_Area"
    begin <WGScanNode(1.0)> "Square_to_Rect_WG_Scanner"
         "Square_4x4" //wgname1
         "REPLICA" //wgname2
         0 //stepType
         40  0       " " //nstep,minstep,itpFunction.string
                  1        1.1 //xstart,xend
         "Aspect Ratio" //xlabel
      begin <rwguideNode(1.0)> "REPLICA"
        begin <rwg_wguide(1.0)>
          ""      -1000 
          MAGWALL 0.000000 // lhs boundary
                     2            0 1
                   4.4            0 2
                     2            0 1
          MAGWALL 0.000000 // rhs boundary
          // end of slice list
          begin <slabwg(2.1)>
            MAGWALL 0.000000 
            2 1.45 0                           0 
            4 1.45 0                           0 
            2 1.45 0                           0 
            MAGWALL 0.000000
          end
          begin <slabwg(2.1)>
            METALWALL 0.000000 
            2 1.45 0                           0 
            4 1.5 0                            1 
            2 1.45 0                           0 
            METALWALL 0.000000
          end
        end
        begin <molab_parms(1.0)>
          1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
          N(1e+050) N(-1e+050)  // evstart evend
          8 0 60 60  // maxNmodes molabOpt nx ny
          1.5 0 RVEC V2 50 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
        end
      end
    end
    begin <rwguideNode(1.0)> "Rect_2x8"
      begin <rwg_wguide(1.0)>
        ""      -1000 
        METALWALL 0.000000 // lhs boundary
                   4            0 1
                   2            0 2
                   4            0 1
        METALWALL 0.000000 // rhs boundary
        // end of slice list
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1.45 0                           0 
          8 1.45 0                           0 
          4 1.45 0                           0 
          METALWALL 0.000000
        end
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          4 1.45 0                           0 
          8 1.5 0                            1 
          4 1.45 0                           0 
          METALWALL 0.000000
        end
      end
      begin <molab_parms(1.0)>
        1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        18 0 120 120  // maxNmodes molabOpt nx ny
        1 0 RVEC V2 30 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
    end
    begin <rwguideNode(1.0)> "Rect_8x2"
      begin <rwg_wguide(1.0)>
        ""      -1000 
        METALWALL 0.000000 // lhs boundary
                   4            0 1
                   5            0 2
                   4            0 1
        METALWALL 0.000000 // rhs boundary
        // end of slice list
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          0.1 1 0                            0 
          4 1.45 0                           0 
          3.2 1.45 0                         0 
          4 1.45 0                           0 
          METALWALL 0.000000
        end
        begin <slabwg(2.1)>
          METALWALL 0.000000 
          0.1 1 0                            0 
          4 1.45 0                           0 
          3.2 1.5 0                          1 
          4 1.45 0                           0 
          METALWALL 0.000000
        end
      end
      begin <molab_parms(1.0)>
        1 0 0 100 // autoRun <unused> minTEfrac maxTEfrac
        N(1e+050) N(-1e+050)  // evstart evend
        8 0 120 120  // maxNmodes molabOpt nx ny
        1.5 0 RVEC V2 40 0 1 300 300 15 25 0 5 5  // lambda hCurv solverID solverParms
      end
    end
    begin <rwguideNode(1.0)> "Square_Quarter_Elec_Elec_HE21"
      begin <rwg_wguide(1.0)>
        ""      -1000 
        METALWALL 0.000000 // lhs boundary
                   2            0 1
                   4            0 2
        MAGWALL 0.000000 // rhs boundary
        // end of slice list
        begin <slabwg(2.1)>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -