Purpose: Simulates a ring resonator coupled to a waveguide using 3D FDTD to extract coupling coefficients, resonance characteristics, and field profiles for optimizing coupling efficiency.
Models a ring resonator coupling system in 3D FDTD domain. Mention:
- device type: ring resonator coupled to waveguide
- simulation domain: FDTD
- what is being extracted: transmission spectra, coupling efficiency, resonance response, field profiles, gap and length sweep optimization
-
Open and select a Lumerical template file from:
user_inputs/lumerical_files/Available templates:
straight_ring_coupling_section.fsp- Ring resonator with straight waveguide couplingcoocentric_ring_coupling_section.fsp- Concentric ring resonator couplingrectangular_ring_coupling_section.fsp- Rectangular ring resonator coupling
-
Set the template file index in:
user_inputs/user_simulation_parameters.pySet
file_indexto select which template to use:file_index = 0for straight ring couplingfile_index = 1for concentric ring couplingfile_index = 2for rectangular ring coupling (required for length sweep)
-
Run the analysis scripts:
python fields/getFields.py python index_profile/index_profile_2D.py python gap_sweep/getGapSweep.py python length_sweep/getLengthSweep.py python transmission/getFrequencyResponse.py -
Results will be saved automatically under:
FDTD/Results/ring_resonator_coupler/Figures/ ├── Gap Sweep/ ├── Length Sweep/ └── (other result folders)
- fields/getFields.py : extract electromagnetic field profiles
- index_profile/index_profile_2D.py : generate refractive index profile visualization
- gap_sweep/getGapSweep.py : perform coupling gap parametric sweep
- length_sweep/getLengthSweep.py : perform coupling length parametric sweep
- transmission/getFrequencyResponse.py : extract transmission vs. wavelength spectrum
Run these scripts individually to perform different types of analysis on the ring resonator coupler
Editable files are located in:
user_inputs/user_simulation_parameters.py
Set file_index to select which Lumerical template file to load:
0= straight_ring_coupling_section.fsp1= concentric_ring_coupling_section.fsp2= rectangular_ring_coupling_section.fsp (required for length sweep)
All other simulation parameters (ring geometry, coupling gap, material properties, wavelength settings, sweep definitions) should be configured within the selected .fsp file.
Results are saved automatically and may include:
- transmission spectra showing resonance peaks
- field plots showing resonator mode confinement
- refractive index profile plots
- gap and length sweep data for coupling optimization
Typical output location:
FDTD/Results/ring_resonator_coupler/
ring_resonator_coupler/
├── README.md
├── fields/
│ └── getFields.py
├── gap_sweep/
│ └── getGapSweep.py
├── index_profile/
│ └── index_profile_2D.py
├── length_sweep/
│ └── getLengthSweep.py
├── transmission/
│ └── getFrequencyResponse.py
└── user_inputs/
├── lumerical_files/
│ ├── straight_ring_coupling_section.fsp
│ ├── coocentric_ring_coupling_section.fsp
│ └── rectangular_ring_coupling_section.fsp
└── user_simulation_parameters.py
- Requires Lumerical installed and accessible via lumapi
- Scripts assume paths defined in config.py
- Designed to be run from the repository root
- Multiple ring geometries are supported; select the appropriate
.fspfile for your configuration
- Verified
- Actively used
- Legacy or reference