Traveling wave mach zehnder

Member Posts: 3

Hi,

in step 4 of this example : https://support.lumerical.com/hc/en-us/articles/360042328774-Traveling-wave-Mach-Zehnder-modulator

For the RF MODE simulation, why is the resistance set for 1um?

Also, how come we can use the DC capacitance rather than the frequency dependent capacitance?

Regards

Tagged:

• To add to my question, how were the dimensions of the Al determined, such as the 50um x-span of the Al_right_top part?

• Hi,

The RF simulation in MODE is set up for 1um (set through y span of R and C 2D rectangles). You can perform the simulation for any length, however the calculated RC and the span in MODE have to be updated.

Both DC and AC capacitance are calculated in compared in the example. There, we explain that the values are close given that capacitance is independent of frequency in reverse bias.

Regarding geometry specifics, the article replicates the structure mentioned in the reference work. The contact lengths for example match the values given in the publication.

Best regards

• Hi,

Could you clarify why the y span of the R and C 2D rectangles was chosen to be 1um rather than the 5000 um that is used in the interconnect model?

Also, just for my understanding, does the y-span of the 2D rectangles actually change anything, given that the simulation is based on the cross-section of the device? Or is it just the R and C values that matter?

Best regards

• To add to my question:

in the script "tw_modulator_DEVICE_Rslab.lsf" the Resistance is calculated using Ohms law V/I but I don't understand why it is divided by 100 when it gets written to the text file.

Could you clarify that?

• Hi,

This is a very good question. In general, the span of the RLC objects does impact the results of the RF simulation. This is why the exported resistance from CHARGE has been scaled to match the 1um span in MODE; the initial value obtained in CHARGE has a unit of Ohm-cm, and the division by 100 converts it to Ohm-m. Finally, in tw_modulator_RF_MODE.lsf this is multiplied by 1e6 to match the span of 1um. I think the resistance values for RF simulation were taken directly from the paper, explaining the chosen length of 1um. You’d notice the results for a different length stay the same if the imported values are scaled accordingly.

Best regards

• Hi again,

I have some follow up questions.

I had always assumed that any result given via getdata("object") was in SI units. So how come the result of Rslab_P = 0.1/getdata('CHARGE','anode.I'); is in Ohm*cm? Does this come from the norm length of 10000um?

Also, in the tw_modulator_DEVICE_Cdc.lsf file the capacitance is calculated as follows:

total_charge = getresult('CHARGE::monitor','total_charge');

Qn = e*pinch(total_charge.n);

Qp = e*pinch(total_charge.p);

Cn = abs(Qn(2:2:(2*N))-Qn(1:2:(2*N)))/dv;

Cp = abs(Qp(2:2:(2*N))-Qp(1:2:(2*N)))/dv;

V = vdv(1:2:(2*N));

C_static = 0.5*(Cn+Cp)*1e15*1e-6; # fF/um

Here, I don't see the factor of 100 applied anywhere. Is the given total charge independent of the norm length?

Thanks for the help.

• Hi,

Very good questions. Just a quick note that the files you are using correspond to an earlier version of the application example. There has been some updates related to the R and C calculations since this version of the project.

In CHARGE, the reported current in 2D simulations has a unit of A and is calculated for a device with the given norm length; you can see the current depends on the norm length value. Therefore, the derived R= V/I also corresponds to the norm length, here 1um. You would also notice in “tw_modulator_RF_MODE.lsf” where the same values are imported we indicate that it corresponds to 1um length in y direction.

However, the reported charge results are independent of norm length. Here, the total charge used for capacitance calculation has a unit of C/m. A scaling of 1e15*1e-6 updates the units of calculated C to fF/um.

Best