Skip to content

Step index mode solver #320

@ovanvincq

Description

@ovanvincq

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.
char_TE

2/ I think there is an inversion between TE and TM.

Regards,

Olivier

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions