├── BASS lumerical ├── EME Bragg_EME.lms ├── EME Bragg_EME_p0.log ├── EME shift_Bragg_eme.lms ├── EME shift_Bragg_eme.log └── EME shift_Bragg_eme.lsf ├── Components Library ├── MMI │ ├── 1M2 │ │ ├── EME │ │ │ ├── EME_SB.lsf │ │ │ ├── EME_set.lsf │ │ │ ├── EMEprofile_set.lsf │ │ │ ├── fmsp_set.lsf │ │ │ └── readme │ │ ├── FDTD3 │ │ │ ├── FDTD_set.lsf │ │ │ ├── port_set.lsf │ │ │ ├── profile_set.lsf │ │ │ └── readme │ │ ├── ID │ │ │ ├── Y_ID.lsf │ │ │ └── readme │ │ ├── LV │ │ │ ├── LV_Y_GDS.lsf │ │ │ ├── Y_LV.lsf │ │ │ └── readme │ │ ├── MESH │ │ │ ├── Y_MESH.lsf │ │ │ ├── meshgap.lsf │ │ │ ├── readme │ │ │ └── wholly.lsf │ │ ├── Y_Model.lsf │ │ ├── Y_Wagain.lsf │ │ ├── Y_Wdemo.lsf │ │ ├── brick │ │ │ ├── S2port.lsf │ │ │ ├── Y_Run.lsf │ │ │ ├── hit.lsf │ │ │ ├── hitEME.lsf │ │ │ ├── hitEME_aba.lsf │ │ │ ├── hitFDTD.lsf │ │ │ └── readme │ │ ├── demon │ │ │ ├── matlab │ │ │ │ └── readme │ │ │ ├── readme │ │ │ ├── result │ │ │ │ └── readme │ │ │ └── row │ │ │ │ └── readme │ │ ├── ini │ │ │ ├── Y_Port.lsf │ │ │ ├── Y_QSini.lsf │ │ │ ├── Y_Qini.lsf │ │ │ ├── Y_Qrep.lsf │ │ │ └── readme │ │ ├── ini__.lsf │ │ ├── readme │ │ └── varFDTD │ │ │ ├── port_set.lsf │ │ │ ├── profile_set.lsf │ │ │ ├── pt_set.lsf │ │ │ ├── readme │ │ │ ├── varFDTD_doll_set.lsf │ │ │ └── varFDTD_set.lsf │ └── 2 M 2 (代码) │ │ ├── EME │ │ ├── EME_SB.lsf │ │ ├── EME_set.lsf │ │ ├── EMEprofile_set.lsf │ │ └── fmsp_set.lsf │ │ ├── FDTD3 │ │ ├── FDTD_set.lsf │ │ ├── port_set.lsf │ │ └── profile_set.lsf │ │ ├── ID │ │ └── mmiID.lsf │ │ ├── LV │ │ ├── LVmmiGDS.lsf │ │ └── mmiLV.lsf │ │ ├── MESH │ │ ├── meshMINI.lsf │ │ ├── mmiMESH.lsf │ │ └── wholly.lsf │ │ ├── brick │ │ ├── MMI_post_process.lsf │ │ ├── S2port.lsf │ │ ├── hit.lsf │ │ ├── hitEME.lsf │ │ ├── hitEME_aba.lsf │ │ ├── hitFDTD.lsf │ │ └── mmiRun.lsf │ │ ├── ini │ │ ├── mmiPort.lsf │ │ ├── mmiQSini.lsf │ │ ├── mmiQini.lsf │ │ └── mmiQrep.lsf │ │ ├── ini__.lsf │ │ ├── mmiGDSdemo.lsf │ │ ├── mmiModel.lsf │ │ ├── mmiWagain.lsf │ │ ├── mmiWdemo.lsf │ │ └── varFDTD │ │ ├── profile_set.lsf │ │ ├── pt_set.lsf │ │ ├── varFDTD_doll_set.lsf │ │ └── varFDTD_set.lsf ├── tirdent-WG PBS │ ├── N WGs (code) │ │ ├── EME │ │ │ ├── EME_SB.lsf │ │ │ ├── EME_set.lsf │ │ │ ├── EMEprofile_set.lsf │ │ │ ├── fmsp_set.lsf │ │ │ └── new │ │ ├── FDTD3 │ │ │ ├── FDTD_set.lsf │ │ │ ├── port_set.lsf │ │ │ └── profile_set.lsf │ │ ├── ID │ │ │ ├── TWgID.lsf │ │ │ └── new │ │ ├── LV │ │ │ ├── LVTwgGDS.lsf │ │ │ ├── TWgLV.lsf │ │ │ └── readme │ │ ├── MESH │ │ │ ├── TWgMESH.lsf │ │ │ └── readme │ │ ├── TWgForGDS.lsf │ │ ├── TWgModel.lsf │ │ ├── TWgOSA.lsf │ │ ├── TWgWagain.lsf │ │ ├── TWgWdemo.lsf │ │ ├── brick │ │ │ ├── S2port.lsf │ │ │ ├── TWgRun.lsf │ │ │ ├── hit.lsf │ │ │ ├── hitEME.lsf │ │ │ ├── hitFDTD.lsf │ │ │ └── new │ │ ├── dish │ │ │ ├── Coarse -- 2021 │ │ │ │ ├── SR middle 500 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 500 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 502 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 504 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 506 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 508 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 510 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 512 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 514 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 516 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 518 nm gap 460 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 440 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 442 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 444 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 446 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 448 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 450 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 452 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 454 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 456 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 458 nm.jpg │ │ │ │ ├── SR middle 520 nm gap 460 nm.jpg │ │ │ │ └── readme │ │ │ ├── SR middle 500 nm gap 440 nm.jpg │ │ │ ├── SR middle 500 nm gap 442 nm.jpg │ │ │ ├── SR middle 500 nm gap 444 nm.jpg │ │ │ ├── SR middle 500 nm gap 446 nm.jpg │ │ │ ├── SR middle 500 nm gap 448 nm.jpg │ │ │ ├── SR middle 500 nm gap 450 nm.jpg │ │ │ ├── SR middle 500 nm gap 452 nm.jpg │ │ │ ├── SR middle 500 nm gap 454 nm.jpg │ │ │ ├── SR middle 500 nm gap 456 nm.jpg │ │ │ ├── SR middle 500 nm gap 458 nm.jpg │ │ │ ├── SR middle 500 nm gap 460 nm.jpg │ │ │ ├── SR middle 501 nm gap 440 nm.jpg │ │ │ ├── SR middle 501 nm gap 442 nm.jpg │ │ │ ├── SR middle 501 nm gap 444 nm.jpg │ │ │ ├── SR middle 501 nm gap 446 nm.jpg │ │ │ ├── SR middle 501 nm gap 448 nm.jpg │ │ │ ├── SR middle 501 nm gap 450 nm.jpg │ │ │ ├── SR middle 501 nm gap 452 nm.jpg │ │ │ ├── SR middle 501 nm gap 454 nm.jpg │ │ │ ├── SR middle 501 nm gap 456 nm.jpg │ │ │ ├── SR middle 501 nm gap 458 nm.jpg │ │ │ ├── SR middle 501 nm gap 460 nm.jpg │ │ │ ├── SR middle 502 nm gap 440 nm.jpg │ │ │ ├── SR middle 502 nm gap 442 nm.jpg │ │ │ ├── SR middle 502 nm gap 444 nm.jpg │ │ │ ├── SR middle 502 nm gap 446 nm.jpg │ │ │ ├── SR middle 502 nm gap 448 nm.jpg │ │ │ ├── SR middle 502 nm gap 450 nm.jpg │ │ │ ├── SR middle 502 nm gap 452 nm.jpg │ │ │ ├── SR middle 502 nm gap 454 nm.jpg │ │ │ ├── SR middle 502 nm gap 456 nm.jpg │ │ │ ├── SR middle 502 nm gap 458 nm.jpg │ │ │ ├── SR middle 502 nm gap 460 nm.jpg │ │ │ ├── SR middle 503 nm gap 440 nm.jpg │ │ │ ├── SR middle 503 nm gap 442 nm.jpg │ │ │ ├── SR middle 503 nm gap 444 nm.jpg │ │ │ ├── SR middle 503 nm gap 446 nm.jpg │ │ │ ├── SR middle 503 nm gap 448 nm.jpg │ │ │ ├── SR middle 503 nm gap 450 nm.jpg │ │ │ ├── SR middle 503 nm gap 452 nm.jpg │ │ │ ├── SR middle 503 nm gap 454 nm.jpg │ │ │ ├── SR middle 503 nm gap 456 nm.jpg │ │ │ ├── SR middle 503 nm gap 458 nm.jpg │ │ │ ├── SR middle 503 nm gap 460 nm.jpg │ │ │ ├── SR middle 504 nm gap 440 nm.jpg │ │ │ ├── SR middle 504 nm gap 442 nm.jpg │ │ │ ├── SR middle 504 nm gap 444 nm.jpg │ │ │ ├── SR middle 504 nm gap 446 nm.jpg │ │ │ ├── SR middle 504 nm gap 448 nm.jpg │ │ │ ├── SR middle 504 nm gap 450 nm.jpg │ │ │ ├── SR middle 504 nm gap 452 nm.jpg │ │ │ ├── SR middle 504 nm gap 454 nm.jpg │ │ │ ├── SR middle 504 nm gap 456 nm.jpg │ │ │ ├── SR middle 504 nm gap 458 nm.jpg │ │ │ ├── SR middle 504 nm gap 460 nm.jpg │ │ │ ├── SR middle 505 nm gap 440 nm.jpg │ │ │ ├── SR middle 505 nm gap 442 nm.jpg │ │ │ ├── SR middle 505 nm gap 444 nm.jpg │ │ │ ├── SR middle 505 nm gap 446 nm.jpg │ │ │ ├── SR middle 505 nm gap 448 nm.jpg │ │ │ ├── SR middle 505 nm gap 450 nm.jpg │ │ │ ├── SR middle 505 nm gap 452 nm.jpg │ │ │ ├── SR middle 505 nm gap 454 nm.jpg │ │ │ ├── SR middle 505 nm gap 456 nm.jpg │ │ │ ├── SR middle 505 nm gap 458 nm.jpg │ │ │ ├── SR middle 505 nm gap 460 nm.jpg │ │ │ ├── SR middle 506 nm gap 440 nm.jpg │ │ │ ├── SR middle 506 nm gap 442 nm.jpg │ │ │ ├── SR middle 506 nm gap 444 nm.jpg │ │ │ ├── SR middle 506 nm gap 446 nm.jpg │ │ │ ├── SR middle 506 nm gap 448 nm.jpg │ │ │ ├── SR middle 506 nm gap 450 nm.jpg │ │ │ ├── SR middle 506 nm gap 452 nm.jpg │ │ │ ├── SR middle 506 nm gap 454 nm.jpg │ │ │ ├── SR middle 506 nm gap 456 nm.jpg │ │ │ ├── SR middle 506 nm gap 458 nm.jpg │ │ │ ├── SR middle 506 nm gap 460 nm.jpg │ │ │ ├── SR middle 507 nm gap 440 nm.jpg │ │ │ ├── SR middle 507 nm gap 442 nm.jpg │ │ │ ├── SR middle 507 nm gap 444 nm.jpg │ │ │ ├── SR middle 507 nm gap 446 nm.jpg │ │ │ ├── SR middle 507 nm gap 448 nm.jpg │ │ │ ├── SR middle 507 nm gap 450 nm.jpg │ │ │ ├── SR middle 507 nm gap 452 nm.jpg │ │ │ ├── SR middle 507 nm gap 454 nm.jpg │ │ │ ├── SR middle 507 nm gap 456 nm.jpg │ │ │ ├── SR middle 507 nm gap 458 nm.jpg │ │ │ ├── SR middle 507 nm gap 460 nm.jpg │ │ │ └── new │ │ ├── ini │ │ │ ├── TWgPort.lsf │ │ │ ├── TWgQSini.lsf │ │ │ ├── TWgQini.lsf │ │ │ ├── TWgQrep.lsf │ │ │ └── readme │ │ ├── ini__.lsf │ │ ├── saomiao │ │ │ ├── readme │ │ │ └── saomiao │ │ │ │ ├── TWgAA.lsf │ │ │ │ └── TWgAA_FDTD3.lsf │ │ └── varFDTD │ │ │ ├── port_set.lsf │ │ │ ├── profile_set.lsf │ │ │ ├── pt_set.lsf │ │ │ ├── readme │ │ │ ├── varFDTD_doll_set.lsf │ │ │ └── varFDTD_set.lsf │ └── readme ├── waveguide crossing │ ├── EME │ │ ├── EME_SB.lsf │ │ ├── EME_set.lsf │ │ ├── EMEprofile_set.lsf │ │ └── fmsp_set.lsf │ ├── FDTD3 │ │ ├── FDTD_set.lsf │ │ ├── port_set.lsf │ │ └── profile_set.lsf │ ├── ID │ │ └── crossingID.lsf │ ├── LV │ │ ├── LVcrossingGDS.lsf │ │ └── crossingLV.lsf │ ├── MESH │ │ ├── crossingMESH.lsf │ │ └── meshgap.lsf │ ├── brick │ │ ├── S2port.lsf │ │ ├── hit.lsf │ │ ├── hitEME.lsf │ │ ├── hitEME_aba.lsf │ │ └── hitFDTD.lsf │ ├── crossingModel.lsf │ ├── crossingWagain.lsf │ ├── crossingWdemo.lsf │ ├── ini │ │ ├── crossingPort.lsf │ │ ├── crossingQSini.lsf │ │ ├── crossingQini.lsf │ │ └── crossingQrep.lsf │ ├── ini__.lsf │ └── varFDTD │ │ ├── port_set.lsf │ │ ├── profile_set.lsf │ │ ├── pt_set.lsf │ │ ├── varFDTD_doll_set.lsf │ │ └── varFDTD_set.lsf └── waveguide │ ├── FDE │ └── FDE_set.lsf │ ├── ID │ └── wgID.lsf │ ├── LV │ └── wgLV.lsf │ ├── Lumerical App home │ ├── WG_width_sweep.lms │ ├── WG_width_sweep.lsf │ ├── WG_width_sweep_MODE_backup.lms │ └── WG_width_sweep_MODE_backup_MODE_backup.lms │ ├── MC │ └── wg_waCve.lsf │ ├── ModeSmooth.m │ ├── TEx.m │ ├── brick │ ├── _wgSWradius.lsf │ ├── _wgSWradiusXwaCveA.lsf │ ├── _wgSWradiusXwaCveB.lsf │ ├── hit.lsf │ └── hitEME.lsf │ ├── ini │ ├── wgPort.lsf │ ├── wgQSini.lsf │ ├── wgQini.lsf │ └── wgQrep.lsf │ ├── ini__.lsf │ ├── loadF.m │ ├── poly │ ├── Giant.lsf │ ├── wgSWradius.lsf │ ├── wgSWradiusXwaCveA.lsf │ └── wgSWradiusXwaCveB.lsf │ ├── test_PM.m │ ├── wgModel.lsf │ ├── wgWagain.lsf │ ├── wgWdemo.lsf │ ├── wg_2D_neff_sweep_width.lsf │ └── wg_waCve.lnk ├── PIC_material └── materials │ └── materialsQini.lsf ├── README.md ├── syntax highlight plugins ├── notepad++ │ ├── lumerical.xml │ └── readme └── readme └── weapon ├── Gaint.lsf └── folderNew.lsf /BASS lumerical/EME Bragg_EME.lms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/BASS lumerical/EME Bragg_EME.lms -------------------------------------------------------------------------------- /BASS lumerical/EME shift_Bragg_eme.lms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/BASS lumerical/EME shift_Bragg_eme.lms -------------------------------------------------------------------------------- /BASS lumerical/EME shift_Bragg_eme.lsf: -------------------------------------------------------------------------------- 1 | lambda_min = 1.5e-6; 2 | lambda_max = 1.6e-6; 3 | freq_points = 501; 4 | wl=linspace(lambda_min,lambda_max,freq_points); 5 | p = 100; 6 | #p=[10,30,50,100,200,500,1000]; # specify an arbitrary number of periods. 7 | T = matrix(freq_points,length(p)); 8 | 9 | switchtolayout; 10 | setnamed('EME','wavelength',mean(wl)); 11 | run; 12 | 13 | setemeanalysis("update monitors",false); # saves time 14 | setemeanalysis("include slow diagnostics",false); # saves time 15 | setemeanalysis("include fast diagnostics",false); # saves time 16 | setemeanalysis("calculate group delays",false); # saves time 17 | 18 | setemeanalysis("override wavelength",true); 19 | for(ii=1:freq_points){ 20 | str=num2str(ii)+'/'+num2str(freq_points); 21 | ?str; 22 | setemeanalysis('wavelength',wl(ii)); 23 | 24 | 25 | for (i=1:length(p)){ 26 | setemeanalysis('override periodicity',true); 27 | setemeanalysis('periods',[p(i);p(i)]); 28 | emepropagate; 29 | S = getresult('EME','user s matrix'); 30 | T(ii,i) = abs(S(2,1))^2; 31 | } 32 | } 33 | setemeanalysis("override wavelength",false); 34 | 35 | plot(wl*1e6,T,'wavelength (um)','T'); 36 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/EME/EME_SB.lsf: -------------------------------------------------------------------------------- 1 | 2 | addfde; 3 | set("solver type", "2D X normal"); 4 | set("x", port2X+margSlover ); 5 | set("y", port2Y ); set("y span", widthC+2*marg ); 6 | set("z", 0 ); set("z span", boundaryZ ); 7 | set('define y mesh by' , 'maximum mesh step'); 8 | set('define z mesh by' , 'maximum mesh step'); 9 | set("dy", 20e-9 ); set("dz", 20e-9 ); 10 | set("wavelength", waCve); 11 | set("number of trial modes" , 10 ); 12 | findmodes; 13 | selectmode(2); 14 | # 擦屁股 15 | switchtolayout; 16 | setactivesolver("EME"); 17 | 18 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/EME/EME_set.lsf: -------------------------------------------------------------------------------- 1 | profile_set = 1; 2 | # EME 内部参数 3 | Xin = port1X-nail; # EME 左侧输入 4 | emeSB = port1Y; # EME 中心坐标 Y 5 | 6 | Ddev = round((abs(widthMM-width))*G/25); 7 | if (Ddev < 20) 8 | { 9 | Ddev = 20; 10 | } 11 | DdevB = round((abs(widthMM/2-gap-width))*G/10); 12 | if (DdevB < 20) 13 | { 14 | DdevB = 20; 15 | } 16 | if ( (abs(widthMM/2-gap-width))*G <= 1 ) 17 | { 18 | DdevB = 1; 19 | } 20 | CellL = [ nail ; JR ; lengthMM ; JRada ; nail ]; 21 | comboL = [ 1 ; Ddev ; 1 ; DdevB ; 1 ]; # 中间的器件被平均分为 Ddev 个 subcells 22 | methodL = [ 0 ; 1 ; 1 ; 1 ; 0 ]; # 0 = none 23 | # 1 = CVCS 24 | # 求解器,端口 25 | feval(pathB+'\EME'+'\' + 'fmsp_set'); 26 | if (profile_opt == 1) 27 | {# 轮廓监视器 28 | feval(pathB+'\EME'+'\' + 'EMEprofile_set' ); 29 | } 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/EME/EMEprofile_set.lsf: -------------------------------------------------------------------------------- 1 | select(solver); 2 | xB = get('x span'); 3 | Xmid = Xin + xB/2; 4 | Xout = Xin + xB; 5 | yB = get('y span'); 6 | # 轮廓监视器 7 | if (add_opt==0) 8 | { 9 | addemeprofile; 10 | set('name','top-down field');# 俯视图 11 | set('monitor type','2D Z-normal'); 12 | set('x', Xmid ); set('x span', xB ); 13 | set('y', boundYC ); set('y span', yB ); 14 | set('z', 0); 15 | 16 | addemeprofile; 17 | set('name','input----cross-section field');# 截面图 18 | set('monitor type','2D X-normal'); 19 | set('x', Xin ); 20 | set('y', boundYC ); set('y span',yB ); 21 | set('z',0); set('z span',thick+2*marg); 22 | 23 | addemeprofile; 24 | set('name','middle----cross-section field');# 截面图 25 | set('monitor type','2D X-normal'); 26 | set('x', Xin+nail + JR+lengthMM ); 27 | set('y', boundYC ); set('y span',yB ); 28 | set('z',0); set('z span',thick+2*marg); 29 | 30 | addemeprofile; 31 | set('name','output----cross-section field');# 截面图 32 | set('monitor type','2D X-normal'); 33 | set('x', Xout ); 34 | set('y', boundYC ); set('y span',yB ); 35 | set('z',0); set('z span',thick+2*marg); 36 | } 37 | else 38 | { 39 | select('top-down field');# 俯视图 40 | set('monitor type','2D Z-normal'); 41 | set('x', Xmid ); set('x span', xB ); 42 | set('y', boundYC ); set('y span', yB ); 43 | set('z', 0); 44 | 45 | select('input----cross-section field');# 截面图 46 | set('monitor type','2D X-normal'); 47 | set('x', Xin ); 48 | set('y', boundYC ); set('y span',yB ); 49 | set('z',0); set('z span',thick+2*marg); 50 | 51 | select('middle----cross-section field');# 截面图 52 | set('monitor type','2D X-normal'); 53 | set('x', Xin+nail + JR+lengthMM ); 54 | set('y', boundYC ); set('y span',yB ); 55 | set('z',0); set('z span',thick+2*marg); 56 | 57 | select('output----cross-section field');# 截面图 58 | set('monitor type','2D X-normal'); 59 | set('x', Xout ); 60 | set('y', boundYC ); set('y span',yB ); 61 | set('z',0); set('z span',thick+2*marg); 62 | } 63 | 64 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/EME/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/FDTD3/FDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addfdtd; 6 | set('dimension','3D'); 7 | } 8 | else 9 | { 10 | select('FDTD'); 11 | } 12 | set('simulation time',sim_time); 13 | set('dt stability factor',dt); 14 | 15 | 16 | set('x min', port1X-margSlover ); set('x max' , port2X+margSlover ); 17 | set('y min', port4Y-margSlover ); set('y max' , port3Y+margSlover ); 18 | set('z',0); set('z span',boundaryZ); 19 | # set('min mesh step',100e-9); 20 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 3 21 | set('x min bc','PML'); set('x max bc','PML'); 22 | set('y min bc','PML'); set('y max bc','PML'); 23 | set('z min bc','PML'); set('z max bc','PML'); 24 | 25 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/FDTD3/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # FDTD 的轮廓监视器,取相对坐标 2 | temp = 11; # 默认取11个频点 3 | select('FDTD'); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | if(add_opt==1) 7 | { 8 | select('top-down field'); 9 | } 10 | else 11 | { 12 | addprofile; 13 | } 14 | set('name','top-down field'); 15 | set('monitor type','2D Z-normal');# 俯视图 16 | set('x min', x); set('x max' , xB); 17 | set('y',y ); set('y span',yB); 18 | set('override global monitor settings',1); 19 | set('use linear wavelength spacing',1); 20 | set('frequency points',temp); 21 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/FDTD3/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ID/Y_ID.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 根据器件参数,定义文件名,为避免同名覆盖 3 | fileT = ''; 4 | fileT = fileT + ' '+Mtype; 5 | if (Smode == TE) 6 | { 7 | temp = ' TE'; 8 | } 9 | else 10 | { 11 | temp = 'TM'; 12 | } 13 | fileT = fileT + temp; 14 | if (solver_opt == 2) 15 | { 16 | fileT = fileT + ' EME'; 17 | } 18 | else if (solver_opt == 3) 19 | { 20 | fileT = fileT + ' FDTD3'; 21 | } 22 | if (clad_opt==1) 23 | { 24 | fileT = fileT + ' clad'; 25 | } 26 | file = file + fileT; -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ID/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/LV/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/MESH/Y_MESH.lsf: -------------------------------------------------------------------------------- 1 | if (solver_opt~=2) 2 | { 3 | # feval(pathB+'\MESH'+'\' + 'meshgap' ); 4 | feval(pathB+'\MESH'+'\' + 'wholly' ); 5 | } 6 | else 7 | { 8 | # 网格设置:不同的器件设置不同密度的网格,网格尺寸必须是器件最小特征尺寸的整数分之一 9 | # Lumerical默认网格覆盖,所以,建议先绘制全局的粗网格,再利用独立脚本绘制局部的细网格 10 | NT1 = 'waveguide'; 11 | # 按照 特征尺寸 定义 网格尺寸 12 | wovX = 5; # 每个 特征尺寸X wovX 等分 13 | wovY = 25; # 每个 特征尺寸Y wovY 等分 14 | wovZ = 22; # 每个 特征尺寸Z wovZ 等分 15 | if ( solver_opt!=2 ) 16 | {# FDTD 仿真 17 | wovX = 5; 18 | wovY = 10; 19 | wovZ = 4; 20 | } 21 | mesh_override_dx = pitchX / wovX; # X方向,长度方向 22 | mesh_override_dy = pitchY / wovY; # Y方向,截面水平方向 23 | mesh_override_dz = pitchZ / wovZ; # Z方向,截面垂直方向 24 | if (add_opt==0) 25 | { 26 | addmesh; # 根据结构设置网格 27 | set('based on a structure', 1); 28 | set('structure', DEV); 29 | set('dx',mesh_override_dx); 30 | set('dy',mesh_override_dy); 31 | set('dz',mesh_override_dz); 32 | set("name",NT1); 33 | } 34 | else 35 | { 36 | # 方式1:根据结构设置网格 37 | select(NT1); 38 | set('based on a structure', 1); 39 | set('structure', DEV); 40 | set('dx',mesh_override_dx); 41 | set('dy',mesh_override_dy); 42 | set('dz',mesh_override_dz); 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/MESH/meshgap.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 直接定义网格尺寸 3 | wovX = 2; # 每个 特征尺寸X wovX 等分 4 | wovGap = 4; 5 | wovZ = 4; # 每个 特征尺寸Z wovZ 等分 6 | mesh_override_dx = pitchX / wovX; 7 | gapDY = gap/wovGap; 8 | mesh_override_dz = pitchZ / wovZ; 9 | 10 | NT2 = 'gap'; 11 | len = 28.5e-6; 12 | widthMM = 1240e-9; 13 | addmesh; 14 | set('x min', ExcitP );set('x max', ExcitP + len ); 15 | set('y min', ExcitQ + widthMM/2 );set('y max', ExcitQ+widthMM/2 + gap ); 16 | set('z',0);set('z span',pitchZ + 2*mesh_override_dz); 17 | set('dx',mesh_override_dx); 18 | set('dy',gapDY); 19 | set('dz',mesh_override_dz); 20 | set("name",NT2); 21 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/MESH/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/MESH/wholly.lsf: -------------------------------------------------------------------------------- 1 | # 定义一整块网格 2 | NTly = 'wholly'; 3 | select(solver); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | # 直接定义网格尺寸 7 | wovZ = 5; 8 | mx = 50e-9; 9 | my = 50e-9; 10 | mz = pitchZ / wovZ; 11 | if ( add_opt == 0 ) 12 | { 13 | addmesh; 14 | set("name",NTly); 15 | set('x min', x);set('x max' , xB); 16 | set('y', y); set('y span',yB); 17 | set('z', 0); set('z span',pitchZ + 2*mz); 18 | set('dx',mx); 19 | set('dy',my); 20 | set('dz',mz); 21 | } 22 | else 23 | { 24 | select(NTly); 25 | set('x min', x);set('x max' , xB); 26 | set('y', y); set('y span',yB); 27 | set('z', 0); set('z span',pitchZ + 2*mz); 28 | set('dx',mx); 29 | set('dy',my); 30 | set('dz',mz); 31 | } -------------------------------------------------------------------------------- /Components Library/MMI/1M2/Y_Model.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 建模 2 | if ( add_opt == 0 ) 3 | { 4 | feval(pathB+'\ini'+'\' + 'Y_Qini' ); 5 | feval(pathB+'\ini'+'\' + 'Y_Qrep' ); 6 | feval(mater+'\'+ 'materialsQini' ); 7 | if (gds_opt==1) 8 | { 9 | feval(pathB+'\LV'+'\' + 'LVY_GDS' ); 10 | } 11 | else 12 | { 13 | feval(pathB+'\LV'+'\' + 'Y_LV' ); 14 | } 15 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); 16 | feval(pathB+'\MESH'+'\' + 'Y_MESH' ); 17 | } 18 | else 19 | { 20 | feval(pathB+'\ini'+'\' + 'Y_QSini' ); 21 | switchtolayout; 22 | if (gds_opt==1) 23 | { 24 | feval(pathB+'\LV'+'\' + 'LVY_GDS' ); 25 | } 26 | else 27 | { 28 | feval(pathB+'\LV'+'\' + 'Y_LV' ); 29 | } 30 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); 31 | feval(pathB+'\MESH'+'\' + 'Y_MESH' ); 32 | } 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/Y_Wagain.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical仿真 ADC 2 | # clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | pathB = filedirectory(currentscriptname); 6 | feval(pathB+'\' + 'ini__'); 7 | feval(pathB+'\ini\' + 'Y_Qini'); 8 | feval(pathB+'\ini\' + 'Y_Qrep'); 9 | gds_opt = 0; 10 | add_opt = 1; 11 | solver_opt = 2; 12 | Mtype = 'Si'; 13 | #width = 500e-9; 14 | #JR = 2.4e-6; 15 | #widthMM = 2.2e-6; 16 | gap = 200e-9; 17 | 18 | feval(pathB+'\' + 'Y_Model'); 19 | 20 | file = DEV+' '+num2str(JR*G) + ' gap_' + num2str(gap*G)+'_nm'; 21 | feval(pathB+'\ID'+'\' + 'Y_ID' ); 22 | # save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 23 | 24 | ## ######################### 25 | feval(pathB+'\brick'+'\' + 'Y_Run' ); 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/Y_Wdemo.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical 仿真 波导交叉 2 | clear;closeall; 3 | ############################################### 4 | pathB = filedirectory(currentscriptname); 5 | feval(pathB+'\' + 'ini__' ); 6 | newproject; 7 | add_opt = 0; 8 | feval(pathB+'\' + 'Y_Model' ); 9 | 10 | file = DEV+' '+num2str(JR*G) + ' gap_' + num2str(gap*G)+'_nm'; 11 | # file = fileC; 12 | feval(pathB+'\ID'+'\' + 'Y_ID' ); 13 | save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 14 | 15 | ##执行仿真 16 | # feval(pathB+'\brick'+'\' + 'Y_Run' ); -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/S2port.lsf: -------------------------------------------------------------------------------- 1 | # 从模式端口提取 S参数 2 | Port1 = getresult('expansion','expansion for Port1expa'); 3 | po1 = Port1.T_net; # laser input 4 | po0 = Port1.T_backward; # laser reflection 5 | 6 | # response of bar 7 | Port2 = getresult('expansion','expansion for Port2expa'); 8 | po2 = Port2.T_forward; # laser output ---- bar 9 | plot(waveA*G,10*log10(abs(po2(:,1)/po1(:,1))),10*log10(abs(po2(:,2)/po1(:,1)))); 10 | 11 | # response of cross 12 | Port3 = getresult('expansion_','expansion for Port3expa'); 13 | po3 = Port3.T_forward; # laser output ---- bar 14 | plot(waveA*G,10*log10(abs(po3(:,1)/po1(:,1))),10*log10(abs(po3(:,2)/po1(:,1)))); 15 | 16 | # response of refection 17 | plot(waveA*G,10*log10(abs(po0(:,1)/po1(:,1))),10*log10(abs(po0(:,2)/po1(:,1)))); 18 | 19 | 20 | 21 | 22 | # plot(linspace(waveMIN,waveMAX,Dwave)*G,10*log10(po1)); 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/Y_Run.lsf: -------------------------------------------------------------------------------- 1 | 2 | run; 3 | if( solver_opt == 2 ) 4 | { # EME 5 | if ( wave_opt>0 ) 6 | {# 是否扫描波长,2020新功能 ,忽略了波导色散,仿真耦合器件不准 7 | setemeanalysis("wavelength sweep",1); 8 | setemeanalysis("start wavelength",waveMIN); 9 | setemeanalysis("stop wavelength",waveMAX); 10 | setemeanalysis("number of wavelength points",Dwave); 11 | setemeanalysis("calculate group delays",GD_opt); 12 | emesweep("wavelength sweep"); 13 | } 14 | else 15 | if (length_opt>0) 16 | {# 长度扫描 17 | setemeanalysis('parameter','group span 3'); 18 | emesweep('propagation sweep'); 19 | } 20 | feval(pathB+lowerical+'\'+ 'hitEME' ); # 提取 EME S参数 21 | } 22 | else 23 | { # varFDTD or FDTD 24 | if ( Sp_opt==0 ) 25 | { 26 | feval(pathB+lowerical+'\'+ 'hitFDTD' ); # 提取 FDTD 频域监视器参数 27 | } 28 | else 29 | { 30 | feval(pathB+lowerical+'\'+ 'S2port' ); # 提取 mode expansion 监视器 S参数 31 | } 32 | } 33 | matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/hit.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/hitEME.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | 3 | if (wave_opt == 0) 4 | { 5 | Se = getemesweep("S"); # 获取长度扫描信息 6 | } 7 | else 8 | { 9 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 10 | } 11 | 12 | # 散射系数 13 | sc21 = Se.s21; # 下路 14 | sc31 = Se.s31; # 上路 15 | # 功率传输 16 | po21 = abs(sc21)^2; 17 | po31 = abs(sc31)^2; 18 | # 相位 19 | ph21 = angle(sc21); 20 | ph31 = angle(sc31); 21 | 22 | 23 | # 循环时,请注释掉 24 | plot( lengthMMA*M, 10*log10(po21), 10*log10(po31) ); -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/hitEME_aba.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | waveA = linspace(waveMIN,waveMAX,Dwave); 3 | 4 | if (wave_opt == 0) 5 | { 6 | Se = getemesweep("S"); # 获取长度扫描信息 7 | } 8 | else 9 | { 10 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 11 | } 12 | 13 | # 散射系数 14 | sc21 = Se.s21; # TE0-TE1 前向模式转换 15 | sc11 = Se.s11; # TE0-TE0 基模反射 16 | # 功率传输 17 | po21 = abs(sc21)^2; 18 | po11 = abs(sc11)^2; 19 | # 相位 20 | ph21 = angle(sc21); 21 | ph11 = angle(sc11); -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/hitFDTD.lsf: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 提取 FDTD 数据 4 | 5 | 6 | 7 | laser = transmission('laser'); 8 | po3 = transmission('cross')/laser; 9 | po2 = transmission('bar')/laser; 10 | 11 | 12 | 13 | 14 | 15 | 16 | # 在循环时,请注释掉 17 | waveA = linspace(waveMIN,waveMAX,Dwave); 18 | plot(waveA*G,10*log10(abs(po3)),10*log10(po2)); 19 | matlabsave(pathB+demon+pfolderExport+'\' + file ); 20 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/brick/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/demon/matlab/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/demon/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/demon/result/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/demon/row/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini/Y_Port.lsf: -------------------------------------------------------------------------------- 1 | # 端口 2 | # ------------------------ 3 | # -- ---------- port3 4 | # port1 ----- 5 | # -- ---------- port2 6 | # ------------------------- 7 | port1X = ExcitP; # 输入端 8 | port1Y = ExcitQ; 9 | port2X = ExcitP+lengthDEV; # 直通端 10 | port2Y = port1Y-(gap+widthTAP)/2; 11 | port3X = ExcitP+lengthDEV; # 交叉端 12 | port3Y = port1Y+(gap+widthTAP)/2; 13 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini/Y_QSini.lsf: -------------------------------------------------------------------------------- 1 | # 高阶参数 (根据初始参数自动生成) 2 | widthDEV = widthMM; 3 | widthTAP = (widthMM-gap)/2; 4 | if ( (widthTAP-width)*G <=1 ) 5 | { 6 | JRada = 0; 7 | } 8 | lengthDEV = JR+lengthMM + JRada; # 器件长度 9 | feval(pathB+'\ini'+'\' + 'Y_Port' ); 10 | 11 | # LV 参数 12 | xmin = port1X - lengthE; # 最左边 13 | xmax = port2X + lengthE; # 最右边 14 | lengthTOTAL = xmax - xmin; # 器件总长度( Device+两侧的直波导 ) 15 | widthB = widthDEV + 2*widthE; # 衬底宽度 16 | 17 | # solver 参数 18 | Dwave = floor((waveMAX-waveMIN)*DwaveU*G)+1; # 波长采样点数 19 | boundYC = port1Y; 20 | boundaryY = widthDEV + 2*TMD*marg; # 仿真区域Y边缘参数,若FDTD发散,请加大此边界 21 | boundaryZ = thick + 2*marg; # 仿真区域Z边缘参数 22 | 23 | # 网格参数 -- 器件的特征尺寸 24 | pitchX = 100e-9; 25 | pitchY = width; 26 | pitchZ = thick; 27 | 28 | 29 | waveA = linspace(waveMIN,waveMAX,Dwave); 30 | lengthMMA = linspace(lengthMMMIN,lengthMMMAX,DlengthMM); 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini/Y_Qini.lsf: -------------------------------------------------------------------------------- 1 | # 单位常量 2 | K = 1e3; 3 | M = 1e6; 4 | G = 1e9; 5 | MM = M*M; 6 | # 材料参数 7 | material_BOX = 'SiO2 (Glass) - Const'; 8 | material_Si = 'Si (Silicon) - Palik'; # from lumerical MB 9 | material_SiN = 'Si3N4 - const'; # nSiN = 10 | TE = 1; 11 | TM = 2; 12 | # DEV参数 13 | DEV = 'MMI 1M2'; 14 | Mtype = 'Si'; 15 | thick = 220e-9; # 波导厚度 16 | thickB = 3e-6; # 衬底厚度 17 | clad = 3e-6; # 包层厚度 18 | ExcitP = 0; # 器件初始 X 坐标 19 | ExcitQ = 0; # 器件初始 Y 坐标 20 | width = 500e-9; # 波导宽度 21 | widthMM = 1350e-9; 22 | JR = 1300e-9; # taper 长度 , 非绝热 23 | JRada = 10e-6; # 尾端的 taper 长度 24 | lengthMM = 5000e-9; # 多模波导长度 25 | gap = 200e-9; 26 | lengthE = 3e-6; # 器件沿长度方向的加长 27 | widthE = 5e-6; # 衬底沿宽度方向的加宽 28 | # 求解器参数 29 | waveMIN = 1400e-9; 30 | waveMAX = 1700e-9; 31 | waCve = 1550e-9; 32 | DwaveU = 1; # 每单位波长采样点数 33 | lengthMMMIN = 4000e-9; 34 | lengthMMMAX = 6000e-9; 35 | DlengthMM = 201; 36 | donor = 0.5; # 光源位置参数 , 用于 FDTD 37 | sensor = 1/2*(1+donor); # 监视器位置参数,用于FDTD 38 | nail = 10e-9; # EME 的指甲 39 | TMD = 3; 40 | marg = 1e-6; # 仿真区域YZ边缘参数,大于最大的仿真波长 41 | margSlover = 2e-6; # 光源,求解器位置参数,一般不要动 42 | Mesh_level = 2; # 网格等级 43 | sim_time = 18000e-15; # 仿真时间 44 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 45 | # 选项 46 | clad_opt = 1; # 是否加clad 47 | pt_opt = 1; # 弃用--If true , 设置功率,时间监视器 ; 否则 , 设置端口 48 | profile_opt = 0; # 是否计算电场轮廓 49 | GD_opt = 0; # 是否计算群时延 , 用于 EME 求解器 50 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 51 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 52 | Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 53 | solver_opt = 1; # 采用何种求解器 54 | # 1 = var-FDTD 55 | # 2 = EME 56 | # 3 = 3D-FDTD 57 | Smode = TE; # 选择模式 58 | add_opt = 0; # 用于参数扫描 59 | # 0 = add(object) 60 | # 1 = select(object) 61 | gds_opt = 0; 62 | # 高阶参数 (根据初始参数自动生成) 63 | feval(pathB+'\ini'+'\' + 'Y_QSini' ); 64 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini/Y_Qrep.lsf: -------------------------------------------------------------------------------- 1 | # DEV参数 2 | JRada = 10e-6; # 尾端的 taper 长度 3 | Mtype = 'Si'; 4 | if (Mtype == 'Si') 5 | { 6 | thick = 220e-9; 7 | width = 500e-9; 8 | core = material_Si; 9 | widthMM = 1200e-9; 10 | JR = 800e-9; # taper 长度 , 非绝热 11 | lengthMM = 2e-6; # TE 12 | lengthMMMIN = 0e-6; 13 | lengthMMMAX = 4e-6; 14 | fileC = 'swg_cross_cband_te'; 15 | filename = 'D:\codes\specific language\lumerical\simulation note\Si-Si3N4 WGX\waveguide crossing\gds\' + fileC + '.gds'; 16 | cellname = fileC; # 弯曲定向耦合器 17 | ltype = '171:0'; 18 | } 19 | else if (Mtype == 'SiN') 20 | { 21 | thick = 400e-9; 22 | width = 1000e-9; 23 | core = material_SiN; 24 | widthMM = 3000e-9; 25 | JR = 3500e-9; # taper 长度 , 非绝热 26 | lengthMM = 21.8e-6; # TE 27 | lengthMMMIN = 4e-6; 28 | lengthMMMAX = 5e-6; 29 | fileC = 'nwg_cross_cband_te'; 30 | filename = 'D:\codes\specific language\lumerical\simulation note\Si-Si3N4 WGX\waveguide crossing\gds\' + fileC + '.gds'; 31 | cellname = fileC; # 弯曲定向耦合器 32 | ltype = '174:0'; 33 | } 34 | gap = 200e-9; 35 | 36 | # 求解器参数 37 | waveMIN = 1500e-9; 38 | waveMAX = 1600e-9; 39 | waCve = 1550e-9; 40 | DwaveU = 1; # 每单位波长采样点数 41 | DlengthMM = 101; 42 | Mesh_level = 3; # 网格等级 43 | sim_time = 36000e-15; # 仿真时间 44 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 45 | # 选项 46 | clad_opt = 1; # 是否加clad 47 | pt_opt = 1; # 弃用--If true , 设置功率,时间监视器 ; 否则 , 设置端口 48 | profile_opt = 1; # 是否计算电场轮廓 49 | GD_opt = 0; # 是否计算群时延 50 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 51 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 52 | Sp_opt = 1; # 是否计算S参数 , 用于 FDTD 后处理 53 | Smode = TE; # 选择模式 54 | solver_opt = 2; # 采用何种求解器 55 | # 1 var-FDTD 56 | # 2 EME 57 | # 3 3D-FDTD 58 | gds_opt = 0; 59 | # 高阶参数 (根据初始参数自动生成) 60 | feval(pathB+'\ini'+'\' + 'Y_QSini'); 61 | 62 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini/readme: -------------------------------------------------------------------------------- 1 | all device and simulation parameters for 1*2 MMI 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/ini__.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 用于集成光学仿真时导入路径依赖的包 3 | pathB = filedirectory(currentscriptname); # 导入核心库 4 | demon = '\demon'; # 放置单次仿真结果 5 | MC = '\MC'; # 放置参数扫描结果 6 | lowerical = '\brick'; # 用于后处理的函数 7 | mater = 'E:\Codes\specific language\Lumerical\PIC_material\materials'; # 导入材料库 8 | pfolderP = '\row'; # 存放没有run的lumerical文件 9 | pfolderG = '\result'; # 存放run之后的lumerical文件 10 | pfolderExport = '\matlab'; # 导出数据的文件夹 -------------------------------------------------------------------------------- /Components Library/MMI/1M2/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/varFDTD/port_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 设置端口 3 | addport; -------------------------------------------------------------------------------- /Components Library/MMI/1M2/varFDTD/profile_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # FDTD 的轮廓监视器,取相对坐标 3 | temp = 11; # 默认取11个频点 4 | select('varFDTD'); 5 | x = get('x min'); xB = get('x max'); 6 | y = get('y'); yB = get('y span'); 7 | if(add_opt==1) 8 | { 9 | select('top-down field'); 10 | } 11 | else 12 | { 13 | addprofile; 14 | } 15 | set('name','top-down field'); 16 | set('monitor type','2D Z-normal');# 俯视图 17 | set('x min', x); set('x max' , xB); 18 | set('y',y ); set('y span',yB); 19 | set('override global monitor settings',1); 20 | set('use linear wavelength spacing',1); 21 | set('frequency points',temp); 22 | 23 | # addprofile; 24 | # set('name','corss-section field'); 25 | # set('monitor type','2D X-normal');# 截面图 26 | # set('x min',-1.5*marg); 27 | # set('y',0); set('y span',boundaryY); 28 | # set('z',0); set('z span',boundaryZ); 29 | # set('override global monitor settings',1); 30 | # # set('use source limits',1); 31 | # set('use linear wavelength spacing',1); 32 | # set('frequency points',temp); -------------------------------------------------------------------------------- /Components Library/MMI/1M2/varFDTD/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/varFDTD/varFDTD_doll_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addvarfdtd; 6 | } 7 | else 8 | { 9 | select('varFDTD'); 10 | } 11 | set('simulation time',sim_time); 12 | set('dt stability factor',dt); 13 | set('x min', port1X-margSlover); set('x max' , port2X+margSlover); 14 | set('y min',ymin); set('y max',ymax); 15 | set('z',0); set('z span',boundaryZ); 16 | set('x0',-get('x')+port1X); set('y0',-get('y')+port1Y); 17 | # set('min mesh step', 1e-9); # 粗网格 18 | set('bandwidth','broadband'); # 设置光源带宽,设成broadband肯定没问题 19 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 20 | set('x min bc','PML'); set('x max bc','PML'); 21 | set('y min bc','PML'); set('y max bc','PML'); 22 | set('z min bc','Metal'); set('z max bc','Metal'); 23 | 24 | -------------------------------------------------------------------------------- /Components Library/MMI/1M2/varFDTD/varFDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 设置Var-FDTD仿真参数 2 | 3 | if (solver_opt == 2) 4 | { 5 | solver='EME'; 6 | feval(pathB+'\EME'+'\' + 'EME_set'); 7 | } 8 | else 9 | if (solver_opt == 1) 10 | { 11 | solver='varFDTD'; 12 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_doll_set' ); 13 | if (pt_opt == 1) 14 | { 15 | feval(pathB+'\varFDTD'+'\' + 'pt_set'); # 设置光源,功率监视器,时间监视器 16 | } 17 | else 18 | { 19 | feval(pathB+'\varFDTD'+'\' + 'port_set'); # 设置端口 20 | } 21 | if (profile_opt == 1) 22 | { 23 | feval(pathB+'\varFDTD'+'\' + 'profile_set'); 24 | } 25 | } 26 | else 27 | if (solver_opt == 3) 28 | { 29 | solver = 'FDTD'; 30 | feval(pathB+'\FDTD3'+'\' + 'FDTD_set'); 31 | feval(pathB+'\FDTD3'+'\' + 'port_set'); # 设置端口 32 | if (profile_opt == 1) 33 | { 34 | feval(pathB+'\FDTD3'+'\' + 'profile_set'); 35 | } 36 | } 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/EME/EME_SB.lsf: -------------------------------------------------------------------------------- 1 | 2 | addfde; 3 | set("solver type", "2D X normal"); 4 | set("x", port2X+margSlover ); 5 | set("y", port2Y ); set("y span", widthC+2*marg ); 6 | set("z", 0 ); set("z span", boundaryZ ); 7 | set('define y mesh by' , 'maximum mesh step'); 8 | set('define z mesh by' , 'maximum mesh step'); 9 | set("dy", 20e-9 ); set("dz", 20e-9 ); 10 | set("wavelength", waCve); 11 | set("number of trial modes" , 10 ); 12 | findmodes; 13 | selectmode(2); 14 | # 擦屁股 15 | switchtolayout; 16 | setactivesolver("EME"); 17 | 18 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/EME/EME_set.lsf: -------------------------------------------------------------------------------- 1 | profile_opt = 1; 2 | # EME 内部参数 3 | emeDog = port1X-nail; # EME 左侧输入 4 | emeSB = ExcitQ; # EME 中心坐标 Y 5 | 6 | Ddev = round((abs(widthTAP-width))*G/10); 7 | 8 | if (Ddev < 20) 9 | { 10 | Ddev = 20; 11 | } 12 | CellL = [ nail ; JR ; lengthMM ; JR ; nail ]; 13 | comboL = [ 1 ; Ddev ; 1 ; Ddev ; 1 ]; # 中间的器件被平均分为 Ddev 个 subcells 14 | methodL = [ 0 ; 1 ; 1 ; 1 ; 0 ]; # 0 = none 15 | # 1 = CVCS 16 | # 求解器,端口 17 | feval(pathB+'\EME'+'\' + 'fmsp_set'); 18 | if (profile_opt == 1) 19 | {# 轮廓监视器 20 | feval(pathB+'\EME'+'\' + 'EMEprofile_set'); 21 | } 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/EME/EMEprofile_set.lsf: -------------------------------------------------------------------------------- 1 | select(solver); 2 | x = get('x min'); xB = get('x max'); 3 | y = get('y'); yB = get('y span'); 4 | # 轮廓监视器 5 | if (add_opt==0) 6 | { 7 | addemeprofile; 8 | set('name','top-down field');# 俯视图 9 | set('monitor type','2D Z-normal'); 10 | set('x min', x ); set('x max', xB ); 11 | set('y', y ); set('y span',yB ); 12 | set('z', 0); 13 | addemeprofile; 14 | set('name','cross-section field');# 截面图 15 | set('monitor type','2D X-normal'); 16 | set('x', x ); 17 | set('y', y ); set('y span',yB ); 18 | set('z',0); set('z span',thick+2*marg); 19 | } 20 | else 21 | { 22 | select('top-down field');# 俯视图 23 | set('x min', x ); set('x max', xB ); 24 | set('y', y ); set('y span',yB ); 25 | set('z', 0); 26 | select('cross-section field');# 截面图 27 | set('x', x ); 28 | set('y', y ); set('y span',yB ); 29 | set('z',0); set('z span',thick+2*marg); 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/EME/fmsp_set.lsf: -------------------------------------------------------------------------------- 1 | # EME 仿真 2 | if (add_opt==0) 3 | { 4 | addeme; 5 | } 6 | else 7 | { 8 | select(solver); 9 | } 10 | set('x min', emeDog); 11 | set('y',emeSB); set('y span',boundaryY); 12 | set('z',0); set('z span',boundaryZ); 13 | set('y min bc','PML'); set('y max bc','PML'); 14 | set('z min bc','Metal'); set('z max bc','Metal'); 15 | # 设置cell属性 16 | # set('display cells',1); 17 | set("number of modes for all cell groups", 20); # 特征模展开到第20项 18 | set('wavelength',waCve); 19 | set('number of cell groups',length(CellL)); 20 | set("number of periodic groups", 1); # periodic groups,仿光栅时用到 21 | set("group spans", CellL ); 22 | set("cells",comboL); 23 | set("subcell method",methodL); # 0 = none, 24 | # 1 = CVCS 25 | # EME 自带两个port,记录S参数 26 | select("EME::Ports::port_1"); 27 | set('use full simulation span',0); 28 | set("y",-emeSB+port1Y); set("y span",width+2*marg); 29 | set("z",0); set("z span",boundaryZ); 30 | updateportmodes(Smode); 31 | select("EME::Ports::port_2"); 32 | set("use full simulation span",0); 33 | set("y",-emeSB+port2Y); set("y span",width+2*marg); 34 | set("z",0); set("z span",boundaryZ); 35 | updateportmodes(Smode); 36 | if (add_opt==0) 37 | { 38 | addemeport; 39 | } 40 | select("EME::Ports::port_3"); 41 | set('port location','right'); 42 | set("use full simulation span",0); 43 | set("y",-emeSB+port3Y); set("y span",width+2*marg); 44 | set("z",0); set("z span",boundaryZ); 45 | updateportmodes(Smode); 46 | if (wave_opt>0) 47 | { 48 | setemeanalysis("wavelength sweep",1); 49 | setemeanalysis("start wavelength",waveMIN); 50 | setemeanalysis("stop wavelength",waveMAX); 51 | setemeanalysis("number of wavelength points",Dwave); 52 | setemeanalysis("calculate group delays",GD_opt); 53 | } 54 | 55 | # 设置 长度 仿真参数 56 | setemeanalysis("propagation sweep",1); 57 | # setemeanalysis('parameter','group span 3'); 58 | setemeanalysis("start",lengthMMMIN*M); 59 | setemeanalysis("stop",lengthMMMAX*M); 60 | setemeanalysis("number of points",Dlength); 61 | 62 | 63 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/FDTD3/FDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addfdtd; 6 | set('dimension','3D'); 7 | } 8 | else 9 | { 10 | select(solver); 11 | } 12 | set('simulation time',sim_time); 13 | set('dt stability factor',dt); 14 | 15 | 16 | set('x min', port1X-margSlover ); set('x max' , port2X+margSlover ); 17 | set('y', ExcitQ ); set('y span' , boundaryY ); 18 | set('z',0); set('z span',boundaryZ); 19 | # set('min mesh step',100e-9); 20 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 21 | set('x min bc','PML'); set('x max bc','PML'); 22 | set('y min bc','PML'); set('y max bc','PML'); 23 | set('z min bc','PML'); set('z max bc','PML'); 24 | 25 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/FDTD3/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # FDTD 的轮廓监视器,取相对坐标 2 | temp = 11; # 默认取11个频点 3 | select(solver); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | if(add_opt==1) 7 | { 8 | select('top-down field'); 9 | } 10 | else 11 | { 12 | addprofile; 13 | } 14 | set('name','top-down field'); 15 | set('monitor type','2D Z-normal');# 俯视图 16 | set('x min', x); set('x max' , xB); 17 | set('y',y ); set('y span',yB); 18 | set('override global monitor settings',1); 19 | set('use linear wavelength spacing',1); 20 | set('frequency points',temp); 21 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/ID/mmiID.lsf: -------------------------------------------------------------------------------- 1 | # 根据器件参数,定义文件名,为避免同名覆盖 2 | fileT = ''; 3 | if (Smode == 1) 4 | { 5 | temp = ' TE'; 6 | } 7 | else if ( Smode == 2 ) 8 | { 9 | temp = ' TM'; 10 | } 11 | fileT = fileT + temp; 12 | if (solver_opt != 2) 13 | { 14 | fileT = fileT + ' ' + num2str(floor(lengthMM*M)) + 'p' + num2str(floor(lengthMM*G)-floor(lengthMM*M)*K) + ' um '; 15 | } 16 | fileT = fileT + solver; 17 | if (clad_opt==1) 18 | { 19 | fileT = fileT + ' clad'; 20 | } 21 | file = file + fileT; -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/MESH/meshMINI.lsf: -------------------------------------------------------------------------------- 1 | # 直接定义网格尺寸 2 | wovX = 2; # 每个 特征尺寸X wovX 等分 3 | wovGap = 4; 4 | wovZ = 4; # 每个 特征尺寸Z wovZ 等分 5 | mesh_override_dx = pitchX / wovX; 6 | gapDY = gap/wovGap; 7 | mesh_override_dz = pitchZ / wovZ; 8 | 9 | NT2 = 'gap'; 10 | len = 28.5e-6; 11 | widthMM = 1240e-9; 12 | addmesh; 13 | set('x min', ExcitP );set('x max', ExcitP + len ); 14 | set('y min', ExcitQ + widthMM/2 );set('y max', ExcitQ+widthMM/2 + gap ); 15 | set('z',0);set('z span',pitchZ + 2*mesh_override_dz); 16 | set('dx',mesh_override_dx); 17 | set('dy',gapDY); 18 | set('dz',mesh_override_dz); 19 | set("name",NT2); 20 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/MESH/mmiMESH.lsf: -------------------------------------------------------------------------------- 1 | if (gds_opt==1) 2 | { 3 | # feval(pathB+'\MESH'+'\' + 'meshMINI' ); 4 | feval(pathB+'\MESH'+'\' + 'wholly' ); 5 | } 6 | else 7 | { 8 | # 网格设置:不同的器件设置不同密度的网格,网格尺寸必须是器件最小特征尺寸的整数分之一 9 | # Lumerical默认网格覆盖,所以,建议先绘制全局的粗网格,再利用独立脚本绘制局部的细网格 10 | NT1 = 'waveguide'; 11 | # 按照 特征尺寸 定义 网格尺寸 12 | wovX = 5; # 每个 特征尺寸X wovX 等分 13 | wovY = 25; # 每个 特征尺寸Y wovY 等分 14 | wovZ = 22; # 每个 特征尺寸Z wovZ 等分 15 | if ( solver_opt!=2 ) 16 | {# FDTD 仿真 17 | wovX = 5; 18 | wovY = 50; 19 | wovZ = 22; 20 | } 21 | mesh_override_dx = pitchX / wovX; # X方向,长度方向 22 | mesh_override_dy = pitchY / wovY; # Y方向,截面水平方向 23 | mesh_override_dz = pitchZ / wovZ; # Z方向,截面垂直方向 24 | if (add_opt==0) 25 | { 26 | # 方式1:根据结构设置网格 27 | addmesh; 28 | set('based on a structure', 1); 29 | set('structure', DEV); 30 | set('dx',mesh_override_dx); 31 | set('dy',mesh_override_dy); 32 | set('dz',mesh_override_dz); 33 | set("name",NT1); 34 | } 35 | else 36 | { 37 | # 方式1:根据结构设置网格 38 | select(NT1); 39 | set('based on a structure', 1); 40 | set('structure', DEV); 41 | set('dx',mesh_override_dx); 42 | set('dy',mesh_override_dy); 43 | set('dz',mesh_override_dz); 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/MESH/wholly.lsf: -------------------------------------------------------------------------------- 1 | # 定义一整块网格 2 | NTly = 'wholly'; 3 | select(solver); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | # 直接定义网格尺寸 7 | wovZ = 22; 8 | mx = 50e-9; 9 | my = 50e-9; 10 | mz = pitchZ / wovZ; 11 | if ( add_opt == 0 ) 12 | { 13 | addmesh; 14 | set('x min', x);set('x max' , xB); 15 | set('y', y); set('y span',yB); 16 | set('z', 0); set('z span',pitchZ + 2*mz); 17 | set('dx',mx); 18 | set('dy',my); 19 | set('dz',mz); 20 | set("name",NTly); 21 | } 22 | else 23 | { 24 | select(NTly); 25 | set('x min', x);set('x max' , xB); 26 | set('y', y); set('y span',yB); 27 | set('z', 0); set('z span',pitchZ + 2*mz); 28 | set('dx',mx); 29 | set('dy',my); 30 | set('dz',mz); 31 | } -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/MMI_post_process.lsf: -------------------------------------------------------------------------------- 1 | # require 'resfname' as input 2 | 3 | G = 1e9; 4 | select('FDTD::ports'); 5 | pts = get('monitor frequency points'); 6 | p1 = getresult('FDTD::ports::port 1', 'expansion for port monitor' ); 7 | p2 = getresult('FDTD::ports::port 2', 'expansion for port monitor' ); 8 | p3 = getresult('FDTD::ports::port 3', 'expansion for port monitor' ); 9 | waveA = c / p1.f; 10 | 11 | s21 = p2.a / p1.a; 12 | s31 = p3.a / p1.a; 13 | po21 = abs(s21)^2; 14 | po31 = abs(s31)^2; 15 | ph21 = unwrap(angle(s21))*180/pi; 16 | ph31 = unwrap(angle(s31))*180/pi; 17 | po21_db = 10*log10(po21); 18 | po31_db = 10*log10(po31); 19 | EL = 10*log10( po21 + po31 ); 20 | po21_31_db = abs(po21_db - po31_db); 21 | phase_error = mod(ph31-ph21-90, 360 ); 22 | for (k=1:pts) { 23 | if ( abs(phase_error(k))>abs(phase_error(k)-360) ) { 24 | phase_error(k) = phase_error(k) - 360; 25 | } 26 | } 27 | 28 | plot(waveA*G, po21_db, po31_db ); 29 | plot(waveA*G, EL, 'wavelength(nm)', 'excess loss(dB)' ); 30 | plot(waveA*G, po21_31_db, 'wavelength(nm)', 'imblance(dB)' ); 31 | plot(waveA*G, phase_error, 'wavelength(nm)', 'phase error' ); 32 | 33 | # save file as .mat format 34 | matlabsave( resfname, waveA, po21_db, po31_db, EL, po21_31_db, phase_error, s21, s31 ); 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/S2port.lsf: -------------------------------------------------------------------------------- 1 | # 从模式端口提取 S参数 2 | Port1 = getresult('expansion','expansion for Port1expa'); 3 | po1 = Port1.T_net; 4 | if ( PortS == 3 ) 5 | { 6 | Port3 = getresult('expansion','expansion for Port3expa'); 7 | if ( loop_opt == 0 ) 8 | { 9 | po3 = Port3.T_net; 10 | waveA = linspace(waveMIN,waveMAX,Dwave); 11 | plot(waveA*G,10*log10(po3)); 12 | } 13 | } 14 | else if ( PortS == 2 ) 15 | { 16 | Port2 = getresult('expansion','expansion for Port2expa'); 17 | if ( loop_opt == 0 ) 18 | { 19 | po2 = Port2.T_net; 20 | waveA = linspace(waveMIN,waveMAX,Dwave); 21 | plot(waveA*G,10*log10(po2)); 22 | } 23 | } 24 | 25 | 26 | # plot(linspace(waveMIN,waveMAX,Dwave)*G,10*log10(po1)); 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/hit.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/hitEME.lsf: -------------------------------------------------------------------------------- 1 | # 提取EME S参数 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | # 散射系数 11 | sc31 = Se.s21; 12 | sc21 = Se.s31; 13 | # 功率传输 14 | po31 = abs(sc31)^2; 15 | po21 = abs(sc21)^2; 16 | # 相位 17 | ph31 = angle(sc31); 18 | ph21 = angle(sc21); 19 | # 循环时,请注释掉 20 | if ( loop_opt == 0 ) 21 | { 22 | waveA = linspace(waveMIN,waveMAX,Dwave); 23 | lengthA = linspace(1e-6,100e-6,100); 24 | if (wave_opt>0) 25 | { 26 | plot(waveA*G,10*log10(po21),10*log10(po31)); 27 | } 28 | else 29 | { 30 | plot(lengthA*M,10*log10(po21),10*log10(po31)); 31 | } 32 | } -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/hitEME_aba.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | waveA = linspace(waveMIN,waveMAX,Dwave); 3 | 4 | if (wave_opt == 0) 5 | { 6 | Se = getemesweep("S"); # 获取长度扫描信息 7 | } 8 | else 9 | { 10 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 11 | } 12 | 13 | # 散射系数 14 | sc21 = Se.s21; # TE0-TE1 前向模式转换 15 | sc11 = Se.s11; # TE0-TE0 基模反射 16 | # 功率传输 17 | po21 = abs(sc21)^2; 18 | po11 = abs(sc11)^2; 19 | # 相位 20 | ph21 = angle(sc21); 21 | ph11 = angle(sc11); -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/hitFDTD.lsf: -------------------------------------------------------------------------------- 1 | # 提取 FDTD 频域监视器数据 2 | laser = transmission('laser'); 3 | po2 = transmission('bar')/laser; 4 | if ( PortS == 3) 5 | { 6 | po3 = transmission('cross')/laser; 7 | if ( loop_opt==0 ) 8 | {# 在循环时,loop_opt = 1 9 | waveA = linspace(waveMIN,waveMAX,Dwave); 10 | plot(waveA*G,10*log10(abs(po3)),10*log10(po2)); 11 | } 12 | } 13 | else if ( PortS == 2 ) 14 | { 15 | if ( loop_opt==0 ) 16 | {# 在循环时,loop_opt = 1 17 | waveA = linspace(waveMIN,waveMAX,Dwave); 18 | plot(waveA*G,10*log10(po2)); 19 | } 20 | } -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/brick/mmiRun.lsf: -------------------------------------------------------------------------------- 1 | cd(home+demon + pfolderG ); 2 | run; 3 | if( solver_opt == 2 ) 4 | { 5 | if ( wave_opt>0 ) 6 | {# 是否扫描波长,2020新功能 ,忽略了波导色散,仿真耦合器件不准 7 | setemeanalysis("wavelength sweep",1); 8 | setemeanalysis("start wavelength",waveMIN); 9 | setemeanalysis("stop wavelength",waveMAX); 10 | setemeanalysis("number of wavelength points",Dwave); 11 | setemeanalysis("calculate group delays",GD_opt); 12 | emesweep("wavelength sweep"); 13 | } 14 | else 15 | if (length_opt>0) 16 | {# 长度扫描 17 | setemeanalysis('parameter','group span 3'); 18 | emesweep('propagation sweep'); 19 | } 20 | feval(pathB+lowerical+'\'+ 'hitEME' ); # 提取 EME S参数 21 | } 22 | else 23 | { 24 | if ( Sp_opt==0 ) 25 | { 26 | feval(pathB+lowerical+'\'+ 'hitFDTD' ); # 提取 FDTD 频域监视器参数 27 | } 28 | else 29 | { 30 | feval(pathB+lowerical+'\'+ 'S2port' ); # 提取 mode expansion 监视器 S参数 31 | } 32 | } 33 | matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/ini/mmiPort.lsf: -------------------------------------------------------------------------------- 1 | # 端口 of mmi 2 | # ---------------------- 3 | # 4 ---------------------- 3 4 | # ---------------------- 5 | # 1 ---------------------- 2 6 | # ---------------------- 7 | port1X = ExcitP-(lengthMM/2+JR); # 左下 8 | port1Y = ExcitQ-gap/2; 9 | port4X = ExcitP-(lengthMM/2+JR); # 左上 10 | port4Y = ExcitQ+gap/2; 11 | port3X = ExcitP+(lengthMM/2+JR); # 右上 12 | port3Y = ExcitQ+gap/2; 13 | port2X = ExcitP+(lengthMM/2+JR); # 右下 14 | port2Y = ExcitQ-gap/2; -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/ini/mmiQSini.lsf: -------------------------------------------------------------------------------- 1 | # 高阶参数 (根据初始参数自动生成) 2 | lengthDEV = lengthMM+2*JR; # 器件长度 3 | widthDEV = widthMM; 4 | feval(pathB+'\ini'+'\' + 'mmiPort' ); 5 | xmin = port1X - lengthE; # 最左边 6 | xmax = port2X + lengthE; # 最右边 7 | widthB = widthDEV + 2*widthE; # 衬底宽度 8 | Dwave = floor((waveMAX-waveMIN)*DwaveU*G)+1; # 波长采样点数 9 | boundaryY = widthDEV + 2*TMD*marg; # 仿真区域Y边缘参数,若FDTD发散,请加大此边界 10 | boundaryZ = thick + 2*marg; # 仿真区域Z边缘参数 11 | # 网格参数 -- 器件的特征尺寸 12 | pitchX = 100e-9; 13 | pitchY = width; 14 | pitchZ = thick; -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/ini/mmiQrep.lsf: -------------------------------------------------------------------------------- 1 | # DEV参数修正 2 | # DEV = 'MMI'; 3 | # thick = 220e-9; # 波导厚度 4 | # ExcitP = 0; # 器件初始 X 坐标 5 | # ExcitQ = 0; # 器件初始 Y 坐标 6 | width = 500e-9; # 波导宽度 7 | JR = 8.5e-6; 8 | widthTAP = 1.4e-6; # taper 的输出波导宽度 9 | widthMM = 6e-6; 10 | gap = widthMM/3; # 两端口位于 3 等分点处,3 dB耦合器 11 | lengthMM = 42.7e-6; 12 | Smode = 1; 13 | lengthE = 3e-6; # 器件沿长度方向的加长 14 | widthE = 5e-6; # 衬底沿宽度方向的加宽 15 | # 求解器参数 16 | # waveMIN = 1400e-9; 17 | # waveMAX = 1700e-9; 18 | # waCve = 1550e-9; 19 | # DwaveU = 1; # 每单位波长采样点数 20 | lengthMMMIN = 1e-6; 21 | lengthMMMAX = 100e-6; 22 | Dlength = 100; 23 | # TMD = 3; # 仿真区域YZ边缘参数,大于最大的仿真波长 24 | # Mesh_level = 2; # 网格等级 25 | # 选项 26 | clad_opt = 1; # 是否加clad 27 | pt_opt = 1; # 弃用--If true , 设置功率,时间监视器 ; 否则 , 设置端口 28 | profile_opt = 1; # 是否计算电场轮廓 29 | GD_opt = 0; # 是否计算群时延 , 用于 EME 求解器 30 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 31 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 32 | # Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 33 | solver_opt = 1; # 采用何种求解器 34 | # 1 = var-FDTD 35 | # 2 = EME 36 | # 3 = 3D-FDTD 37 | Sp_opt = 1; # 是否提取 mode expansion 监视器 S参数 38 | add_opt = 0; # 用于参数扫描 39 | # 0 = add(object) 40 | # 1 = select(object) 41 | gds_opt = 1; 42 | whpo = 1; # which ports 43 | # 2 : 从 2端口注入 44 | # 1 : 从 1端口注入 45 | PortS = 2; # 端口数 46 | # 高阶参数 (根据初始参数自动生成) 47 | feval(pathB+'\ini'+'\' + 'mmiQSini' ); 48 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/ini__.lsf: -------------------------------------------------------------------------------- 1 | # 用于集成光学仿真时导入路径依赖的包 2 | pathB = 'E:\Codes\Lumerical\Components Library\MMI\2 M 2'; # 导入核心库 3 | pathwise = 'E:\Codes\Lumerical\Grating\Matlab_Utils'; # 导入数据处理,通常是最后一步 4 | demon = '\demon'; # 放置单次仿真结果 5 | MC = '\MC'; # 放置参数扫描结果 6 | lowerical = '\brick'; # 用于后处理的函数 7 | mater = 'E:\Codes\Lumerical\PIC_material\materials'; # 导入材料库 8 | weapon = 'E:\Codes\Lumerical\weapon'; # 导入通用函数库 9 | pfolderP = '\row'; # 存放没有run的lumerical文件 10 | pfolderG = '\result'; # 存放run之后的lumerical文件 11 | pfolderExport = '\matlab'; # 导出数据的文件夹 -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/mmiGDSdemo.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical SB 仿真 2 * 2 MMI 2 | clear;closeall; 3 | ############################################### 4 | home = filedirectory(currentscriptname); 5 | pathB = 'E:\Codes\Lumerical\Components Library\MMI\2 M 2'; 6 | feval(pathB+'\' + 'ini__' ); 7 | feval(pathB+'\ini'+'\' + 'mmiQini' ); 8 | feval(pathB+'\ini'+'\' + 'mmiQrep' ); 9 | newproject; 10 | add_opt = 0; 11 | loop_opt = 0; 12 | feval(pathB+'\' + 'mmiModel' ); 13 | 14 | file = 'Arch 800-50-2-0p8'; 15 | # feval(pathB+'\ID'+'\' + 'mmiID'); 16 | save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 17 | ################################# 18 | 19 | # 执行仿真 20 | #feval(pathB+'\brick'+'\' + 'mmiRun'); -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/mmiModel.lsf: -------------------------------------------------------------------------------- 1 | # 多模干涉仪 建模 2 | if ( add_opt == 0 ) 3 | { 4 | feval(pathB+'\ini'+'\' + 'mmiQini' ); 5 | feval(pathB+'\ini'+'\' + 'mmiQrep' ); 6 | feval(mater+'\'+ 'materialsQini' ); 7 | if (gds_opt==1) 8 | { 9 | feval(pathB+'\LV'+'\' + 'LVmmiGDS' ); 10 | } 11 | else 12 | { 13 | feval(pathB+'\LV'+'\' + 'mmiLV' ); 14 | } 15 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); # 设置求解器 16 | feval(pathB+'\MESH'+'\' + 'mmiMESH' ); 17 | } 18 | else 19 | { 20 | feval(pathB+'\ini'+'\' + 'mmiQSini' ); 21 | switchtolayout; 22 | if (gds_opt==1) 23 | { 24 | feval(pathB+'\LV'+'\' + 'LVmmiGDS' ); 25 | } 26 | else 27 | { 28 | feval(pathB+'\LV'+'\' + 'mmiLV' ); 29 | } 30 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); # 设置求解器 31 | feval(pathB+'\MESH'+'\' + 'mmiMESH' ); 32 | } 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/mmiWagain.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical仿真 2*2 MMI 2 | # clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | home = filedirectory(currentscriptname); 6 | pathB = 'E:\Codes\Lumerical\Components Library\MMI\2 M 2'; # 导入核心库 7 | feval(pathB+'\' + 'ini__'); 8 | feval(pathB+'\ini\' + 'mmiQini'); 9 | feval(pathB+'\ini\' + 'mmiQrep'); 10 | gds_opt = 0; 11 | add_opt = 1; 12 | loop_opt == 0; 13 | feval(pathB+'\' + 'mmiModel'); 14 | 15 | file = DEV + ' ' + num2str(widthMM*G) + ' nm'; 16 | feval(pathB+'\ID'+'\' + 'mmiID' ); 17 | ## ######################### 18 | 19 | # 执行仿真 20 | feval(pathB+'\brick'+'\' + 'mmiRun'); 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/mmiWdemo.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical SB 仿真 2 * 2 MMI 2 | clear;closeall; 3 | ############################################### 4 | home = filedirectory(currentscriptname); 5 | pathB = 'E:\Codes\Lumerical\Components Library\MMI\2 M 2'; 6 | feval(pathB+'\' + 'ini__' ); 7 | feval(pathB+'\ini'+'\' + 'mmiQini' ); 8 | feval(pathB+'\ini'+'\' + 'mmiQrep' ); 9 | newproject; 10 | add_opt = 0; 11 | loop_opt = 0; 12 | feval(pathB+'\' + 'mmiModel' ); 13 | 14 | file = DEV + ' ' + num2str(widthMM*G) + ' nm'; 15 | feval(pathB+'\ID'+'\' + 'mmiID'); 16 | save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 17 | ## ############################### 18 | 19 | # 执行仿真 20 | #feval(pathB+'\brick'+'\' + 'mmiRun'); 21 | 22 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/varFDTD/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # FDTD 的轮廓监视器,取相对坐标 2 | temp = 11; # 默认取11个频点 3 | select(solver); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | if(add_opt==1) 7 | { 8 | select('top-down field'); 9 | } 10 | else 11 | { 12 | addprofile; 13 | } 14 | set('name','top-down field'); 15 | set('monitor type','2D Z-normal');# 俯视图 16 | set('x min', x); set('x max' , xB); 17 | set('y',y ); set('y span',yB); 18 | set('override global monitor settings',1); 19 | set('use linear wavelength spacing',1); 20 | set('frequency points',temp); 21 | -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/varFDTD/varFDTD_doll_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addvarfdtd; 6 | } 7 | else 8 | { 9 | select(solver); 10 | } 11 | set('simulation time',sim_time); 12 | set('dt stability factor',dt); 13 | set('x min', port1X-margSlover ); set('x max' , port2X+margSlover ); 14 | set('y', ExcitQ ); set('y span' , boundaryY ); 15 | if ( gds_opt > 0 ) 16 | { 17 | profile_opt = 1; 18 | set('y min', ymin+nail ); set('y max' , ymax-nail ); 19 | } 20 | set('z',0); set('z span' , boundaryZ ); 21 | set('x0',-get('x')+port1X);set('y0',-get('y')+port1Y); 22 | # set('min mesh step',100e-9); 23 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 24 | set('x min bc','PML'); set('x max bc','PML'); 25 | set('y min bc','PML'); set('y max bc','PML'); 26 | set('z min bc','PML'); set('z max bc','PML'); -------------------------------------------------------------------------------- /Components Library/MMI/2 M 2 (代码)/varFDTD/varFDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 仿真参数 2 | if (solver_opt == 2) 3 | {# 特征模展开 4 | solver = 'EME'; 5 | feval(pathB+'\EME'+'\' + 'EME_set'); 6 | } 7 | else 8 | if (solver_opt == 1) 9 | { 10 | solver = 'varFDTD'; 11 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_doll_set' ); 12 | if (pt_opt == 1) 13 | { 14 | feval(pathB+'\varFDTD'+'\' + 'pt_set' ); # 设置光源,功率监视器,时间监视器 15 | } 16 | else 17 | { 18 | feval(pathB+'\varFDTD'+'\' + 'port_set'); # 设置端口 19 | } 20 | if (profile_opt == 1) 21 | { 22 | feval(pathB+'\varFDTD'+'\' + 'profile_set'); 23 | } 24 | } 25 | else 26 | if (solver_opt == 3) 27 | { # 3D-FDTD ,精确 耗时 28 | solver = 'FDTD'; 29 | feval(pathB+'\FDTD3'+'\' + 'FDTD_set'); 30 | feval(pathB+'\FDTD3'+'\' + 'port_set'); # 设置端口 31 | if (profile_opt == 1) 32 | { 33 | feval(pathB+'\FDTD3'+'\' + 'profile_set'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/EME/EME_SB.lsf: -------------------------------------------------------------------------------- 1 | 2 | addfde; 3 | set("solver type", "2D X normal"); 4 | set("x", port2X+margSlover ); 5 | set("y", port2Y ); set("y span", widthC+2*marg ); 6 | set("z", 0 ); set("z span", boundaryZ ); 7 | set('define y mesh by' , 'maximum mesh step'); 8 | set('define z mesh by' , 'maximum mesh step'); 9 | set("dy", 20e-9 ); set("dz", 20e-9 ); 10 | set("wavelength", waCve); 11 | set("number of trial modes" , 10 ); 12 | findmodes; 13 | selectmode(2); 14 | # 擦屁股 15 | switchtolayout; 16 | setactivesolver("EME"); 17 | 18 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/EME/EME_set.lsf: -------------------------------------------------------------------------------- 1 | profile_opt = 1; 2 | # EME 内部参数 3 | emeDog = port1X-nail; # EME 左侧输入 4 | emeSB = port1Y + 1/2*(widthDEV-width); # EME 中心坐标 Y 5 | 6 | Ddev = 2; 7 | emeMLGB = lengthDEV; 8 | CellL = [ nail ; emeMLGB ; nail ]; 9 | comboL = [ 1 ; Ddev ; 1 ]; # 中间的器件被平均分为 Ddev 个 subcells 10 | methodL = [ 0 ; 1 ; 0 ]; # 0 = none 11 | # 1 = CVCS 12 | # 求解器,端口 13 | feval(pathB+'\EME'+'\' + 'fmsp_set' ); 14 | if (profile_opt == 1) 15 | {# 轮廓监视器 16 | feval(pathB+'\EME'+'\' + 'EMEprofile_set' ); 17 | } 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/EME/EMEprofile_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 轮廓监视器 3 | if (add_opt==0) 4 | { 5 | addemeprofile; 6 | set('name','top-down field');# 俯视图 7 | set('monitor type','2D Z-normal'); 8 | set('x min', port1X-margSlover ); set('x max', port2X+margSlover ); 9 | set('y', emeSB ); set('y span', boundaryY ); 10 | set('z', 0); 11 | addemeprofile; 12 | set('name','cross-section field');# 截面图 13 | set('monitor type','2D X-normal'); 14 | set('x', port1X-margSlover ); 15 | set('y', port1Y ); set('y span',width+2*marg); 16 | set('z',0); set('z span',thick+2*marg); 17 | } 18 | else 19 | { 20 | select('top-down field');# 俯视图 21 | set('x min', port1X-margSlover ); set('x max', port2X+margSlover ); 22 | set('y', emeSB ); set('y span', boundaryY ); 23 | set('z', 0); 24 | select('cross-section field');# 截面图 25 | set('x', port1X-margSlover ); 26 | set('y', port1Y ); set('y span',width+2*marg); 27 | set('z',0); set('z span',thick+2*marg); 28 | } -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/EME/new: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/FDTD3/FDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # FDTD3 仿真 N-WGs-symmetric PBS 2 | if (add_opt==0) 3 | { 4 | addfdtd; 5 | } 6 | else 7 | { 8 | select('FDTD'); 9 | } 10 | set('simulation time',sim_time); 11 | set('dt stability factor',dt); 12 | set('x min', port1X-margSlover); set('x max' , port2X+margSlover); 13 | set('y min',ymin); set('y max', ymax); 14 | set('z',0); set('z span',boundaryZ); 15 | # set('min mesh step', 1e-9); # 粗网格 16 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 17 | set('x min bc','PML'); set('x max bc','PML'); 18 | set('y min bc','PML'); set('y max bc','PML'); 19 | set('z min bc','PML'); set('z max bc','PML'); 20 | set('force symmetric y mesh',1); 21 | set('force symmetric z mesh',1); 22 | # 设置端口,用于模式展开 23 | feval(pathB+'\FDTD3'+'\' + 'port_set' ); 24 | # 设置电场轮廓监视器 25 | if (profile_opt == 1) 26 | { 27 | feval(pathB+'\FDTD3'+'\' + 'profile_set' ); 28 | } -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/FDTD3/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # varFDTD 的轮廓监视器 2 | temp = 11; # 默认取11个频点 3 | select(solver); 4 | x = get('x'); xB = get('x span'); 5 | y = get('y'); yB = get('y span'); 6 | z = get('z'); zB = get('z span'); 7 | 8 | if(add_opt==1) 9 | {# 仿真区域 电场俯视图 10 | select('top-down field'); 11 | } 12 | else 13 | { 14 | addprofile; 15 | } 16 | set('name','top-down field'); 17 | set('monitor type','2D Z-normal'); 18 | set('z', z ); 19 | set('x', x ); set('x span', xB ); 20 | set('y', y ); set('y span', yB ); 21 | set('override global monitor settings',1); 22 | set('use linear wavelength spacing',1); 23 | set('frequency points',temp); 24 | 25 | if(add_opt==1) 26 | {# 输出端口截面 27 | select('corss-section field'); 28 | } 29 | else 30 | { 31 | addprofile; 32 | } 33 | set('name','corss-section field'); 34 | set('monitor type','2D X-normal'); 35 | set('x', port3X+sensor*margSlover ); 36 | set('y', y ); set('y span', yB ); 37 | set('z', z ); set('z span', zB ); 38 | set('override global monitor settings',1); 39 | set('use linear wavelength spacing',1); 40 | set('frequency points',temp); 41 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ID/TWgID.lsf: -------------------------------------------------------------------------------- 1 | # 根据器件参数,定义文件名,为避免同名覆盖 2 | fileT = ''; 3 | nick = ''; 4 | for ( k = 1:length(gapL) ) 5 | {# 打印 gap 参数 6 | nick = nick + '-' + num2str(gapL(k)*G) + ' nm'; 7 | } 8 | fileT = fileT + nick; 9 | if ( solver != 'EME' ) 10 | { 11 | fileT = fileT + ' ' + num2str(floor(lengthCP*M)) + 'p' + num2str(floor(lengthCP*G)-floor(lengthCP*M)*K) + ' um'; 12 | } 13 | if (Smode == TM) 14 | { 15 | fileT = fileT + ' TM'; 16 | } 17 | else if (Smode == TE) 18 | { 19 | fileT = fileT + ' TE'; 20 | } 21 | else if (Smode == TE_TM) 22 | { 23 | fileT = fileT + ' EM'; 24 | } 25 | fileT = fileT + ' ' +solver; 26 | if (gds_opt==1) 27 | { 28 | fileT = fileT + ' gds'; 29 | } 30 | if (clad_opt==1) 31 | { 32 | fileT = fileT + ' clad'; 33 | } 34 | file = file + fileT; -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ID/new: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/LV/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/MESH/TWgMESH.lsf: -------------------------------------------------------------------------------- 1 | # 网格尺寸必须是器件最小特征尺寸的整数分之一 2 | # 网格名字 3 | NT = 'Symmetric PBS mesh'; 4 | 5 | if (solver=='EME') 6 | { # EME 网格精度 高 7 | wovX = 5; # 每个 特征尺寸X wovX 等分 8 | wovY = 50; # 每个 特征尺寸Y wovY 等分 9 | wovZ = 22; # 每个 特征尺寸Z wovZ 等分 10 | } 11 | else 12 | if (solver=='varFDTD') 13 | { # varFDTD 网格精度 低 , FDTD3 最低 14 | wovX = 5; # 每个 特征尺寸X wovX 等分 15 | wovY = 16; # 每个 特征尺寸Y wovY 等分 16 | wovZ = 16; # 每个 特征尺寸Z wovZ 等分 17 | } 18 | else 19 | if (solver=='FDTD') 20 | { # varFDTD 网格精度 低 , FDTD3 最低 21 | wovX = 4; # 每个 特征尺寸X wovX 等分 22 | wovY = 20; # 每个 特征尺寸Y wovY 等分 23 | wovZ = 11; # 每个 特征尺寸Z wovZ 等分 24 | } 25 | # 网格尺寸 = 特征尺寸/网格精度 26 | mesh_override_dx = pitchX / wovX; # X方向,长度方向 27 | mesh_override_dy = pitchY / wovY; # Y方向,截面水平方向 28 | mesh_override_dz = pitchZ / wovZ; # Z方向,截面垂直方向 29 | if (add_opt==0) 30 | { 31 | addmesh; 32 | set("name",NT); 33 | } 34 | else 35 | { 36 | select(NT); 37 | } 38 | set('based on a structure', 1); 39 | set('structure', DEV); 40 | set('dx',mesh_override_dx); 41 | set('dy',mesh_override_dy); 42 | set('dz',mesh_override_dz); 43 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/MESH/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/TWgForGDS.lsf: -------------------------------------------------------------------------------- 1 | # 导入GDS , 仿真ADC 2 | clear;closeall; 3 | ############################################### 4 | home = filedirectory(currentscriptname); 5 | pathB = 'E:\Codes\Lumerical\Components Library\Triple WGs\N WGs'; 6 | feval(pathB+'\' + 'ini__' ); 7 | feval(pathB+'\ini'+'\' + 'TWgQini' ); 8 | feval(pathB+'\ini'+'\' + 'TWgQrep' ); 9 | newproject; 10 | add_opt = 0; 11 | gds_opt = 1; 12 | middle = 506e-9; 13 | gap = 456e-9; 14 | Nm = 1; 15 | feval(pathB+'\' + 'TWgModel'); 16 | 17 | 18 | file = DEV + ' ' + num2str(middle*G) + ' gap ' + num2str(gap*G) + ' nm'; 19 | feval(pathB+'\ID'+'\' + 'TWgID'); 20 | save(pathB+demon+pfolderP+'\' + file ); 21 | # 保存器件的原始建模文件 22 | 23 | 24 | # 执行仿真 TE1-TE0 25 | # cd(pathB+demon + pfolderG ); 26 | # run; 27 | # # feval(pathB+lowerical+'\' + 'S2port' ); 28 | # po32 = po3; 29 | 30 | 31 | # matlabsave(pathB+demon+pfolderExport+'\' + file ); 32 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/TWgModel.lsf: -------------------------------------------------------------------------------- 1 | # 三波导耦合器 建模 2 | if ( add_opt == 0 ) 3 | { 4 | feval(pathB + '\ini' + '\' + 'TWgQini'); 5 | feval(pathB + '\ini' + '\' + 'TWgQrep'); 6 | feval( mater + '\' + 'materialsQini' ); 7 | if (gds_opt==1) 8 | { 9 | feval(pathB+'\LV'+'\' + 'LVTWgGDS'); 10 | } 11 | else 12 | { 13 | feval(pathB+'\LV'+'\' + 'TWgLV'); 14 | } 15 | feval(pathB + '\varFDTD' + '\' + 'varFDTD_set'); 16 | feval(pathB + '\MESH' + '\' + 'TWgMESH'); 17 | } 18 | else 19 | { 20 | feval(pathB + '\ini' + '\' + 'TWgQSini'); 21 | switchtolayout; 22 | if (gds_opt==1) 23 | { 24 | feval(pathB+'\LV'+'\' + 'LVTWgGDS'); 25 | } 26 | else 27 | { 28 | feval(pathB+'\LV'+'\' + 'TWgLV'); 29 | } 30 | feval(pathB + '\varFDTD' + '\' + 'varFDTD_set'); 31 | feval(pathB + '\MESH' + '\' + 'TWgMESH'); 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/TWgOSA.lsf: -------------------------------------------------------------------------------- 1 | # 用EME求解光谱 , Dwave 不能太大 2 | # 必须在 (DEV)Wdemo.lsf 之后运行 3 | pathB = 'E:\Codes\Lumerical\Components Library\adiabatic ADC\domo'; 4 | feval(pathB+'\' + 'ini__' ); 5 | feval(pathB+'\ini'+'\' + 'adcQini' ); 6 | feval(pathB+'\ini'+'\' + 'adcQrep' ); 7 | add_opt = 1; 8 | # 扫描参数设置 9 | DwaveU = 1; 10 | Dwave = floor((waveMAX-waveMIN)*DwaveU*G)+1; # 波长采样点数 11 | waveA = linspace(waveMIN,waveMAX,Dwave); 12 | # 参数扫描 13 | po21 = zeros( size(waveA,1) , size(waveA,2) ); # lumerical 尼玛趁早倒闭 14 | for (k = 1 : length(po21)) 15 | { 16 | waCve = waveA(k); 17 | lengthCPMIN = lengthCP; 18 | lengthCPMAX = lengthCPMIN + 1/M; 19 | DlengthCP = 2; 20 | feval(pathB+'\' + 'adcModel'); 21 | run; 22 | if ( solver_opt==2 ) 23 | { 24 | # emesweep('wavelength sweep'); 25 | setemeanalysis('parameter','group span 2'); 26 | emesweep('propagation sweep'); 27 | } 28 | feval(pathB+lowerical+'\'+ 'hit' ); 29 | po21(k) = abs(Se.s12(1))^2; 30 | } 31 | plot(waveA,po21); 32 | 33 | ## 保存数据 34 | file = DEV + ' width ' + num2str(width*G) + ' nm' + ' widthTAP ' + num2str(widthTAP*G) + ' nm' + ' waveA ' + num2str(waveA(1)*G) + ' nm' + ' ~ ' + num2str(waveA(end)*G); 35 | feval(pathB + '\ID' + '\' + 'adcID'); 36 | home = filedirectory(currentscriptname); 37 | matlabsave(home+'\' + file); 38 | 39 | 40 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/TWgWagain.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical仿真 ADC 2 | # clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | home = filedirectory(currentscriptname); 6 | pathB = 'E:\Codes\specific language\Lumerical\Components Library\Triple WGs\N WGs'; 7 | feval(pathB+'\' + 'ini__'); 8 | feval(pathB+'\ini'+'\' + 'TWgQini' ); 9 | feval(pathB+'\ini'+'\' + 'TWgQrep' ); 10 | add_opt = 1; 11 | lody = 0; # not in loop body 12 | feval(pathB+'\' + 'TWgModel'); 13 | 14 | file = DEV + num2str(width*G) + '-' + num2str(middle*G) + '-' + ' gap ' + num2str(gap*G) + ' nm'; 15 | feval(pathB+'\ID'+'\' + 'TWgID' ); 16 | 17 | 18 | # 执行仿真 19 | feval(pathB+'\brick'+'\' + 'TWgRun' ); 20 | # matlabsave(pathB+demon+pfolderExport+'\' + file ); 21 | 22 | 23 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/TWgWdemo.lsf: -------------------------------------------------------------------------------- 1 | # 三波导 耦合器 2 | clear;closeall; 3 | ############################################### 4 | home = filedirectory(currentscriptname); 5 | pathB = 'E:\Codes\specific language\Lumerical\Components Library\Triple WGs\N WGs'; # 核心库路径 6 | feval(pathB+'\' + 'ini__'); 7 | feval(pathB+'\ini'+'\' + 'TWgQini' ); 8 | feval(pathB+'\ini'+'\' + 'TWgQrep' ); 9 | newproject; 10 | add_opt = 0; 11 | lody = 0; # not in loop body 12 | feval(pathB+'\' + 'TWgModel'); 13 | 14 | file = DEV + num2str(width*G) + '-' + num2str(middle*G) + '-' + ' gap ' + num2str(gap*G) + ' nm'; 15 | feval(pathB+'\ID'+'\' + 'TWgID' ); 16 | save(home+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 17 | 18 | # 执行仿真 19 | #feval(pathB+'\brick'+'\' + 'TWgRun' ); 20 | # matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/S2port.lsf: -------------------------------------------------------------------------------- 1 | # 从各端口,各模式提取 S参数 2 | # 4 ---------------------- 3 3 | # 1 ---------------------- 2 4 | Port1 = getresult('expansion','expansion for Port1expa'); 5 | Port2 = getresult('expansion','expansion for Port2expa'); 6 | Port3 = getresult('expansion','expansion for Port3expa'); 7 | #po3 = Port3.T_total; # cross 8 | #po2 = Port2.T_total; # bar 9 | #po1 = Port1.T_total; # laser 10 | 11 | po3 = Port3.T_forward; # cross 12 | po2 = Port2.T_forward; # bar 13 | po1 = Port1.T_dorward; # laser 14 | if ( lody == 0 ) 15 | { 16 | plot( waveA*G, 10*log10(po3/po1), 10*log10(po2/po1) ); 17 | plot( waveA*G, 10*log10(po1) ); 18 | } -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/TWgRun.lsf: -------------------------------------------------------------------------------- 1 | cd( pathB+demon + pfolderG ); 2 | if( solver_opt == 2 ) 3 | { 4 | if ( wave_opt > 0 ) 5 | {# lumerical 2020,微扰法 EME 波长扫描 6 | run; 7 | setemeanalysis("wavelength sweep",1); 8 | setemeanalysis("start wavelength",waveMIN); 9 | setemeanalysis("stop wavelength",waveMAX); 10 | setemeanalysis("number of wavelength points",Dwave); 11 | setemeanalysis("calculate group delays",GD_opt); 12 | emesweep("wavelength sweep"); 13 | } 14 | else 15 | if ( wave_opt < 0 ) 16 | {# 循环 骚喵 波长 , 精确耗时 ----- 未完成 17 | thr = zeros(size(waveA,1),size(waveA,2)); 18 | aad = zeros(size(waveA,1),size(waveA,2)); 19 | lody = 1; 20 | setemeanalysis("propagation sweep",1); 21 | setemeanalysis('parameter','group span 1'); 22 | setemeanalysis("start",nail); 23 | setemeanalysis("stop",nail+1/G); 24 | setemeanalysis("number of points",2); 25 | for ( k = 1:length(waveA) ) 26 | { 27 | switchtolayout; 28 | waCve = waveA(k); 29 | select(solver); 30 | set('wavelength',waCve); 31 | run; 32 | emesweep('propagation sweep'); 33 | feval(pathB+lowerical+'\'+ 'hitEME' ); 34 | thr(k) = po21(1); 35 | aad(k) = po31(1); 36 | } 37 | po21 = thr; 38 | po31 = aad; 39 | plot(waveA*G , 10*log10(po21) , 10*log10(po31) ); 40 | } 41 | else 42 | if (length_opt>0) 43 | {# 长度扫描 ----- 未完成 44 | run; 45 | setemeanalysis('parameter','group span 2'); 46 | emesweep('propagation sweep'); 47 | } 48 | feval(pathB+lowerical+'\'+ 'hitEME' ); # 提取 EME S参数 49 | } 50 | else 51 | { # 时域有限差分法 52 | run; 53 | feval(pathB+lowerical+'\'+ 'S2port' ); # 提取 FDTD 频域监视器参数 54 | } 55 | matlabsave(pathB+demon+pfolderExport+'\' + file ); 56 | 57 | 58 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/hit.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/hitEME.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | waveA = linspace(waveMIN,waveMAX,Dwave); 3 | lengthCPA = linspace(lengthCPMIN,lengthCPMAX,DlengthCP); 4 | if (wave_opt == 0) 5 | { # 获取长度扫描信息 6 | Se = getemesweep("S"); 7 | } 8 | else 9 | { # 获取波长扫描信息 10 | Se = getemesweep("S_wavelength_sweep"); 11 | } 12 | 13 | # 散射系数 14 | sc31TE = Se.s51; # TE 通 15 | sc21TE = Se.s31; # TE 泄露 16 | sc21TM = Se.s42; # TM 通 17 | sc31TM = Se.s62; # TM 泄露 18 | # 功率传输 19 | po31TE = (abs(sc31TE))^2; 20 | po21TE = (abs(sc21TE))^2; 21 | po21TM = (abs(sc21TM))^2; 22 | po31TM = (abs(sc31TM))^2; 23 | # 相位 24 | ph31TE = angle(sc31TE); 25 | ph21TE = angle(sc21TE); 26 | ph21TM = angle(sc21TM); 27 | ph31TM = angle(sc31TM); 28 | 29 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/hitFDTD.lsf: -------------------------------------------------------------------------------- 1 | # 提取频域监视器 的 数据 2 | laser = transmission('laser'); 3 | po3 = transmission('cross')/laser; 4 | po2 = transmission('bar')/laser; 5 | 6 | if ( lody == 0 ) 7 | { 8 | plot( waveA*G, 10*log10(po3), 10*log10(po2) ); 9 | } 10 | 11 | # waveA = linspace(waveMIN,waveMAX,Dwave); -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/brick/new: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 500 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 502 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 504 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 506 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 508 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 510 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 512 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 514 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 516 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 518 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/SR middle 520 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/Coarse -- 2021/readme: -------------------------------------------------------------------------------- 1 | Simualtion result in 2021 by Hezq. 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 500 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 501 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 502 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 503 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 504 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 505 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 506 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 440 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 440 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 442 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 442 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 444 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 444 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 446 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 446 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 448 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 448 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 450 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 450 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 452 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 452 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 454 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 454 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 456 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 456 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 458 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 458 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 460 nm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/tirdent-WG PBS/N WGs (code)/dish/SR middle 507 nm gap 460 nm.jpg -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/dish/new: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini/TWgPort.lsf: -------------------------------------------------------------------------------- 1 | # 端口 of 对称 2*2 器件 2 | # 4 ---------------------- 3 3 | # 1 ---------------------- 2 4 | port1X = ExcitP; # input 5 | port1Y = ExcitQ; 6 | port2X = port1X + lengthDEV; # bar 7 | port2Y = port1Y; 8 | port3X = port1X + lengthDEV; # cross 9 | port3Y = port1Y + widthDEV - width; 10 | port4X = port1X; # add 11 | port4Y = port3Y; -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini/TWgQSini.lsf: -------------------------------------------------------------------------------- 1 | # 高阶参数 (根据初始参数自动生成) 2 | gapL = gapM + zeros( Nm+1 , 1 ); 3 | gapL(1) = gap; gapL(end) = gap; 4 | lengthDEV = lengthCP; # 器件长度 5 | if (gds_opt==1) 6 | {# 导入版图时,强制使用 FDTD3 求解器 7 | solver_opt = 3; 8 | } 9 | widthDEV = 2*width + sum(gapL) + Nm*middle; 10 | feval(pathB+'\ini'+'\' + 'TWgPort' ); 11 | xmin = port1X - lengthE; # 最左边 12 | xmax = port2X + lengthE; # 最右边 13 | ymin = port1Y - width/2 - TMD*marg; # 最下面 14 | ymax = port1Y - width/2 + widthDEV + TMD*marg; # 最上面 15 | lengthTOTAL = xmax - xmin; # 器件总长度( 带尾巴 ) 16 | widthB = widthDEV + 2*widthE; # 衬底宽度 17 | Dwave = floor((waveMAX-waveMIN)*DwaveU*G)+1; # 波长采样点数 18 | waveA = linspace(waveMIN,waveMAX,Dwave); 19 | boundaryY = widthDEV + 2*TMD*marg; # 仿真区域Y边缘参数,若FDTD发散,请加大此边界 20 | boundaryZ = thick + 2*marg; # 仿真区域Z边缘参数 21 | # 网格参数 -- 器件的特征尺寸 22 | pitchX = 100e-9; 23 | pitchY = width; 24 | pitchZ = thick; 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini/TWgQini.lsf: -------------------------------------------------------------------------------- 1 | # N 波导定向耦合器 , 偏振分离 2 | # 单位常量 3 | K = 1e3; 4 | M = 1e6; 5 | G = 1e9; 6 | MM = M*M; 7 | # 材料参数 8 | material_BOX = 'SiO2 (Glass) - Const'; 9 | material_Si = 'Si (Silicon) - Dispersive & Lossless'; 10 | # DEV参数 11 | DEV = 'N WGs'; 12 | thick = 220e-9; # 波导厚度 13 | thickB = 3e-6; # 衬底厚度 14 | clad = 2e-6; # 包层厚度 15 | ExcitP = 0; # 器件初始 X 坐标 16 | ExcitQ = 0; # 器件初始 Y 坐标 17 | width = 500e-9; # 信号波导宽度 18 | middle = 1240e-9; # 桥接波导宽度 19 | gap = 100e-9; # 信号波导与桥接波导的间距 20 | gapM = 200e-9; # 桥接波导彼此之间的间距 , 大于特征尺寸 21 | Nm = 1; # 桥接波导数目 22 | lengthCP = 40e-6; # 耦合长度 23 | lengthE = 3e-6; # 器件沿长度方向的加长 24 | widthE = 5e-6; # 衬底沿宽度方向的加宽 25 | # 模式参数 26 | TE = 'fundamental TE mode'; 27 | TM = 'fundamental TM mode'; 28 | TE_TM = 'fundamental TE and TM mode'; 29 | Smode = TE; 30 | # 求解器参数 31 | waveMIN = 1400e-9; 32 | waveMAX = 1700e-9; 33 | waCve = 1550e-9; 34 | DwaveU = 1; # 每单位波长采样点数 35 | lengthCPMIN = 1e-6; 36 | lengthCPMAX = 600e-6; 37 | DlengthCP = 600; 38 | donor = 0.5; # 光源位置参数 , 用于 FDTD 39 | sensor = 1/2*(1+donor); # 监视器位置参数,用于FDTD 40 | nail = 10e-9; # EME 的 指甲 41 | marg = 1e-6; # 仿真区域YZ边缘参数,大于最大的仿真波长 42 | margSlover = 2e-6; # 光源,求解器位置参数,一般不要动 43 | TMD = 3; 44 | Mesh_level = 3; # 网格等级 45 | sim_time = 18000e-15; # 仿真时间 46 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 47 | # 选项 48 | clad_opt = 1; # 是否加clad 49 | pt_opt = 1; # 设置功率,时间监视器 ; 50 | profile_opt = 1; # 是否计算电场轮廓 51 | GD_opt = 0; # 是否计算群时延 , 用于 EME 求解器 52 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 53 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 54 | Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 55 | solver_opt = 1; # 采用何种求解器 56 | # 1 = var-F1240DTD 57 | # 2 = EME 58 | # 3 = 3D-FDTD 59 | add_opt = 0; # 用于参数扫描 60 | # 0 = add(object) 61 | # 1 = select(object) 62 | gds_opt = 0; 63 | 64 | # 高阶参数 (根据初始参数自动生成) 65 | feval(pathB+'\ini'+'\' + 'TWgQSini' ); 66 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini/TWgQrep.lsf: -------------------------------------------------------------------------------- 1 | # DEV参数 2 | # Current design 3 | solver_opt = 2; # 2 EME; 3 FDTD3 4 | gds_opt = 0; 5 | 6 | # 2018 Simulation 7 | # width = 500e-9; # 主波导宽度 8 | # middle = 511e-9; # 中间波导宽度 9 | # gap = 450e-9; # 耦合间距 10 | # gapM = 260e-9; # middle 波导彼此间距 , 大于特征尺寸 11 | # Nm = 1; # 桥接波导数目 12 | # lengthCP = 32.3e-6; # 耦合长度 13 | 14 | # Hezq 15 | width = 500e-9; # 主波导宽度 16 | middle = 506e-9; # 中间波导宽度 17 | gap = 456e-9; # 耦合间距 18 | gapM = 260e-9; # middle 波导彼此间距 , 大于特征尺寸 19 | Nm = 1; # 桥接波导数目 20 | lengthCP = 33.3e-6; # 耦合长度 21 | 22 | 23 | # 模式参数 24 | Smode = TE_TM; 25 | # older version 26 | # TM0-TM0-TM0 27 | # width = 500e-9; # 主波导宽度 28 | # middle = 506e-9; # 中间波导宽度 29 | # gap = 454e-9; # 耦合间距 30 | # Nm = 1; # 桥接波导数目 31 | # lengthCP = 33e-6; # 耦合长度 32 | 33 | # TM0-TM1-TM0 34 | # width = 500e-9; # 主波导宽度 35 | # middle = 506e-9; # 中间波导宽度 36 | # gap = 260e-9; # 耦合间距 37 | # gapM = 200e-9; 38 | # Nm = 2; # 桥接波导数目 39 | # lengthCP = 33e-6; # 耦合长度 40 | 41 | # 求解器参数 42 | waveMIN = 1500e-9; 43 | waveMAX = 1600e-9; 44 | waCve = 1550e-9; 45 | DwaveU = 1; 46 | lengthCPMIN = 20e-6; 47 | lengthCPMAX = 40e-6; 48 | DlengthCP = 201; 49 | # Mesh_level = 3; # 网格等级 50 | sim_time = 36000e-15; # 仿真时间 51 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 52 | # 选项 53 | clad_opt = 1; # 是否加clad 54 | pt_opt = 1; # If true , 设置功率,时间监视器 ; 否则 , 设置端口 55 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 56 | GD_opt = 0; # 是否计算群时延 , 用于 EME 求解器 57 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 58 | # profile_opt = 1; # 是否计算电场轮廓 59 | Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 60 | 61 | # 高阶参数 (根据初始参数自动生成) 62 | feval(pathB+'\ini'+'\' + 'TWgQSini' ); 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/ini__.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 用于集成光学仿真时导入路径依赖的包 3 | pathB = 'E:\Codes\specific language\Lumerical\Components Library\Triple WGs\N WGs'; # 导入核心库 4 | 5 | demon = '\demon'; # 放置单次仿真结果 6 | MC = '\MC'; # 放置参数扫描结果 7 | lowerical = '\brick'; # 用于后处理的函数 8 | mater = 'E:\Codes\specific language\Lumerical\PIC_material\materials'; # 导入材料库 9 | weapon = 'E:\Codes\specific language\Lumerical\weapon'; # 导入通用函数库 10 | pfolderP = '\row'; # 存放没有run的lumerical文件 11 | pfolderG = '\result'; # 存放run之后的lumerical文件 12 | pfolderExport = '\matlab'; # 导出数据的文件夹 -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/saomiao/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/saomiao/saomiao/TWgAA.lsf: -------------------------------------------------------------------------------- 1 | # 骚喵 width , gap 2 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 3 | ############################################### 4 | pathB = 'E:\Codes\specific language\Lumerical\Components Library\Triple WGs\N WGs'; 5 | feval(pathB+'\' + 'ini__'); 6 | feval(pathB+'\ini'+'\' + 'TWgQini' ); 7 | feval(pathB+'\ini'+'\' + 'TWgQrep' ); 8 | add_opt = 1; 9 | feval(pathB+'\' + 'TWgModel'); 10 | # 骚喵参数设障 11 | Nm = 1; 12 | middleD = 1; 13 | gapD = 2; 14 | middleL = [500:middleD:514]/G; 15 | gapA = transpose([440:gapD:460])/G; 16 | 17 | 18 | rc = size(middleL,1)*size(gapA,2); 19 | NMB = zeros( 4*DlengthCP, rc ); 20 | for (index = 1:rc) 21 | { 22 | k = ceil(index/length(gapA)); 23 | kk = index - (k-1)*length(gapA); 24 | middle = middleL(k); 25 | gap = gapA(kk); 26 | 27 | feval(pathB+'\' + 'TWgModel'); 28 | run; 29 | if ( solver_opt==2 ) 30 | { 31 | # emesweep('wavelength sweep' 32 | setemeanalysis('parameter','group span 2'); 33 | emesweep('propagation sweep'); 34 | } 35 | feval(pathB+lowerical+'\'+ 'hitEME' ); 36 | 37 | NMB(1:DlengthCP,index) = po31TE; 38 | NMB(1+DlengthCP:2*DlengthCP,index) = po21TE; 39 | NMB(1+2*DlengthCP:3*DlengthCP,index) = po21TM; 40 | NMB(1+3*DlengthCP:4*DlengthCP,index) = po31TM; 41 | } 42 | 43 | 44 | file = DEV + ' width ' + num2str(width*G) + ' nm' + ' middle ' + num2str(middleL(1)*G) + '~' + num2str(middleL(end)*G) + ' nm' + ' gap ' + num2str(gapA(1)*G) + '~' + num2str(gapA(end)*G) + ' nm'; 45 | feval(pathB+'\ID'+'\' + 'TWgID' ); 46 | 47 | home = filedirectory(currentscriptname); 48 | matlabsave(home+'\' + file); 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/saomiao/saomiao/TWgAA_FDTD3.lsf: -------------------------------------------------------------------------------- 1 | # 骚喵 width , gap 2 | # 必须打开一个已经建模好的.fsp文件 ,或在 (DEV)Wdemo.lsf 之后运行 3 | ############################################### 4 | pathB = 'E:\Codes\Lumerical\Components Library\Triple WGs\N WGs'; 5 | feval(pathB+'\' + 'ini__'); 6 | feval(pathB+'\ini'+'\' + 'TWgQini' ); 7 | feval(pathB+'\ini'+'\' + 'TWgQrep' ); 8 | add_opt = 1; 9 | solver_opt = 3; # 3D-FDTD 10 | lengthCP = 2e-6; 11 | feval(pathB+'\' + 'TWgModel'); 12 | # 骚喵参数设障 13 | Nm = 1; 14 | middleD = 2; 15 | gapD = 2; 16 | waveA = linspace(waveMIN,waveMAX,Dwave); 17 | middleL = transpose((500:middleD:520))/G; 18 | gapA = transpose(440:gapD:460)/G; 19 | qp = size(middleL,2)*size(gapA,2); 20 | NMB = zeros( Dwave,qp,4 ); 21 | 22 | 23 | for ( q = 1:qp ) 24 | { 25 | switchtolayout; 26 | k = ceil(q/size(gapA,2)); 27 | kk = q-(k-1)*size(gapA,2); 28 | if (kk==0) 29 | { 30 | kk = size(gapA,2); 31 | } 32 | middle = middleL(k); 33 | gap = gapA(kk); 34 | 35 | 36 | Smode = TM; 37 | feval(pathB+'\' + 'TWgModel' ); 38 | run; 39 | feval(pathB+lowerical+'\'+ 'hitFDTD' ); 40 | NMB(:,q,1) = po3; 41 | NMB(:,q,2) = po2; 42 | switchtolayout; 43 | Smode = TE; 44 | feval(pathB+'\' + 'TWgModel' ); 45 | run; 46 | feval(pathB+lowerical+'\'+ 'hitFDTD' ); 47 | NMB(:,q,3) = po2; 48 | NMB(:,q,4) = po3; 49 | 50 | A = 10*log10(NMB(:,q,1)); 51 | B = 10*log10(NMB(:,q,2)); 52 | C = 10*log10(NMB(:,q,3)); 53 | D = 10*log10(NMB(:,q,4)); 54 | plot(waveA*G,A,B,C,D); 55 | } 56 | 57 | file = DEV + ' width ' + num2str(width*G) + ' nm' + ' middle ' + num2str(middleL(1)*G) + '~' + num2str(middleL(end)*G) + ' nm' + ' gap ' + num2str(gapA(1)*G) + '~' + num2str(gapA(end)*G) + ' nm'; 58 | feval(pathB+'\ID'+'\' + 'TWgID' ); 59 | 60 | home = filedirectory(currentscriptname); 61 | matlabsave(home+'\' + file); 62 | 63 | 64 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/varFDTD/port_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 设置端口 3 | addport; -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/varFDTD/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # varFDTD 的轮廓监视器 2 | temp = 11; # 默认取11个频点 3 | select(solver); 4 | x = get('x'); xB = get('x span'); 5 | y = get('y'); yB = get('y span'); 6 | z = get('z'); zB = get('z span'); 7 | 8 | if(add_opt==1) 9 | {# 仿真区域 电场俯视图 10 | select('top-down field'); 11 | } 12 | else 13 | { 14 | addprofile; 15 | } 16 | set('name','top-down field'); 17 | set('monitor type','2D Z-normal'); 18 | set('z', z ); 19 | set('x', x ); set('x span', xB ); 20 | set('y', y ); set('y span', yB ); 21 | set('override global monitor settings',1); 22 | set('use linear wavelength spacing',1); 23 | set('frequency points',temp); 24 | 25 | if(add_opt==1) 26 | {# 输出端口截面 27 | select('corss-section field'); 28 | } 29 | else 30 | { 31 | addprofile; 32 | } 33 | set('name','corss-section field'); 34 | set('monitor type','2D X-normal'); 35 | set('x', port3X+sensor*margSlover ); 36 | set('y', y ); set('y span', yB ); 37 | set('z', z ); set('z span', zB ); 38 | set('override global monitor settings',1); 39 | set('use linear wavelength spacing',1); 40 | set('frequency points',temp); 41 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/varFDTD/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/varFDTD/varFDTD_doll_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addvarfdtd; 6 | } 7 | else 8 | { 9 | select('varFDTD'); 10 | } 11 | set('simulation time',sim_time); 12 | set('dt stability factor',dt); 13 | set('x min', port1X-margSlover); set('x max' , port2X+margSlover); 14 | set('y min',ymin); set('y max',ymax); 15 | set('z',0); set('z span',boundaryZ); 16 | set('x0',-get('x')+port1X); set('y0',-get('y')+port1Y); 17 | # set('min mesh step', 1e-9); # 网格最小尺寸 18 | set('bandwidth','broadband'); 19 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 20 | set('x min bc','PML'); set('x max bc','PML'); 21 | set('y min bc','PML'); set('y max bc','PML'); 22 | set('z min bc','Metal'); set('z max bc','Metal'); 23 | 24 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/N WGs (code)/varFDTD/varFDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 仿真参数 2 | if (solver_opt == 2) 3 | { 4 | solver = 'EME'; 5 | feval(pathB+'\EME'+'\' + 'EME_set'); 6 | } 7 | else 8 | if (solver_opt == 1) 9 | { 10 | solver = 'varFDTD'; 11 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_doll_set' ); 12 | if (pt_opt == 1) 13 | { 14 | feval(pathB+'\varFDTD'+'\' + 'pt_set'); # 设置光源,功率监视器,时间监视器 15 | } 16 | else 17 | {# 由于 2.5D-FDTD 不能选端口,此分支被弃用 18 | feval(pathB+'\varFDTD'+'\' + 'port_set'); # 设置端口 19 | } 20 | if (profile_opt == 1) 21 | { 22 | feval(pathB+'\varFDTD'+'\' + 'profile_set'); 23 | } 24 | } 25 | else 26 | if (solver_opt == 3) 27 | { 28 | solver = 'FDTD'; 29 | feval(pathB+'\FDTD3'+'\' + 'FDTD_set'); 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /Components Library/tirdent-WG PBS/readme: -------------------------------------------------------------------------------- 1 | Simulation code and result about trident-waveguide polarization beam splitter(trident-WG PBS). 2 | ---- Hezq 3 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/EME/EME_SB.lsf: -------------------------------------------------------------------------------- 1 | 2 | addfde; 3 | set("solver type", "2D X normal"); 4 | set("x", port2X+margSlover ); 5 | set("y", port2Y ); set("y span", widthC+2*marg ); 6 | set("z", 0 ); set("z span", boundaryZ ); 7 | set('define y mesh by' , 'maximum mesh step'); 8 | set('define z mesh by' , 'maximum mesh step'); 9 | set("dy", 20e-9 ); set("dz", 20e-9 ); 10 | set("wavelength", waCve); 11 | set("number of trial modes" , 10 ); 12 | findmodes; 13 | selectmode(2); 14 | # 擦屁股 15 | switchtolayout; 16 | setactivesolver("EME"); 17 | 18 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/EME/EME_set.lsf: -------------------------------------------------------------------------------- 1 | profile_set = 1; 2 | # EME 内部参数 3 | emeDog = port1X-nail; # EME 左侧输入 4 | emeSB = port1Y; # EME 中心坐标 Y 5 | 6 | Ddev = round((abs(widthMM-width))*G/25); 7 | 8 | if (Ddev < 20) 9 | { 10 | Ddev = 20; 11 | } 12 | CellL = [ nail ; JR ; lengthMM ; JR ; nail ]; 13 | comboL = [ 1 ; Ddev ; 1 ; Ddev ; 1 ]; # 中间的器件被平均分为 Ddev 个 subcells 14 | methodL = [ 0 ; 1 ; 1 ; 1 ; 0 ]; # 0 = none 15 | # 1 = CVCS 16 | # 求解器,端口 17 | feval(pathB+'\EME'+'\' + 'fmsp_set'); 18 | if (profile_opt == 1) 19 | {# 轮廓监视器 20 | feval(pathB+'\EME'+'\' + 'EMEprofile_set'); 21 | } 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/EME/EMEprofile_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | select('EME'); 3 | x = get('x min'); xB = x + lengthDEV + 2*nail; 4 | y = get('y'); yB = get('y span'); 5 | # 轮廓监视器 6 | if (add_opt==0) 7 | { 8 | addemeprofile; 9 | set('name','top-down field');# 俯视图 10 | set('monitor type','2D Z-normal'); 11 | set('x min', x ); set('x max', xB ); 12 | set('y', y ); set('y span',yB ); 13 | set('z', 0); 14 | addemeprofile; 15 | set('name','cross-section field');# 截面图 16 | set('monitor type','2D X-normal'); 17 | set('x', x ); 18 | set('y', y ); set('y span',yB ); 19 | set('z',0); set('z span',thick+2*marg); 20 | } 21 | else 22 | { 23 | select('top-down field');# 俯视图 24 | set('x min', x ); set('x max', xB ); 25 | set('y', y ); set('y span',yB ); 26 | set('z', 0); 27 | select('cross-section field');# 截面图 28 | set('x', x ); 29 | set('y', y ); set('y span',yB ); 30 | set('z',0); set('z span',thick+2*marg); 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/EME/fmsp_set.lsf: -------------------------------------------------------------------------------- 1 | # EME 仿真 2 | if (add_opt==0) 3 | { 4 | addeme; 5 | } 6 | else 7 | { 8 | select('EME'); 9 | } 10 | 11 | set('x min', emeDog); 12 | set('y',emeSB); set('y span',boundaryY); 13 | set('z',0); set('z span',boundaryZ); 14 | set('y min bc','PML'); set('y max bc','PML'); 15 | set('z min bc','Metal'); set('z max bc','Metal'); 16 | # 设置cell属性 17 | # set('display cells',1); 18 | set("number of modes for all cell groups", 20); # 特征模展开到第20项 19 | set('wavelength',waCve); 20 | set('number of cell groups',length(CellL)); 21 | set("number of periodic groups", 1); # periodic groups,仿光栅时用到 22 | set("group spans", CellL ); 23 | set("cells",comboL); 24 | set("subcell method",methodL); # 0 = none, 25 | # 1 = CVCS 26 | # EME 自带两个port,记录S参数 27 | select("EME::Ports::port_1"); 28 | set('use full simulation span',1); 29 | set("y",-emeSB+port1Y); set("y span",width+2*marg); 30 | set("z",0); set("z span",boundaryZ); 31 | updateportmodes(Smode); 32 | select("EME::Ports::port_2"); 33 | set("use full simulation span",1); 34 | set("y",-emeSB+port2Y); set("y span",width+2*marg); 35 | set("z",0); set("z span",boundaryZ); 36 | updateportmodes(Smode); 37 | if (wave_opt>0) 38 | { 39 | setemeanalysis("wavelength sweep",1); 40 | setemeanalysis("start wavelength",waveMIN); 41 | setemeanalysis("stop wavelength",waveMAX); 42 | setemeanalysis("number of wavelength points",Dwave); 43 | setemeanalysis("calculate group delays",GD_opt); 44 | } 45 | 46 | # 设置 长度 仿真参数 47 | setemeanalysis("propagation sweep",1); 48 | # setemeanalysis('parameter','group span 3'); 49 | setemeanalysis("start",lengthMMMIN); 50 | setemeanalysis("stop",lengthMMMAX); 51 | setemeanalysis("number of points",DlengthMM); 52 | 53 | 54 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/FDTD3/FDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addfdtd; 6 | set('dimension','3D'); 7 | } 8 | else 9 | { 10 | select('FDTD'); 11 | } 12 | set('simulation time',sim_time); 13 | set('dt stability factor',dt); 14 | 15 | 16 | set('x min', port1X-margSlover ); set('x max' , port2X+margSlover ); 17 | set('y min', port3Y-margSlover ); set('y max' , port4Y+margSlover ); 18 | set('z',0); set('z span',boundaryZ); 19 | # set('min mesh step',100e-9); 20 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 21 | set('x min bc','PML'); set('x max bc','PML'); 22 | set('y min bc','PML'); set('y max bc','PML'); 23 | set('z min bc','PML'); set('z max bc','PML'); 24 | 25 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/FDTD3/profile_set.lsf: -------------------------------------------------------------------------------- 1 | # FDTD 的轮廓监视器,取相对坐标 2 | temp = 11; # 默认取11个频点 3 | select('FDTD'); 4 | x = get('x min'); xB = get('x max'); 5 | y = get('y'); yB = get('y span'); 6 | if(add_opt==1) 7 | { 8 | select('top-down field'); 9 | } 10 | else 11 | { 12 | addprofile; 13 | } 14 | set('name','top-down field'); 15 | set('monitor type','2D Z-normal');# 俯视图 16 | set('x min', x); set('x max' , xB); 17 | set('y',y ); set('y span',yB); 18 | set('override global monitor settings',1); 19 | set('use linear wavelength spacing',1); 20 | set('frequency points',temp); 21 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ID/crossingID.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 根据器件参数,定义文件名,为避免同名覆盖 3 | fileT = ''; 4 | if (Smode == TE) 5 | { 6 | temp = ' TE'; 7 | } 8 | else 9 | { 10 | temp = 'TM'; 11 | } 12 | fileT = fileT + temp; 13 | if (solver_opt == 2) 14 | { 15 | fileT = fileT + ' EME'; 16 | } 17 | else if (solver_opt == 3) 18 | { 19 | fileT = fileT + ' FDTD3'; 20 | } 21 | if (clad_opt==1) 22 | { 23 | fileT = fileT + ' clad'; 24 | } 25 | file = file + fileT; -------------------------------------------------------------------------------- /Components Library/waveguide crossing/MESH/crossingMESH.lsf: -------------------------------------------------------------------------------- 1 | if (gds_opt==1) 2 | { 3 | feval(pathB+'\MESH'+'\' + 'meshgap' ); 4 | } 5 | else 6 | { 7 | # 网格设置:不同的器件设置不同密度的网格,网格尺寸必须是器件最小特征尺寸的整数分之一 8 | # Lumerical默认网格覆盖,所以,建议先绘制全局的粗网格,再利用独立脚本绘制局部的细网格 9 | NT1 = 'waveguide'; 10 | # 按照 特征尺寸 定义 网格尺寸 11 | wovX = 5; # 每个 特征尺寸X wovX 等分 12 | wovY = 25; # 每个 特征尺寸Y wovY 等分 13 | wovZ = 22; # 每个 特征尺寸Z wovZ 等分 14 | if ( solver_opt!=2 ) 15 | {# FDTD 仿真 16 | wovX = 5; 17 | wovY = 10; 18 | wovZ = 4; 19 | } 20 | mesh_override_dx = pitchX / wovX; # X方向,长度方向 21 | mesh_override_dy = pitchY / wovY; # Y方向,截面水平方向 22 | mesh_override_dz = pitchZ / wovZ; # Z方向,截面垂直方向 23 | if (add_opt==0) 24 | { 25 | addmesh; # 根据结构设置网格 26 | set('based on a structure', 1); 27 | set('structure', DEV); 28 | set('dx',mesh_override_dx); 29 | set('dy',mesh_override_dy); 30 | set('dz',mesh_override_dz); 31 | set("name",NT1); 32 | } 33 | else 34 | { 35 | # 方式1:根据结构设置网格 36 | select(NT1); 37 | set('based on a structure', 1); 38 | set('structure', DEV); 39 | set('dx',mesh_override_dx); 40 | set('dy',mesh_override_dy); 41 | set('dz',mesh_override_dz); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/MESH/meshgap.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 直接定义网格尺寸 3 | wovX = 2; # 每个 特征尺寸X wovX 等分 4 | wovGap = 4; 5 | wovZ = 4; # 每个 特征尺寸Z wovZ 等分 6 | mesh_override_dx = pitchX / wovX; 7 | gapDY = gap/wovGap; 8 | mesh_override_dz = pitchZ / wovZ; 9 | 10 | NT2 = 'gap'; 11 | len = 28.5e-6; 12 | widthMM = 1240e-9; 13 | addmesh; 14 | set('x min', ExcitP );set('x max', ExcitP + len ); 15 | set('y min', ExcitQ + widthMM/2 );set('y max', ExcitQ+widthMM/2 + gap ); 16 | set('z',0);set('z span',pitchZ + 2*mesh_override_dz); 17 | set('dx',mesh_override_dx); 18 | set('dy',gapDY); 19 | set('dz',mesh_override_dz); 20 | set("name",NT2); 21 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/brick/S2port.lsf: -------------------------------------------------------------------------------- 1 | 2 | 3 | waveA = linspace(waveMIN,waveMAX,Dwave); 4 | Port3 = getresult('expansion','expansion for Port3expa'); 5 | 6 | po3 = Port3.T_net; 7 | # plot(waveA*G,10*log10(po3)); 8 | 9 | #if (whpo==2) 10 | #{ 11 | ## Port2 = getresult('expansion','expansion for Port'+num2str(whpo)+'expa'); 12 | #} 13 | #else 14 | #{ 15 | ## Port1 = getresult('expansion','expansion for Port'+num2str(whpo)+'expa'); 16 | #} 17 | 18 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/brick/hit.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/brick/hitEME.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | 3 | if (wave_opt == 0) 4 | { 5 | Se = getemesweep("S"); # 获取长度扫描信息 6 | } 7 | else 8 | { 9 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 10 | } 11 | 12 | # 散射系数 13 | sc21 = Se.s21; # TE0-TE1 14 | sc11 = Se.s11; # TE0-TE0 15 | # 功率传输 16 | po21 = abs(sc21)^2; 17 | po11 = abs(sc11)^2; 18 | # 相位 19 | ph21 = angle(sc21); 20 | ph11 = angle(sc11); 21 | 22 | 23 | # 循环时,请注释掉 24 | waveA = linspace(waveMIN,waveMAX,Dwave); 25 | lengthMMA = linspace(8.27e-6,8.32e-6,51); 26 | plot(lengthMMA*M,10*log10(po21),10*log10(po11)); -------------------------------------------------------------------------------- /Components Library/waveguide crossing/brick/hitEME_aba.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | waveA = linspace(waveMIN,waveMAX,Dwave); 3 | 4 | if (wave_opt == 0) 5 | { 6 | Se = getemesweep("S"); # 获取长度扫描信息 7 | } 8 | else 9 | { 10 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 11 | } 12 | 13 | # 散射系数 14 | sc21 = Se.s21; # TE0-TE1 前向模式转换 15 | sc11 = Se.s11; # TE0-TE0 基模反射 16 | # 功率传输 17 | po21 = abs(sc21)^2; 18 | po11 = abs(sc11)^2; 19 | # 相位 20 | ph21 = angle(sc21); 21 | ph11 = angle(sc11); -------------------------------------------------------------------------------- /Components Library/waveguide crossing/brick/hitFDTD.lsf: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 提取 FDTD 数据 4 | 5 | 6 | 7 | laser = transmission('laser'); 8 | po3 = transmission('cross')/laser; 9 | po2 = transmission('bar')/laser; 10 | 11 | 12 | 13 | 14 | 15 | 16 | # 在循环时,请注释掉 17 | waveA = linspace(waveMIN,waveMAX,Dwave); 18 | plot(waveA*G,10*log10(abs(po3)),10*log10(po2)); 19 | matlabsave(pathB+demon+pfolderExport+'\' + file ); 20 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/crossingModel.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 建模 2 | if ( add_opt == 0 ) 3 | { 4 | feval(pathB+'\ini'+'\' + 'crossingQini' ); 5 | feval(pathB+'\ini'+'\' + 'crossingQrep' ); 6 | feval(mater+'\'+ 'materialsQini' ); 7 | if (gds_opt==1) 8 | { 9 | feval(pathB+'\LV'+'\' + 'LVcrossingGDS' ); 10 | } 11 | else 12 | { 13 | feval(pathB+'\LV'+'\' + 'crossingLV' ); 14 | } 15 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); 16 | feval(pathB+'\MESH'+'\' + 'crossingMESH' ); 17 | } 18 | else 19 | { 20 | feval(pathB+'\ini'+'\' + 'crossingQSini' ); 21 | switchtolayout; 22 | if (gds_opt==1) 23 | { 24 | feval(pathB+'\LV'+'\' + 'LVcrossingGDS' ); 25 | } 26 | else 27 | { 28 | feval(pathB+'\LV'+'\' + 'crossingLV' ); 29 | } 30 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_set' ); 31 | feval(pathB+'\MESH'+'\' + 'crossingMESH' ); 32 | } 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/crossingWagain.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical仿真 ADC 2 | # clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | home = filedirectory(currentscriptname); 6 | pathB = 'E:\Codes\Lumerical\Components Library\a ADC\domo'; 7 | feval(pathB+'\' + 'ini__'); 8 | feval(pathB+'\ini\' + 'adcQini'); 9 | feval(pathB+'\ini\' + 'adcQrep'); 10 | gds_opt = 0; 11 | add_opt = 1; 12 | solver_opt = 2; 13 | width = 500e-9; 14 | widthTAP = 500e-9; 15 | gap = 200e-9; 16 | widthH = 1240e-9; 17 | widthC = 1240e-9; 18 | feval(pathB+'\' + 'adcModel'); 19 | 20 | file = DEV + ' ' + num2str(widthH*G) + ' gap ' + num2str(gap*G) + ' nm'; 21 | feval(pathB+'\ID'+'\' + 'adcID' ); 22 | # save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 23 | 24 | ## ######################### 25 | ## 执行仿真 26 | #cd(pathB + demon + pfolderG); 27 | #run; # 仿真,并保存项目文件到当前文件夹 28 | #if( solver_opt == 2 ) 29 | #{ 30 | #if ( wave_opt>0 ) 31 | #{# 是否扫描波长,2020新功能 ,因为忽略了波导色散,仿真光栅不准 32 | ## 但是仿真 长周期光栅 , 只能用 EME 波长扫描。 varFDTD 是狗屎 33 | #setemeanalysis("wavelength sweep",1); 34 | #setemeanalysis("start wavelength",waveMIN); 35 | #setemeanalysis("stop wavelength",waveMAX); 36 | #setemeanalysis("number of wavelength points",Dwave); 37 | #setemeanalysis("calculate group delays",GD_opt); 38 | #emesweep("wavelength sweep"); 39 | #} 40 | #else 41 | #if (length_opt>0) 42 | #{# 长度扫描 43 | #setemeanalysis('parameter','group span 2'); 44 | #emesweep('propagation sweep'); 45 | #} 46 | #} 47 | ###后处理 48 | #feval(pathB+lowerical+'\'+ 'hitEME' ); # 提取监视器S参数 49 | #matlabsave(pathB+demon+pfolderExport+'\' + file ); 50 | #if (wave_opt>0) 51 | #{ 52 | #plot(waveA*G,10*log10(po21),10*log10(po11)); 53 | #} 54 | #else 55 | #{ 56 | #plot(lengthCPA*M,10*log10(po21),10*log10(po11)); 57 | #} 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/crossingWdemo.lsf: -------------------------------------------------------------------------------- 1 | # Lumerical SB 仿真 波导交叉 2 | clear;closeall; 3 | ############################################### 4 | home = filedirectory(currentscriptname); 5 | pathB = 'E:\Codes\Lumerical\Components Library\WG crossing'; 6 | feval(pathB+'\' + 'ini__' ); 7 | feval(pathB+'\ini'+'\' + 'crossingQini' ); 8 | feval(pathB+'\ini'+'\' + 'crossingQrep' ); 9 | newproject; 10 | add_opt = 0; 11 | feval(pathB+'\' + 'crossingModel' ); 12 | 13 | file = DEV + ' ' + num2str(JR*G) + ' nm'; 14 | feval(pathB+'\ID'+'\' + 'crossingID' ); 15 | save(pathB+demon+pfolderP+'\' + file ); # 保存器件的原始建模文件 16 | 17 | ##执行仿真 18 | cd(pathB+demon + pfolderG ); 19 | run; # 仿真,并保存项目文件到当前文件夹 20 | #if( solver_opt == 2 ) 21 | #{ 22 | #emesweep("wavelength sweep"); 23 | #setemeanalysis('parameter','group span 2'); 24 | #emesweep("propagation sweep"); 25 | #} 26 | #后处理 27 | feval(pathB+lowerical+'\'+ 'hitFDTD' ); 28 | # matlabsave( pathB+ demon + pfolderExport + '\' + file ); -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ini/crossingPort.lsf: -------------------------------------------------------------------------------- 1 | # 端口 2 | port1X = ExcitP; # 输入端 3 | port1Y = ExcitQ; 4 | port2X = ExcitP+lengthDEV; # 直通端 5 | port2Y = port1Y; 6 | port3X = (port1X+port2X)/2; # 交叉端 7 | port3Y = port1Y-(port3X-port1X); 8 | port4X = port3X; # 交叉端 9 | port4Y = port1Y+(port3X-port1X); -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ini/crossingQSini.lsf: -------------------------------------------------------------------------------- 1 | # 高阶参数 (根据初始参数自动生成) 2 | lengthDEV = lengthMM+2*JR; # 器件长度 3 | widthDEV = lengthDEV; 4 | if ( solver_opt==2 ) 5 | { 6 | widthDEV = widthMM; # 器件宽度 7 | } 8 | feval(pathB+'\ini'+'\' + 'crossingPort' ); 9 | xmin = port1X - lengthE; # 最左边 10 | xmax = port1X + lengthDEV + lengthE; # 最右边 11 | lengthTOTAL = xmax - xmin; # 器件总长度( Device+两侧的直波导 ) 12 | widthB = widthDEV + 2*widthE; # 衬底宽度 13 | Dwave = floor((waveMAX-waveMIN)*DwaveU*G)+1; # 波长采样点数 14 | boundaryY = widthDEV + 2*TMD*marg; # 仿真区域Y边缘参数,若FDTD发散,请加大此边界 15 | boundaryZ = thick + 2*marg; # 仿真区域Z边缘参数 16 | # 网格参数 -- 器件的特征尺寸 17 | pitchX = 100e-9; 18 | pitchY = width; 19 | pitchZ = thick; 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ini/crossingQini.lsf: -------------------------------------------------------------------------------- 1 | # 单位常量 2 | K = 1e3; 3 | M = 1e6; 4 | G = 1e9; 5 | MM = M*M; 6 | # 材料参数 7 | material_BOX = 'SiO2 (Glass) - Const'; 8 | material_Si = 'Si (Silicon) - Dispersive & Lossless'; 9 | TE = 1; 10 | TM = 2; 11 | # DEV参数 12 | DEV = 'WGX'; 13 | thick = 220e-9; # 波导厚度 14 | thickB = 3e-6; # 衬底厚度 15 | clad = 2e-6; # 包层厚度 16 | ExcitP = 0; # 器件初始 X 坐标 17 | ExcitQ = 0; # 器件初始 Y 坐标 18 | width = 500e-9; # 波导宽度 19 | widthMM = 1350e-9; 20 | JR = 1300e-9; # taper 长度 , 非绝热 21 | lengthMM = 5000e-9; # 多模波导长度 22 | lengthE = 3e-6; # 器件沿长度方向的加长 23 | widthE = 5e-6; # 衬底沿宽度方向的加宽 24 | # 求解器参数 25 | waveMIN = 1400e-9; 26 | waveMAX = 1700e-9; 27 | waCve = 1550e-9; 28 | DwaveU = 1; # 每单位波长采样点数 29 | lengthMMMIN = 4000e-9; 30 | lengthMMMAX = 6000e-9; 31 | DlengthMM = 201; 32 | donor = 0.5; # 光源位置参数 , 用于 FDTD 33 | sensor = 1/2*(1+donor); # 监视器位置参数,用于FDTD 34 | nail = 10e-9; # EME 的指甲 35 | TMD = 3; 36 | marg = 1e-6; # 仿真区域YZ边缘参数,大于最大的仿真波长 37 | margSlover = 2e-6; # 光源,求解器位置参数,一般不要动 38 | Mesh_level = 2; # 网格等级 39 | sim_time = 18000e-15; # 仿真时间 40 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 41 | # 选项 42 | clad_opt = 1; # 是否加clad 43 | pt_opt = 1; # 弃用--If true , 设置功率,时间监视器 ; 否则 , 设置端口 44 | profile_opt = 0; # 是否计算电场轮廓 45 | GD_opt = 0; # 是否计算群时延 , 用于 EME 求解器 46 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 47 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 48 | Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 49 | solver_opt = 1; # 采用何种求解器 50 | # 1 = var-FDTD 51 | # 2 = EME 52 | # 3 = 3D-FDTD 53 | Smode = TE; # 选择模式 54 | add_opt = 0; # 用于参数扫描 55 | # 0 = add(object) 56 | # 1 = select(object) 57 | gds_opt = 0; 58 | # 高阶参数 (根据初始参数自动生成) 59 | feval(pathB+'\ini'+'\' + 'crossingQSini' ); 60 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ini/crossingQrep.lsf: -------------------------------------------------------------------------------- 1 | # DEV参数 2 | # thick = 220e-9; # 波导厚度 3 | 4 | 5 | width = 500e-9; # 波导宽度 6 | 7 | 8 | # widthMM = 1350e-9; 9 | # JR = 1300e-9; # taper 长度 , 非绝热 10 | # lengthMM = 4960e-9; # EME 仿真结果 11 | # lengthMM = 4400e-9; # TE , 想把中心波长 优化到 1550 nm , 稍微降低了插损, 但串扰增大了 12 | 13 | # widthMM = 1750e-9; 14 | # JR = 1800e-9; # taper 长度 , 非绝热 15 | # lengthMM = 8290e-9; # TE 16 | # lengthMM = 8660e-9; # TM 17 | 18 | # widthMM = 2000e-9; 19 | # JR = 2200e-9; # taper 长度 , 非绝热 20 | # lengthMM = 10890e-9; # TE 21 | # lengthMM = 10585e-9; # TM 2021-8-8 损耗有待优化 22 | 23 | widthMM = 2500e-9; 24 | JR = 3000e-9; # taper 长度 , 非绝热 25 | lengthMM = 15215e-9; # TM 26 | 27 | # 求解器参数 28 | waveMIN = 1400e-9; 29 | waveMAX = 1700e-9; 30 | waCve = 1550e-9; 31 | DwaveU = 1; # 每单位波长采样点数 32 | lengthMMMIN = 4000e-9; 33 | lengthMMMAX = 6000e-9; 34 | DlengthMM = 201; 35 | Mesh_level = 2; # 网格等级 36 | sim_time = 36000e-15; # 仿真时间 37 | dt = 0.99; # 时间步长稳定因子,默认为0.99,若发散,将其改小 38 | # 选项 39 | clad_opt = 1; # 是否加clad 40 | pt_opt = 1; # 弃用--If true , 设置功率,时间监视器 ; 否则 , 设置端口 41 | profile_opt = 1; # 是否计算电场轮廓 42 | GD_opt = 0; # 是否计算群时延 43 | wave_opt = 0; # 是否扫描波长 , 用于 EME 求解器 44 | length_opt = 1; # 是否扫描长度 , 用于 EME 求解器 45 | Sp_opt = 0; # 是否计算S参数 , 用于 FDTD 后处理 46 | Smode = TM; # 选择模式 47 | solver_opt = 3; # 采用何种求解器 48 | # 1 var-FDTD 49 | # 2 EME 50 | # 3 3D-FDTD 51 | gds_opt = 0; 52 | # 高阶参数 (根据初始参数自动生成) 53 | feval(pathB+'\ini'+'\' + 'crossingQSini'); 54 | 55 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/ini__.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 用于集成光学仿真时导入路径依赖的包 3 | pathB = 'E:\Codes\Lumerical\Components Library\WG crossing'; # 导入核心库 4 | pathwise = 'E:\Codes\Lumerical\Grating\Matlab_Utils'; # 导入数据处理,通常是最后一步 5 | demon = '\demon'; # 放置单次仿真结果 6 | MC = '\MC'; # 放置参数扫描结果 7 | lowerical = '\brick'; # 用于后处理的函数 8 | mater = 'E:\Codes\Lumerical\PIC_material\materials'; # 导入材料库 9 | weapon = 'E:\Codes\Lumerical\weapon'; # 导入通用函数库 10 | pfolderP = '\row'; # 存放没有run的lumerical文件 11 | pfolderG = '\result'; # 存放run之后的lumerical文件 12 | pfolderExport = '\matlab'; # 导出数据的文件夹 -------------------------------------------------------------------------------- /Components Library/waveguide crossing/varFDTD/port_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 设置端口 3 | addport; -------------------------------------------------------------------------------- /Components Library/waveguide crossing/varFDTD/profile_set.lsf: -------------------------------------------------------------------------------- 1 | 2 | # FDTD 的轮廓监视器,取相对坐标 3 | temp = 11; # 默认取11个频点 4 | select('varFDTD'); 5 | x = get('x min'); xB = get('x max'); 6 | y = get('y'); yB = get('y span'); 7 | if(add_opt==1) 8 | { 9 | select('top-down field'); 10 | } 11 | else 12 | { 13 | addprofile; 14 | } 15 | set('name','top-down field'); 16 | set('monitor type','2D Z-normal');# 俯视图 17 | set('x min', x); set('x max' , xB); 18 | set('y',y ); set('y span',yB); 19 | set('override global monitor settings',1); 20 | set('use linear wavelength spacing',1); 21 | set('frequency points',temp); 22 | 23 | # addprofile; 24 | # set('name','corss-section field'); 25 | # set('monitor type','2D X-normal');# 截面图 26 | # set('x min',-1.5*marg); 27 | # set('y',0); set('y span',boundaryY); 28 | # set('z',0); set('z span',boundaryZ); 29 | # set('override global monitor settings',1); 30 | # # set('use source limits',1); 31 | # set('use linear wavelength spacing',1); 32 | # set('frequency points',temp); -------------------------------------------------------------------------------- /Components Library/waveguide crossing/varFDTD/varFDTD_doll_set.lsf: -------------------------------------------------------------------------------- 1 | # 定向耦合器 2 | # varFDTD 3 | if (add_opt==0) 4 | { 5 | addvarfdtd; 6 | } 7 | else 8 | { 9 | select('varFDTD'); 10 | } 11 | set('simulation time',sim_time); 12 | set('dt stability factor',dt); 13 | set('x min', port1X-margSlover); set('x max' , port2X+margSlover); 14 | set('y min',ymin); set('y max',ymax); 15 | set('z',0); set('z span',boundaryZ); 16 | set('x0',-get('x')+port1X); set('y0',-get('y')+port1Y); 17 | # set('min mesh step', 1e-9); # 粗网格 18 | set('bandwidth','broadband'); # 设置光源带宽,设成broadband肯定没问题 19 | set('mesh accuracy',Mesh_level);# 网格精度,一般设为 2 20 | set('x min bc','PML'); set('x max bc','PML'); 21 | set('y min bc','PML'); set('y max bc','PML'); 22 | set('z min bc','Metal'); set('z max bc','Metal'); 23 | 24 | -------------------------------------------------------------------------------- /Components Library/waveguide crossing/varFDTD/varFDTD_set.lsf: -------------------------------------------------------------------------------- 1 | # 设置Var-FDTD仿真参数 2 | # path = 'E:\Codes\Lumerical\Grating\domo'; 3 | # addpath(path); 4 | # GratingQini; 5 | # 上述是为了脚本测试,运行主程序时请注释掉 6 | 7 | # Var-FDTD 8 | if (solver_opt == 2) 9 | { 10 | feval(pathB+'\EME'+'\' + 'EME_set'); 11 | } 12 | else 13 | if (solver_opt == 1) 14 | { 15 | feval(pathB+'\varFDTD'+'\' + 'varFDTD_doll_set' ); 16 | if (pt_opt == 1) 17 | { 18 | feval(pathB+'\varFDTD'+'\' + 'pt_set'); # 设置光源,功率监视器,时间监视器 19 | } 20 | else 21 | { 22 | feval(pathB+'\varFDTD'+'\' + 'port_set'); # 设置端口 23 | } 24 | if (profile_opt == 1) 25 | { 26 | feval(pathB+'\varFDTD'+'\' + 'profile_set'); 27 | } 28 | } 29 | else 30 | if (solver_opt == 3) 31 | { 32 | feval(pathB+'\FDTD3'+'\' + 'FDTD_set'); 33 | feval(pathB+'\FDTD3'+'\' + 'port_set'); # 设置端口 34 | if (profile_opt == 1) 35 | { 36 | feval(pathB+'\FDTD3'+'\' + 'profile_set'); 37 | } 38 | } 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Components Library/waveguide/FDE/FDE_set.lsf: -------------------------------------------------------------------------------- 1 | # 特征模求解器设置 2 | solver = 'FDE'; 3 | if (add_opt==0) 4 | { 5 | addfde; 6 | } 7 | else 8 | { 9 | select(solver); 10 | } 11 | set("solver type", "2D X normal"); 12 | set("x", port1X ); 13 | set("y", port1Y ); set("y span", boundaryY ); 14 | set("z", 0 ); set("z span", boundaryZ ); 15 | set('define y mesh by' , 'maximum mesh step'); 16 | set('define z mesh by' , 'maximum mesh step'); 17 | set("dy", meshsize); set("dz", meshsize); 18 | set("wavelength", waCve); 19 | set("number of trial modes" , modes); 20 | if (BWG_opt==1) 21 | { 22 | set('bent waveguide', BWG_opt ); 23 | set('bend radius', radius ); 24 | } 25 | # 特征模求解器求解 26 | # findmodes; 27 | # selectmodes(sc); -------------------------------------------------------------------------------- /Components Library/waveguide/ID/wgID.lsf: -------------------------------------------------------------------------------- 1 | # 根据器件参数,定义文件名,为避免同名覆盖 2 | fileT = ''; 3 | if ( BWG_opt==1 ) 4 | { 5 | fileT = fileT + ' BWG '+num2str(floor(radiusL(end)*M)) + 'p' + num2str(floor(radiusL(end)*G)-floor(radiusL(end)*M)*K) + ' um'; 6 | } 7 | if (slab_opt==1) 8 | { 9 | fileT = fileT + ' slab'+num2str(floor(thick_slab*G)); 10 | } 11 | if (clad_opt==1) 12 | { 13 | fileT = fileT + ' clad'; 14 | } 15 | file = file + fileT; -------------------------------------------------------------------------------- /Components Library/waveguide/Lumerical App home/WG_width_sweep.lms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/Lumerical App home/WG_width_sweep.lms -------------------------------------------------------------------------------- /Components Library/waveguide/Lumerical App home/WG_width_sweep.lsf: -------------------------------------------------------------------------------- 1 | clear; cleardcard; 2 | waveguide_width = linspace(3e-6,0.5e-6,21); 3 | 4 | neff1 = matrix(length(waveguide_width)); 5 | neff2 = matrix(length(waveguide_width)); 6 | neff3 = matrix(length(waveguide_width)); 7 | neff4 = matrix(length(waveguide_width)); 8 | neff5 = matrix(length(waveguide_width)); 9 | 10 | slab_neff = 2.754047; # from a reference simulation without the ridge 11 | for (i=1:length(waveguide_width)){ 12 | # set geometry 13 | switchtolayout; 14 | setnamed('ridge','y span',waveguide_width(i)); 15 | findmodes; 16 | 17 | # store top 5 modes for largest waveguide width 18 | # since the mode order may change for different width 19 | if (i==1){ 20 | copydcard('mode1','TE0'); 21 | copydcard('mode2','TE1'); 22 | copydcard('mode3','TE2'); 23 | copydcard('mode4','TE3'); 24 | copydcard('mode5','TM0'); 25 | } 26 | 27 | # store neff for modes at other waveguide width 28 | neff1(i) = real(getdata(bestoverlap('TE0'),'neff'))-slab_neff; 29 | neff2(i) = real(getdata(bestoverlap('TE1'),'neff'))-slab_neff; 30 | neff3(i) = real(getdata(bestoverlap('TE2'),'neff'))-slab_neff; 31 | neff4(i) = real(getdata(bestoverlap('TE3'),'neff'))-slab_neff; 32 | neff5(i) = real(getdata(bestoverlap('TM0'),'neff'))-slab_neff; 33 | if (neff3(i) == neff1(i)){neff3(i) = 0;} 34 | if (neff4(i) == neff2(i)){neff4(i) = 0;} 35 | } 36 | 37 | # plot in normalized units 38 | plot(waveguide_width*1e6,neff1,neff2,neff3,neff4,neff5,'waveguide width (um)','delta_neff'); 39 | setplot('y min',0); setplot('y max',max(neff1)); 40 | legend('TE0','TE1','TE2','TE3','TM0'); 41 | -------------------------------------------------------------------------------- /Components Library/waveguide/Lumerical App home/WG_width_sweep_MODE_backup.lms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/Lumerical App home/WG_width_sweep_MODE_backup.lms -------------------------------------------------------------------------------- /Components Library/waveguide/Lumerical App home/WG_width_sweep_MODE_backup_MODE_backup.lms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/Lumerical App home/WG_width_sweep_MODE_backup_MODE_backup.lms -------------------------------------------------------------------------------- /Components Library/waveguide/MC/wg_waCve.lsf: -------------------------------------------------------------------------------- 1 | # 再次仿真 波导 截面 模式 2 | clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | home = filedirectory(currentscriptname); 6 | pathB = 'E:\Codes\Lumerical\Components Library\waveguide'; 7 | feval(pathB+'\' + 'ini__'); 8 | feval(pathB+'\ini\' + 'wgQini'); 9 | feval(pathB+'\ini\' + 'wgQrep'); 10 | add_opt = 1; 11 | 12 | 13 | 14 | # 定义扫描参数 15 | sop = 1500; fin = 1600; dw = 1; 16 | waCveL = [ sop:dw:fin ] / G; 17 | hong = length(waCveL); 18 | width = 800e-9; 19 | file = DEV + ' waCveL ' + num2str(waCveL(1)*G) + ' ~ ' + num2str(waCveL(end)*G) + ' nm'; 20 | SB = 2; # 只获取前两个模式的数据 , 在多模波导中,这表示 TE0 , TE1 21 | 22 | # 保存文件 23 | # save(pathB + demon + pfolderP + '\' + file ); # 保存器件的原始建模文件 24 | cd(pathB + demon + pfolderG); 25 | widthL = zeros(hong); 26 | neffM = zeros(hong,SB); 27 | TE_polM = zeros(hong,SB); 28 | # 执行 FDE 求解 29 | for ( k=1:hong ) 30 | { 31 | waCve = waCveL(k); 32 | feval(pathB+'\' + 'wgModel'); 33 | n = findmodes; # 利用特征模求解器求解模式 34 | feval(pathB+'\brick'+'\' + 'hit' ); 35 | widthL(k) = width; 36 | } 37 | 38 | 39 | 40 | 41 | cd(pathB + demon + pfolderExport); 42 | matlabsave(file,widthL,waCveL,neffM,TE_polM,y,z,modalxR,modalyR,modalzR,meshsize); # 将工作区的变量保存到.mat文件 43 | 44 | 45 | -------------------------------------------------------------------------------- /Components Library/waveguide/ModeSmooth.m: -------------------------------------------------------------------------------- 1 | function neffT = ModeSmooth(widthL,neffM) 2 | %% 为lumerical擦屁股,解决曲线与模式不匹配的问题 3 | % A:neffM : widthL , modeL 4 | % C: 5 | % G: 6 | neffT = zeros(size(neffM)); 7 | neffT(end-1:end,:) = neffM(end-1:end,:) 8 | for k = size(neffM,1)-1:2 9 | Sk = inc(k); 10 | Dk = dec(k); 11 | for kk = 1:size(neffM,2) 12 | Skk = inc(kk); 13 | Dkk = dec(kk); 14 | if kk == 1 15 | index = predict([ widthL(k), neffT(k,kk); 16 | widthL(Sk),neffT(Sk,kk); 17 | widthL(Dk),neffM(Dk,kk); 18 | widthL(Dk),neffM(Dk,Skk) 19 | ]); 20 | elseif kk == size(neffM,2) 21 | index = predict([ widthL(k), neffT(k,kk); 22 | widthL(Sk),neffT(Sk,kk); 23 | widthL(Dk),neffM(Dk,kk); 24 | widthL(Dk),neffM(Dk,Dkk) 25 | ]); 26 | else 27 | index = predict([ widthL(k), neffT(k,kk); 28 | widthL(Sk),neffT(Sk,kk); 29 | widthL(Dk),neffM(Dk,kk); 30 | widthL(Dk),neffM(Dk,Dkk); 31 | widthL(Dk),neffM(Dk,Skk) 32 | ]); 33 | end 34 | end 35 | return 36 | 37 | function 38 | 39 | 40 | return 41 | -------------------------------------------------------------------------------- /Components Library/waveguide/TEx.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/TEx.m -------------------------------------------------------------------------------- /Components Library/waveguide/brick/_wgSWradius.lsf: -------------------------------------------------------------------------------- 1 | closeall; 2 | neffU = zeros(2,1); 3 | neffU(1) = abs( getdata( 'E0' , 'neff' ) ); 4 | neffU(2) = abs( getdata( 'E1' , 'neff' ) ); 5 | plot(radiusL*M,neffM(1,:)-neffU(1),neffM(2,:)-neffU(2)); 6 | for (k = 1:2) 7 | { 8 | plot(radiusL*M,10*log10(po1(k,:)),10*log10(po2(k,:))); # power coupling 9 | plot(radiusL*M,10*log10(coin1(k,:)),10*log10(coin2(k,:))); # overlap integral 10 | } 11 | matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/waveguide/brick/_wgSWradiusXwaCveA.lsf: -------------------------------------------------------------------------------- 1 | for (k = 1:rowH) 2 | { 3 | plot(radiusL*M,neffM(k,:)-neffUB(k),neffM(k+rowH,:)-neffUB(k+rowH)); 4 | plot(radiusL*M,10*log10(po1(k,:)),10*log10(po2(k,:))); # power coupling 5 | plot(radiusL*M,10*log10(coin1(k,:)),10*log10(coin2(k,:))); # overlap integral 6 | } 7 | # for (k = rowH+1:row) 8 | # { 9 | # plot(radiusL*M,10*log10(po1(k,:)),10*log10(po2(k,:))); # power coupling 10 | # plot(radiusL*M,10*log10(coin1(k,:)),10*log10(coin2(k,:))); # overlap integral 11 | # } 12 | matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/waveguide/brick/_wgSWradiusXwaCveB.lsf: -------------------------------------------------------------------------------- 1 | for (k = 1:rowH) 2 | { 3 | plot(radiusL*M,neffM(k,:)-neffR0(k),neffM(k+rowH,:)-neffR0(k+rowH)); 4 | plot(radiusL*M,10*log10(po1(k,:)),10*log10(po2(k,:))); # power coupling 5 | plot(radiusL*M,10*log10(coin1(k,:)),10*log10(coin2(k,:))); # overlap integral 6 | } 7 | # for (k = rowH+1:row) 8 | # { 9 | # plot(radiusL*M,10*log10(po1(k,:)),10*log10(po2(k,:))); # power coupling 10 | # plot(radiusL*M,10*log10(coin1(k,:)),10*log10(coin2(k,:))); # overlap integral 11 | # } 12 | matlabsave(pathB+demon+pfolderExport+'\' + file ); -------------------------------------------------------------------------------- /Components Library/waveguide/brick/hit.lsf: -------------------------------------------------------------------------------- 1 | # 妈的 , lumerical 2 | # 在循环中,提取 FDE 的数据 3 | if ( k == 1 ) 4 | { 5 | y = getdata("FDE::data::mode"+num2str(1) , 'y'); 6 | z = getdata("FDE::data::mode"+num2str(1) , 'z'); 7 | # 存放电场数据 8 | modalxR = matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 9 | modalyR= matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 10 | modalzR = matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 11 | # 存放磁场数据 12 | # magnxR = matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 13 | # magnyR = matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 14 | # magnzR = matrix(hong,SB,length(y),length(z)); # 存放 2D 模场数据 15 | } 16 | 17 | 18 | for ( m=1:SB ) 19 | { # extract mode data 20 | neffM (k,m) = abs( getdata( "FDE::data::mode"+num2str(m) , "neff" ) ); 21 | TE_polM(k,m) = getdata( "FDE::data::mode"+num2str(m) , "TE polarization fraction" ); 22 | 23 | 24 | # 存放电场数据 25 | modalxR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Ex')); 26 | modalyR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Ey')); 27 | modalzR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Ez')); 28 | # 存放磁场数据 29 | # magnxR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Hx')); 30 | # magnyR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Hy')); 31 | # magnzR(k,m,:,:) = pinch(getdata( 'FDE::data::mode'+num2str(m) , 'Hz')); 32 | } 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Components Library/waveguide/brick/hitEME.lsf: -------------------------------------------------------------------------------- 1 | # 提取数据 2 | if (wave_opt == 0) 3 | { 4 | Se = getemesweep("S"); # 获取长度扫描信息 5 | } 6 | else 7 | { 8 | Se = getemesweep("S_wavelength_sweep"); # 获取波长扫描信息 9 | } 10 | 11 | 12 | po21 = abs(Se.s21); # TE0-TE1 前向模式转换 13 | po11 = abs(Se.s11); # TE0-TE0 基模反射 -------------------------------------------------------------------------------- /Components Library/waveguide/ini/wgPort.lsf: -------------------------------------------------------------------------------- 1 | # 端口 ---- only one 2 | port1X = ExcitP; 3 | port1Y = ExcitQ; -------------------------------------------------------------------------------- /Components Library/waveguide/ini/wgQSini.lsf: -------------------------------------------------------------------------------- 1 | # 高阶参数 (根据初始参数自动生成) 2 | # 求解器参数 3 | widthDEV = width; 4 | feval(pathB+'\ini'+'\' + 'wgPort' ); 5 | xmin = port1X-lengthE; 6 | xmax = port1X+lengthE; 7 | widthB = widthDEV + 2*widthE; # 衬底宽度 8 | # 仿真边缘 9 | boundaryY = width + 2*TMD*marg; 10 | boundaryZ = thick + 2*marg; 11 | # 网格参数 -- 器件的特征尺寸 12 | pitchX = 100e-9; 13 | pitchY = width; 14 | pitchZ = thick; -------------------------------------------------------------------------------- /Components Library/waveguide/ini/wgQini.lsf: -------------------------------------------------------------------------------- 1 | # 单位常量 2 | K = 1e3; 3 | M = 1e6; 4 | G = 1e9; 5 | MM = M*M; 6 | # 定义材料 7 | material_Clad = "SiO2 (Glass) - Const"; # 选取materials中的材料 8 | material_BOX = "SiO2 (Glass) - Const"; # 选取materials中的材料 9 | material_Si = "Si (Silicon) - Dispersive & Lossless"; # 选取materials中的材料 10 | # 定义DEV参数 11 | DEV = 'WG'; 12 | thickB = 3e-6; # 埋氧层厚度 13 | clad = 2e-6; # cladding厚度 14 | ExcitP = 0; 15 | ExcitQ = 0; 16 | thick = 220e-9; # 波导厚度 17 | width = 500e-9; # 波导宽度 18 | thick_Slab = 90e-9; # 平板厚度 , @ slab_opt == 1 19 | lengthE = 3e-6; # 器件两端的直波导长度 20 | widthE = 5e-6; # 衬底沿宽度方向的加宽 21 | # 定义仿真参数 22 | TMD = 3; 23 | marg = 1e-6; # 仿真区域YZ边缘参数,大于最大的仿真波长 24 | waveMIN = 1400e-9; 25 | waveMAX = 1700e-9; 26 | waCve = 1550e-9; 27 | DwaveU = 1; # 每单位波长采样点数 28 | meshsize = 20e-9; # 网格尺寸 29 | modes = 4; # 求解模式数 30 | # 选项 31 | BWG_opt = 0; 32 | radius = 10e-6; # 弯曲半径 33 | slab_opt = 0; # IsSlab 0 -- 条形波导 34 | # 1 -- 脊形波导 35 | clad_opt = 1; 36 | solver_opt = 0; # 采用何种求解器 37 | # 0 = FDE 38 | # 1 = var-FDTD 39 | # 2 = EME 40 | # 3 = 3D-FDTD 41 | add_opt = 0; 42 | gds_opt = 0; 43 | # 高阶参数 (根据初始参数自动生成) 44 | feval(pathB+'\ini'+'\' + 'wgQSini'); -------------------------------------------------------------------------------- /Components Library/waveguide/ini/wgQrep.lsf: -------------------------------------------------------------------------------- 1 | # DEV参数 2 | width = 800e-9; # 波导宽度 3 | # 求解器参数 4 | waveMIN = 1500e-9; 5 | waveMAX = 1600e-9; 6 | waCve = 1550e-9; 7 | DwaveU = 1; # 每单位波长采样点数 8 | meshsize = 5e-9; # 网格尺寸 9 | modes = 4; # 求解模式数 10 | # 选项 11 | # BWG_opt = 0; 12 | # radius = 10e-6; # 弯曲半径 13 | # slab_opt = 0; # 脊形波导 14 | solver_opt = 0; # 采用何种求解器 15 | # 0 = FDE 16 | # 1 = var-FDTD 17 | # 2 = EME 18 | # 3 = 3D-FDTD 19 | # 高阶参数 (根据初始参数自动生成) 20 | feval(pathB+'\ini'+'\' + 'wgQSini'); -------------------------------------------------------------------------------- /Components Library/waveguide/ini__.lsf: -------------------------------------------------------------------------------- 1 | 2 | # 用于集成光学仿真时导入路径依赖的包 3 | 4 | pathB = 'D:\codes\specific language\lumerical\lsf framework\Components Library\waveguide'; 5 | mater = 'D:\codes\specific language\lumerical\lsf framework\PIC_material\materials'; # 导入材料库 6 | 7 | demon = '\demon'; 8 | 9 | pfolderP = '\row'; # 存放没有run的lumerical文件 10 | pfolderG = '\result'; # 存放run之后的lumerical文件 11 | pfolderExport = '\matlab'; # 导出数据的文件夹 12 | 13 | -------------------------------------------------------------------------------- /Components Library/waveguide/loadF.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/loadF.m -------------------------------------------------------------------------------- /Components Library/waveguide/poly/Giant.lsf: -------------------------------------------------------------------------------- 1 | pathB = 'E:\Codes\Lumerical\Components Library\waveguide'; 2 | 3 | feval(pathB+'\poly'+'\' + 'wgSWradiusXwaCveA' ); 4 | 5 | feval(pathB+'\poly'+'\' + 'wgSWradiusXwaCveB' ); -------------------------------------------------------------------------------- /Components Library/waveguide/poly/wgSWradius.lsf: -------------------------------------------------------------------------------- 1 | # 骚喵弯曲半径,计算 UBWG-BWG's Excitation Ratio 2 | # waCve = 1550e-9; 3 | #clear; closeall; 4 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 5 | ############################################### 6 | homeF = currentscriptname; 7 | home = filedirectory(homeF); 8 | pathB = 'E:\Codes\Lumerical\Components Library\waveguide'; 9 | feval(pathB+'\' + 'ini__'); 10 | feval(pathB+'\ini\' + 'wgQini'); 11 | feval(pathB+'\ini\' + 'wgQrep'); 12 | add_opt = 1; # 参数修正 13 | waCve = 1550e-9; 14 | width = 800e-9; 15 | feval(pathB+'\' + 'wgModel'); 16 | n = findmodes; 17 | copydcard(solver+'::data::mode'+num2str(1),'E0'); 18 | copydcard(solver+'::data::mode'+num2str(2),'E1'); 19 | # 骚喵参数 20 | BWG_opt = 1; 21 | dw = 5; 22 | radiusL = transpose([10:dw:800]/M); 23 | neffM = zeros(2,size(radiusL,2)); 24 | coin1 = zeros(2,size(radiusL,2)); 25 | po1 = zeros(2,size(radiusL,2)); 26 | coin2 = zeros(2,size(radiusL,2)); 27 | po2 = zeros(2,size(radiusL,2)); 28 | file = DEV + num2str(waCve*G)+'-'+num2str(width*G) + ' nm' + ' ' + num2str(floor(radiusL(1)*M)); 29 | feval(pathB+'\ID'+'\' + 'wgID' ); 30 | cd(pathB+demon + pfolderG ); 31 | for (k = 1:length(radiusL)) 32 | { 33 | radius = radiusL(k); 34 | feval(pathB+'\' + 'wgModel'); 35 | n = findmodes; 36 | neffM (1,k) = abs( getdata( "FDE::data::mode"+num2str(1) , "neff" ) ); 37 | neffM (2,k) = abs( getdata( "FDE::data::mode"+num2str(2) , "neff" ) ); 38 | # TE0 injecting 39 | olp = overlap('E0',solver+'::data::mode'+num2str(1)); 40 | coin1(1,k) = olp(1); 41 | po1(1,k) = olp(2); 42 | olp = overlap('E0',solver+'::data::mode'+num2str(2)); 43 | coin2(1,k) = olp(1); 44 | po2(1,k) = olp(2); 45 | # TE1 injecting 46 | olp = overlap('E1',solver+'::data::mode'+num2str(1)); 47 | coin1(2,k) = olp(1); 48 | po1(2,k) = olp(2); 49 | olp = overlap('E1',solver+'::data::mode'+num2str(2)); 50 | coin2(2,k) = olp(1); 51 | po2(2,k) = olp(2); 52 | } 53 | fxxk = substring(homeF,length(home)+2,length(homeF)-length(home)-1); 54 | feval(pathB+'\brick'+'\' + '_'+fxxk ); -------------------------------------------------------------------------------- /Components Library/waveguide/test_PM.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/test_PM.m -------------------------------------------------------------------------------- /Components Library/waveguide/wgModel.lsf: -------------------------------------------------------------------------------- 1 | if ( add_opt == 0 ) 2 | {# 初次建模 3 | feval(pathB + '\ini' + '\' + 'wgQini'); 4 | feval(pathB + '\ini' + '\' + 'wgQrep'); 5 | feval( mater + '\' + 'materialsQini' ); 6 | feval(pathB + '\LV' + '\' + 'wgLV'); 7 | feval(pathB + '\FDE' + '\' + 'FDE_set'); 8 | # feval(pathB + '\MESH' + '\' + 'GratingMESH'); 9 | } 10 | else 11 | {# 参数扫描 12 | feval(pathB+'\ini'+'\' + 'wgQSini'); 13 | switchtolayout; 14 | feval(pathB + '\LV' + '\' + 'wgLV'); feval(pathB + '\FDE' + '\' + 'FDE_set'); 15 | # feval(pathB+'\MESH'+'\' + 'GratingMESH'); 16 | } -------------------------------------------------------------------------------- /Components Library/waveguide/wgWagain.lsf: -------------------------------------------------------------------------------- 1 | # 再次仿真 波导 截面 模式 2 | clear; closeall; 3 | # 必须打开一个已经建模好的.lms文件 ,或在 (DEV)Wdemo.lsf 之后运行 4 | ############################################### 5 | home = filedirectory(currentscriptname); 6 | pathB = 'E:\Codes\Lumerical\Components Library\waveguide'; 7 | feval(pathB+'\' + 'ini__'); 8 | feval(pathB+'\ini\' + 'wgQini'); 9 | feval(pathB+'\ini\' + 'wgQrep'); 10 | add_opt = 1; 11 | # 参数修正 12 | Lian = 1; 13 | width = 800e-9; 14 | feval(pathB+'\' + 'wgModel'); 15 | 16 | file = DEV + ' width ' + num2str(width*G) + ' nm'; 17 | feval(pathB+'\ID'+'\' + 'wgID'); 18 | SB = 2; # 只获取前两个模式的数据 TE0 , TE1 19 | cd(pathB+demon+pfolderG ); 20 | n = findmodes; # 相当于run 21 | 22 | 23 | # feval(pathB+'\brick'+'\' + 'hit' ); 24 | # matlabsave(pathB+demon+pfolderExportfile+'\' + file,width,waCve,neff,TE_pol,y,z,modalx,modaly,modalz,meshsize); # 将工作区的变量保存到.mat文件 25 | 26 | -------------------------------------------------------------------------------- /Components Library/waveguide/wgWdemo.lsf: -------------------------------------------------------------------------------- 1 | # 仿真 单个波导 截面 模式 2 | clear;closeall; 3 | pathB = 'E:\Codes\Lumerical\Components Library\waveguide'; 4 | home = filedirectory(currentscriptname); 5 | feval(pathB+'\' + 'ini__'); 6 | newproject; #新建一个仿真工程,GUI中的原有工程不会自动保存! 7 | add_opt = 0; 8 | feval(pathB+'\' + 'wgModel'); 9 | # 定义骚喵参数 10 | Lian = 1; 11 | width = 800e-9; 12 | 13 | file = DEV + ' width ' + num2str(width*G) + ' nm'; 14 | feval(pathB+'\ID'+'\' + 'wgID'); 15 | SB = 2; # 只获取前两个模式的数据 TE0 , TE1 16 | # 保存文件 17 | save(pathB+demon+pfolderP+'\' + file ); 18 | cd(pathB+demon+pfolderG ); 19 | # 参数修正 20 | switchtolayout; 21 | # width = widthL; 22 | setnamed(DEV,'y span', width); 23 | n = findmodes; # 相当于run 24 | 25 | 26 | # feval(pathB+'\brick'+'\' + 'hit' ); 27 | # matlabsave(pathB+demon+pfolderExportfile+'\' + file,width,waCve,neff,TE_pol,y,z,modalx,modaly,modalz,meshsize); # 将工作区的变量保存到.mat文件 28 | 29 | 30 | -------------------------------------------------------------------------------- /Components Library/waveguide/wg_2D_neff_sweep_width.lsf: -------------------------------------------------------------------------------- 1 | clear; 2 | closeall; 3 | # 对波导,在单波长下,仿真neff随宽度变化 4 | home = filedirectory(currentscriptname); 5 | ini__; 6 | wgQini; 7 | wgQrep; 8 | newproject; #新建一个仿真工程,GUI中的原有工程不会自动保存! 9 | redrawoff; #禁止由于command导致的CAD的自动更新(能提升脚本运行速度!) 10 | addpath(mater); materialsQini; 11 | wg_2DLV; 12 | FDE_set; 13 | 14 | # 定义扫描参数 15 | sop = 200; 16 | fin = 1800; 17 | dw = 5; 18 | widthL=[sop:dw:fin]/G; 19 | file = DEV + 'width ' + num2str(widthL(1)*G) + ' ~ ' + num2str(widthL(end)*G) + ' nm'; 20 | neff = matrix ( length(widthL), modes ); 21 | TE_pol = matrix ( length(widthL), modes ); 22 | # 参数扫描 23 | cd(home + pfolder + pfolderP); 24 | save(file); # 保存器件的原始建模文件 25 | cd(home + pfolder + pfolderG); 26 | for(k=1:length(widthL)) { 27 | switchtolayout; 28 | setnamed("waveguide","y span", widthL(k)); 29 | n = findmodes; # 利用特征模求解器求解模式 30 | for (m=1:modes) 31 | { # extract mode data 32 | neff (k,m) = abs( getdata( "FDE::data::mode"+num2str(m) , "neff" ) ); 33 | TE_pol(k,m) = getdata( "FDE::data::mode"+num2str(m) , "TE polarization fraction" ); 34 | } 35 | } 36 | 37 | plot (widthL*G, neff); 38 | cd(home + pfolder + pfolderExport); 39 | matlabsave(file); # 将工作区的变量保存到.mat文件 40 | -------------------------------------------------------------------------------- /Components Library/waveguide/wg_waCve.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hezq12358/Lumerical-script-Framework/44dea416ac835f4289e83e45c5401261bb04fba0/Components Library/waveguide/wg_waCve.lnk -------------------------------------------------------------------------------- /PIC_material/materials/materialsQini.lsf: -------------------------------------------------------------------------------- 1 | # materials.lsf - 创建波导/包层/空气的折射率模型,用于Lumerical光学仿真 2 | # Si/SiO2 (在低折射率差波导时) 采用Lorentz折射率模型 ; 3 | # 空气/SiO2(在高折射率差波导时) 采用Dielectric折射率模型 ; 4 | # Silicon用于芯层 5 | 6 | 7 | matname = "Si (Silicon) - Dispersive & Lossless"; 8 | newmaterial = addmaterial("Lorentz"); # 9 | setmaterial(newmaterial,"name",matname); 10 | setmaterial(matname,"Permittivity",7.98737492); 11 | setmaterial(matname,"Lorentz Linewidth",1e8); 12 | setmaterial(matname,"Lorentz Resonance",3.93282466e+15); 13 | setmaterial(matname,"Lorentz Permittivity",3.68799143); 14 | setmaterial(matname,"color",[0.85, 0, 0, 1]); # red 15 | # Air用于包层 16 | matname = "Air"; 17 | newmaterial = addmaterial("Dielectric"); 18 | setmaterial(newmaterial,"name",matname); 19 | setmaterial(matname,"Refractive Index",1); 20 | setmaterial(matname,"color",[0.85, 0.85, 0, 1]); 21 | # SiO2用于衬底/包层(高折射率差情形) 22 | matname = "SiO2 (Glass) - Const"; 23 | newmaterial = addmaterial("Dielectric"); 24 | setmaterial(newmaterial,"name",matname); 25 | setmaterial(matname,"Permittivity",1.444^2); 26 | setmaterial(matname,"color",[0.5, 0.5, 0.5, 1]); # grey 27 | # SiO2用于衬底/包层(低折射率差情形) 28 | matname = "SiO2 (Glass) - Dispersive & Lossless"; 29 | newmaterial = addmaterial("Lorentz"); 30 | setmaterial(newmaterial,"name",matname); 31 | setmaterial(matname,"Permittivity",2.119881); 32 | setmaterial(matname,"Lorentz Linewidth",1e10); 33 | setmaterial(matname,"Lorentz Resonance",3.309238e+13); 34 | setmaterial(matname,"Lorentz Permittivity", 49.43721); 35 | setmaterial(matname,"color",[0.5, 0.5, 0.5, 1]); # grey 36 | 37 | 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lumerical-script-Framework 2 | Integrated photonic simulation framework established by Hezq 3 | 4 | ## 5 | Here demonstrates my simulation scripts for some of the PIC devices. Users can learn the the usage of Lumerical language for the complete integrated photonic simulation automation. 6 | -------------------------------------------------------------------------------- /syntax highlight plugins/notepad++/readme: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /syntax highlight plugins/readme: -------------------------------------------------------------------------------- 1 | Here demonstrate some plugins for .lsf language syntac highlighting. 2 | At present, it supports: 3 | 1. notpepad++ 4 | -------------------------------------------------------------------------------- /weapon/Gaint.lsf: -------------------------------------------------------------------------------- 1 | # 执行多个仿真 2 | roman = 'E:\Codes\Lumerical\Grating\domo\MC'; 3 | script = 'BraggDP'; 4 | 5 | 6 | # feval(roman+'\ducpL'+'\' + script); 7 | # feval(roman+'widthL'+'\' + script); 8 | # feval(roman+'\gapL'+'\' + script); 9 | 10 | 11 | feval(roman+'\widthDL'+'\' + script); 12 | 13 | -------------------------------------------------------------------------------- /weapon/folderNew.lsf: -------------------------------------------------------------------------------- 1 | # 以后封装成函数 2 | # Lumerical 臭SB 3 | mkdir = 'mkdir '; 4 | folder = substring( lumericalSB , 1 , length(lumericalSB)-2 ) + '"'; 5 | temp = 'if not exist ' + lumericalSB + ' ' + mkdir + folder; 6 | system(temp); 7 | 8 | 9 | 10 | 11 | 12 | --------------------------------------------------------------------------------