MODE - Refractive index dependent on position?

JDaykinJDaykin Member Posts: 1


We're looking to simulate the dispersion of micro-ring resonators within MODE and wish to use the equation shown below to approximate our refractive index as this should allow us to use a 2D model and save simulation time.

Essentially we want the refractive index graph over the waveguide to look as below:

Is it possible in Lumerical to have the refractive index of a material be dependent on both the position within the model and the wavelength?

Ideally we want the geometry to stay as simple as possible as the width and height of the waveguide are yet to be settled on.

Thanks in advance

Best Answer

  • greg_baethgegreg_baethge Posts: 85Ansys Employee
    Accepted Answer

    Hi @JDaykin,

    Thank you for posting our question on the forum. I think there are multiple options to achieve this, I will try and detail them:

    Using the index field in an object:

    When the material is set to "<Object defined dielectric>", you can directly specify the value of the refractive index in the "index" field

    This can be a numerical value, but it can also be an expression. But note the expression can only have x, y or z as variable. So you would have to first create the equation string, for example:

    eq = num2str(n_mat)+"*(x+"+num2str(Rring)+")/"+num2str(Rring);
    setnamed(nobject, "index", eq);

    Where "nobject" is the name of the object you want to set the index. As you can see in the picture, you can defined the position units (microns by default), so make sure the equation is consistent with the units. Note here you can only set the real part of the refractive index.

    Using a (n,k) import object:

    The Spatia (n,k) data object allows to create an object where the refractive index is function of x,y,z. You simply need to create a matrix setting the index in the volume of the object. This can be scripted using the importnk2 script command.

    Note in both cases, the refractive index is fixed, it will not be wavelength dependent.

    Using an index perturbation:

    This would use a "fake" temperature dependent material. The idea is to create the index perturbation material using the temperature dependent refractive index model. This perturbation is then applied to an existing material that can be dispersive.

    Then you create a "temperature" map corresponding to the variation you want to apply. You use the index perturbation attribute to import this perturbation and apply it to the material previously created.

    This method is based on what we used for opto/thermal simulation. The challenge is to create the data (temperature map) to obtain the desired effect on the material. The data has to be on an unstructured mesh. On the other hand, this is the only method allowing to use a dispersive material.

    I hope this will help!


Sign In or Register to comment.