-
-
April 8, 2024 at 11:39 pmZhongdi PengSubscriber
Hi,
I am simulating a directional coupler combined with a specific symmetric coupling region and designed S bends. I first simulate it in VarFDTD and figure out the rough length of the coupling region for 3dB splitting, and then transfer it to FDTD for 3D re-confirmation and accurate simulation. Probably due to the large configuration (attached image, FDTD X length=260um and Y length=30um, this is because my platform does not have confinement of mode as strong as that in SOI) with waveguide thickness=2um, height=300um, waveguide gap=1um, mesh size near waveguide = (dx,dy,dz)=(0.2,0.2,0.2)um, it's time-consuming and the divergence is not good no matter how I tune my PML boundary setting:
A. with the PML isotropic setting (I have tried PML layer = 8~24)
It's diverged after auto-shutoff reaches 0.0025; results shown below
Diverge may be due to the PML boundary settings, so I tried method B to set anisotropic boundary of PML:
B. with PML anisotropic setting (X min/max: stabilize PML, Other boundaries: Standard PML layer=16)
I set running time=5000fs and it's not reaching to preset 10^-5 at the end but only 0.06 (slower divergence than method A). It should be noted that the propagation is strange, seems like a standing wave inside the directional coupler this time. Also, another input port without setting any source now has light output as well, which is pretty abnormal.
Any suggestions to further optimize the divergence?
Zhongdi
-
April 9, 2024 at 5:16 pmGuilin SunAnsys Employee
Hi Zhongdi, please write post in Photonics forum later.
This is mainly due to the fact that long and large device needs long simulation time. You can use much longer simulation time and let the autoshutoff min to terminate the simulation.
Mesh 0.2um might be too coarse. Suppose the wavelength in vacuum is 1.5um, refractive index 3.4, the mini wavelength inside the material is 1.5/3.4~0.44 um. so 0.2um is just above the Nyquist requirement. In order to get result with reasonable accuracy, it should be at least 0.44 um/6~0.07um, which is equivalent to mesh accuracy 1, the coarest mesh by default. Perhapes you need to upgrad your computer, as it is your tool for your projects. Please refer to the following posts:
Ansys Insight: 在FDTD 仿真的过程中mesh的精度如何设置?
Ansys Insight: 用于设置Mesh accuracy对应多大的网格尺寸
As for diverging, it depends on the mesh size. You can use thicker PML along propagation direction. To reduce memory requirement, you could use Metal BCs in y and z. Make sure the source mode is correct.
Ansys Insight: FDTD 和 varFDTD 常见的发散原因以及处理
-
April 9, 2024 at 5:40 pmZhongdi PengSubscriber
Thanks Guilin for your suggestions, I have a few questions before further running a finer mesh simulation:
- Is the mesh size 0.07um also applicable to VarFDTD's dX/dY?
- I am using 'conformal variant 0' as mesh refinement in FDTD, where the mesh setting does not include any PML region. For better convergence, should I keep using that or use "conformal variant 1" instead? How can I check the mesh size in PML?
- A coarse mesh before PML requires less layer of PML for convergence, if I understand it correctly in your post: Reason for divergence and solution. In this case, I am afraid I had a bad PML absorption effect, where I can get 'standing wave' feature with 'Stabilize PML' setting. To further improve the absorption, is it possible to set a coarse mesh near PML region?
- In your forum post : Reason for divergence and solution, you have asked user to try with Metal boundary to check whether we should decrease step time dt. I tried Metal boundary (still with coarse mesh of (0.2,0.2,0.2) um) with same photonic structure and get similar 'standing wave' feature at the end (image attached). It was not diverged, which may due to the short running time. Based on this comparison result, should change dt as well in my next simulation with finer mesh?
Best, Zhongdi
-
April 9, 2024 at 5:51 pmZhongdi PengSubscriber
Apart from that, my platform has highest index component of 2.21 @ 1.55 um, the effective index of the mode is about 1.8. According to your calculation, the mesh size should be 1.55/1.8 / 6 = 0.1435um (6 splitting points per wavelength) or 1.55/1.8 / 10 = 0.086um. Actually, I also tried with dx, dy, dz = (0.1, 0.1, 0.02) um before and it still diverged with PML layer=16 after auto-shutoff reaching 0.0025. What else do you think I need to optimize for convergence?
-
April 9, 2024 at 7:07 pmGuilin SunAnsys Employee
Diverging: when you reduced mesh size, did you increase the number of PML? the total thickness takes effect for efficient absoprtion.
VarFDTD uses equivalent refractive index from the slab mode, so its mesh can be coarser.
Conformal mesh 0 is good to use. COnverging testing is another thing.
You could use carser mesh in PML region if necessary. It can cause minior reflection.
If diverging is not causes by dt factor with metal BC testing, no need to change it. The standing wave pattern is due to PML refelction. Stabilized PML does not mean it can efficiently absorb light. Actually it has larger reflection. It is better to use more number of PML layers with standard PML. Or you can use custom PML with parameters from the standard PML but only increase the max layer number.
Diverging can be caused by many different issues. So please try to resolve the diverging issue by following the suggestions in the post.
-
April 9, 2024 at 7:13 pmZhongdi PengSubscriber
Hi Guilin, thanks for your information. In conclusion, I will use a finer mesh (0.08,0.08,0.04) um with an extended running time and thicker PML=32 to do the simulation.
-
April 9, 2024 at 7:16 pmGuilin SunAnsys Employee
I would suggest to use automesh, accuracy 1 for testing, with 16 layers PML should be ok. The goal is to reduce PML reflection, and resolve diverging issue.
do not use uniform mesh.
-
April 9, 2024 at 8:04 pmZhongdi PengSubscriber
That's what I set for method A (auto nonuniform, accuracy=1, standard PML=16), with mesh size=(0.1,0.1,0.02) um, which diverged at autosutoff = 0.0025. I am now using a longer time and higher auto shutoff limit of 0.05, along with a finer mesh (0.08,0.08,0.02)um, boundary setting of X min/max's standard PML layer =32, and Y/Z = Metal. Other settings are the same: auto non-uniform mesh, accuracy 1.
-
April 10, 2024 at 3:12 pmGuilin SunAnsys Employee
did you put the override mesh at the coupling region? if so, please set its size to only cover the waveguide. If it is too large it will affect the mesh close to the vertical PML.
Right now you want to overcome the diverging issue. so you can try to use the suggested methods from the post to see if it works. In your case, maybe the ripples are from higher-order modes. Please use port or mode expansion monitors to verify this.
-
April 10, 2024 at 7:02 pmZhongdi PengSubscriber
Yes, I put different override mesh sizes in different regions. Like the mesh around WG which has width=2um allows WG separated into 25 grids; mesh in a coupling gap of 1um sets it to have 20 grids. As you see in the image below, the override mesh does not cover the region near the Y/Z's boundary, which is defined by nonuniform mesh with accuracy=1. But the mesh affects the boundary in X min/max, which has mesh size = (0.08,0.08,0.04) um.
Summarize my setting:
a). dt=0.99 by default
b). Boundary: Metal in Y/Z and Standard PML in X with layer=32
c). Mesh: The coupling region has override mesh (0.08,0.05~0.08,0.02~0.04)um, Mesh close to Y/Z boundary is set by nonuniform mesh with accuracy=1 (but will be affected by other override mesh), other override mesh = (0.08,0.08,0.04) um
Result: it can converge to shutoff=0.0015, but later diverge (shown below). Which is similar to the result I got in the Method A (result shown in the aboved posts)
To answer your questions,
- The mode at the end facet of output is single-mode:
2. input and output intensity (Tnet) versus frequency, 3dB is roughly at 1600nm:
Light propogation at 1573nm:
Even through it converge to 0.0015, it diverged after that. Can I trust the result?
Personally I do not think there is further optimization choice for me except increasing the layer of PML in X direction:
- dt can not change. I previously used 0.9 instead but it diverge faster.
- Changing Metal boundary at Y/Z to PML does not help. The result in aboved Mehod A used standard PML in all boundaries but diverge at a similar shutoff = 0.002.
The PML layer is already 32, how many layers you suggest to set?
Zhongdi
-
April 10, 2024 at 7:18 pmGuilin SunAnsys Employee
Please only use one override region for the coupling. The waveguide will use the mesh accuracy to be well resolved. When you used finer mesh, it may affact PML thickness.
From the image, it seems no strong fields to the bottom-left port, which is a good sign.
As you can see, there are some scattering fields after the coupling region, and they may have larger angle to reach PML. This is why I suggest to check the mode profiles. You may need to use 64 layers for x-max PML or even use Steep Angle PML with more layers.
You can try to simulate half the device, eg, move the right-hand-side PML to the half way of the coupling region and check if it diverges.
-
April 10, 2024 at 7:45 pmZhongdi PengSubscriber
Here I have thin layers in WG and under WG region, both of them are of thickness=300nm. I have to use dz=0.03um as an override mesh over their region. Apart from this, if I set the mesh in a couple gap only, nonuniform mesh with accuracy=1, the WG crossing PML boundary at the end will have mesh size = (dx, dy) = (0.072,0.072)um, which has little difference to that of previous override mesh.
Do you mean to set Y min/max as the steep angle PML? where it should be set nearly parallel to the light propagation.
Is it just for checking the divergence to move the PML right end to the center of the couple region? Is the result related to the splitting ratio of the whole device?
-
April 10, 2024 at 8:00 pmGuilin SunAnsys Employee
It is good to only override mesh on the thickness, one dimension. If such thin layer does not primarily determine the mode profile, you can try to disable it first, in order to find the diverging cause.
You need to check where the scattered fields go. If the scattered fields also go to ya dn z, you should not use metal BCs.
You can use 3 rofile monitors in xy,xz and yz , and use log scale to check the scattered field intensity. If they are large, say 1e-4, you will need to use thick PML.
"Is it just for checking the divergence to move the PML right end to the center of the couple region? "
yes, to find the cause of diverging.
-
April 10, 2024 at 8:14 pmZhongdi PengSubscriber
Let me summarize your suggestion and let me know whether there is any misunderstanding:
Step A: check the divergence's reason
take only half of the simulation region + Use thicker PML in X min/max = 64 + only take override mesh on single Z dimension (the thin layer dominates my mode) + add monitors to check the scattered light
Q1: after checking and back to final simulation, I still need to recover the override mesh back to the X/Y direction so that an integer number of grids is placed in the coupling gap, correct?
Q2: where should I place those monitors? At corresponding boundary?
Step B: Recover the simulated region and set PML accordingly and run again.
-
April 10, 2024 at 9:07 pmGuilin SunAnsys Employee
You can enforce the mesh to be symmetry if the coupling center is at the symmetry point:
Plane monitors can be at the center plane, or where you think the scattering is strong. You can extend the monitors to the inside of PML:
You first need to identify what causes the diverge. You may also use a monitor monitor.
-
April 10, 2024 at 9:44 pmZhongdi PengSubscriber
Thanks, it's running now and I will report later.
-
April 12, 2024 at 4:49 pm
-
April 12, 2024 at 5:21 pmZhongdi PengSubscriber
Here is a summary of the two rounds of running:
1. boundary X/Y standard = 64/32 layer, Z is Metal:
2. boundary X standard=64, Y steep angle = 64, Z standard =16:
Neither of them converge. They both diverge after reaching shutoff = 2~4e-3
Using Standard 64 and 16 layers of PML at X/Z boundary is enough, the light in PML will decrease to lower than or near e-4:
But in Y min boundary where it faces the scatter light from input S bend WG, the absorption is not good, especially the steep angle one:
Steep Angle = 64 layer:
Standard layer=32:
Right now the only side where PML can not effectively absorb is Y min boundary. Do you think it's the reason causing the divergence? Let me know why 64 layer steep angle gives a worse result in absorption than standard 32 layers and how I can further optimize. Thanks.
-
April 12, 2024 at 6:37 pmGuilin SunAnsys Employee
PML performance depends not only on its artifical material properies, but also on the incident angle and wavelength. It is difficult to expain the reason. You can use 3 plane monitors and record data inside PML as suggested before. Then you can check which and where the intensity is strong in PML to identify the issue. You may also use 3 movie monitors to check where the exponential growth begins.
Have you tried to simulate half of the device? whar happens then?
PML has several parameters with different functions: https://optics.ansys.com/hc/en-us/articles/360034382674-PML-boundary-conditions-in-FDTD-and-MODE
There are two dedicated books regarding to PML.
You may also try the legacy uniaxial PML as some times it works better.
You may also extend ymin further away from device if you identified it causes issues.
Occasionally, a new project file will work by only copying the geometry and monitors, but adding new FDTD region and changes its settings. Do not copy the old FDTD to the new project.
-
April 12, 2024 at 7:55 pmZhongdi PengSubscriber
Thanks. These are both from half-device simulation.
-
October 2, 2024 at 7:33 amsara.bassilSubscriber
Hi, I'm very interested in simulating a directional coupleur. I want to extract the S matrix at each export port. I see that in your simulation you use a mode source, is it possible to use an input port ?
What is the best solution for extraction the S matrix ?Thank you very much !
Sara
-
- You must be logged in to reply to this topic.
- FDTD:: simulation of directional coupler
- Lumercial MODE : bug while exporting data in matlab format
- Zemax 3D layout freezes
- Failed to construct hwtree for collect command
- 关于如何获取相位光栅衍射后,如何获取各衍射级次的相位
- how to create a simple light filter
- I am new to use MATLAB ZOS-API and struggling to execute this file.
- graded material definition
- Zemax- How to collimate this lens using operands/optimization?
- Selecting a Detector for the Final Image Plane and Intensity Optimization Proces
-
441
-
199
-
194
-
162
-
142
© 2024 Copyright ANSYS, Inc. All rights reserved.