FDTD simulation taking huge amount of memory and very long runtime.

AloraMAloraM Member Posts: 1


I am admittedly a beginner using Lumerical, and I am primarily trying to derive the S parameters and E radiation plots for a simple Y-branch splitter. I believe that I am defining my ports and simulation area correctly, but when I try to run my simulation, it requires sometimes hundreds of GB to run, taking 12+ hours. When I scale my design down to <20 um, my runtime is much more realistic. I feel that I must be defining some parameter incorrectly, and I have run into a dead end in trying to troubleshoot this issue. Can anyone provide any insight on what types of settings I might alter or change to be able to run my simulation? I cannot attach a .log file, as I have not completed a full run of the simulation due to the size.


  • gsungsun Posts: 1,152Ansys Employee
    edited March 30

    This is most likely due to the fact that the device is large compared to wavelength. for example, close to hundred of wavelength inside the material. for example, if the device is 50um long and 20um wide with 2 micron height, with material of Silicon at 1.55um, the wavelength inside the material (the highest refractive index) will be 1.55/3.4=0.45um, so the "optical length" of this device will more more than 100. Since FDTD meshes the space in 1/10 of the wavelength~0.045um, suppose mesh accuracy of 2, this will need a lot of memory. In addition, smaller mesh makes the time step dt. In order to propagate the whole pulse, it will need longer simulation time than length/c/n.

    You can check the memory requirement:

    and find out which part needs the most memory.

    Possible solutions may be:

    1: check the coupling region, avoid long distance from source (and output monitor, or ports) to the coupling region, eg, the uniform waveguide section;

    2: if there is a taper involved, you can use the end of the taper in the simulation, and use a separate simulation to get the fields at the taper end as the import source;

    3: use mesh accuracy 2 instead of higher mesh accuracy for initial simulation; If you have override mesh, please check if the mesh size is too small.

    4: If it is the Running simulation that requires large memory, you may need to reduce the number of frequency points in ports and other frequency domain monitors;

    5: since the simulation time is long, you may only record the late part of the time signal, if you have time monitor.

    6: disable unnecessary monitors, such as 3D monitors, index profile monitors, and movie monitors, for example. Actually you can only keep very necessary monitors.

    7: check if you used too many PML layers. If it does not experience diverging issue, keep using "standard PM", and 8 layers.

    8: check material fitting and see if the material fitting is proper.

    9: may need to reduce the simulation volume: although we usually suggest half-wavelength distance for PML away from the device, you can use smaller distance, as long as it does not lead to strong reflection.

    10: you may need to use one time monitor and check if the resonance is outside of the interested source spectrum.

    Just try some of those and see if it improves.

Sign In or Register to comment.