-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
Hi,
The computation of a step-index fiber modes seems incorrect.
As an example, we can study a step-index fiber with the parameters below:
- core radius : 2 µm
- core index : 1.47
- cladding index : 1.45
At a wavelength of 1µm, V=3.04 and only the modes HE11 (equivalent to LP01), TE01, TM01 and HE21 (equivalent to LP11) must exist.
However:
- StepIndexFibre.findneff(2,2*pi,1.47,1.45,0,1,:TM) returns 1.4574901533331723
- StepIndexFibre.findneff(2,2*pi,1.47,1.45,0,1,:TE) returns 1.4574901533331723
- StepIndexFibre.findneff(2,2*pi,1.47,1.45,0,2,:TM) returns 1.4538242972546838
- StepIndexFibre.findneff(2,2*pi,1.47,1.45,0,2,:TE) returns 1.4537675924407851
There are two problems:
1/ Roots.jl detects both zeros and discontinuities. As the char_TE, char_TM, char_HE and char_EH functions present a discontinuity between two consecutive zeros, it is necessary to check if the result given by Roots.jl is a zero or not. In this case, the effective indices of the TE01 and TM01 modes correspond to discontinuities.

2/ I think there is an inversion between TE and TM.
Regards,
Olivier
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels