Thermally tuned waveguide (FEEM)

talimutalimu Member Posts: 11

Hi support team,

In your example " Thermally tuned waveguide (FEEM)" you add a convection boundary condition that models convective heat transfer between a solid and a gas.

  1. Can you please explain why this convection boundary condition is applied only on the interface between solid and air? and not the interference between Silicon and Oxide for example?
  2. In this example, we have 2 solvers: HEAT and FEEM. When I run FEEM, HEAT would run automatically prior to FEEM, or HEAT needs to be run separately prior to FEEM ?




  • GWANGGWANG Posts: 102Ansys Employee

    Hi talimu,

    Regarding your questions:

    1. Convectional transfer of heat is happened when solid surface meets fluid like air. Here are some details of the boundaries:
    2. The heat transport (HEAT) solver is first used to simulate the temperature profile for the waveguide with different input powers. This result is then imported into the Finite-Element Eigenmode (FEEM) solver to characterize the optical response, including changes to the effective index, phase and loss as a function of the input power. They run separately.
  • talimutalimu Posts: 33Member
  • talimutalimu Posts: 33Member

    Hi GWANG ,

    Thank you for your reply. I have some following questions.

    1)     Can you please explain why in this example- "Thermally tuned waveguide (FEEM)”, PEC boundary conditions is applied at the surface of FEEM simulation region?

    Do you expect the fields to be practically zero at the boundaries of the of FEEM simulation region? If that so, why?

    2)   In script file, used in this example –“thermal_tuning_index_perturbation.lsf", there is a command: perturbation.addparameter("P",P).

    P is an array of 11 values (see below), so why in nk_material menu is showing only with one value?

    3)   The, “data_assignment_behaviour” is "accumulate". So How can I display the total index profile for each “swiped” system (base + accumulated)? There is no index monitor in FFEM SOLVER.

    Thanks in Advance,

    Tali M.

  • talimutalimu Posts: 33Member

    Hi GWANG ,

    Will appreciate your reply. I uploaded it prior to website upgrade.



  • kghaffarikghaffari Posts: 69Ansys Employee

    Hi Talim

    Sorry for the very long wait.

    1. You can verify the field’s magnitude by visualizing the results from the solver (FEEM > fields). The choice of boundary condition wouldn’t considerably impact the simulation results if the fields are very small at the edge of the simulation (as mentioned here). I think here the results wouldn’t change much if you disable the PEC.
    2. All the 11 values are stored in the nk object. The one value shown, indicates for which input power (temperature change) the FEEM simulation will be run. You will notice the value for "index" can go as high as 11. To obtain the results for all 11 input powers a sweep is required, which is defined in the “power” sweep, located in the file.
    3. Are you interested in the mode effective index for each simulated project in the sweep? This data is stored in the neff vs P sweep and can be visualized. Neff seems to be around 2.35 which matches the value obtained by the equivalent FDE simulation. 
  • talimutalimu Posts: 33Member

    Hi kghaffari,

    Thank you for your response.

    In the .lsf file of this example "Thermally tuned waveguide (FEEM)" you referring to "perturbation" matrix, using x,y,z and "element"

    1) Why do we need to create this matrix? what is its purpose?

    2) x,y.z are the coordiantes of triangulars mesh?

    3) What are the values in this 'elements" array?

    Kind Regards,


  • kghaffarikghaffari Posts: 69Ansys Employee
    edited May 25

    Hi Tali,

    1 – In this example first temperature vs power is obtained (first sweep), then analytic index perturbation is calculated and imported into the nk material attribute to determine the final index of the medium, and finally effective index of the mode for each power is calculated (second sweep). This script file runs the second step; this matrix is needed to store the data for the index perturbation (at each power) so it can be imported into the nk import object. The comments provided in the script file and the article should be insightful.

    2 – As mentioned here, x, y, and z will be the coordinates of the points where the mesh cells meet each other.

    3 – The values indicate which vertices make up each elements. For example here according to the attached picture, the second mesh is made up of the 3rd, 2nd, and 4th vertices. The coordinates are stored for each vertex so the software can use this to build up the mesh.


Sign In or Register to comment.