-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Carrier depletion modulator example #25
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @dbochkov-flexcompute for the great efforts! We can share this demo with a few current customers who are interested in electro-optic modulators after it's published. Some comments I have at the moment:
- I think you also need to modify the rst file in docs/case_studies accordingly depending on if you want to add this notebook to a current category or create a new category.
- Consider adding a link to the devsim docs or repo in the introduction so users can see how to install it and find relevant documentation.
- The carrier distribution simulation using devsim seems a bit involved, including mesh creation, parameters setting, etc. Could you add a bit more description in the markdown on each step? It could help users understand the workflow better. Potentially consider adding references to devsim's relevant examples in their docs if there are any.
- Usually it's more customary and intuitive to plot the spectral response in wavelength instead of frequency.
Some typos I caught:
- "due to presence of free carriers" -> "due to the presence of free carriers"
- "one of which is has a common pin-junction profile" -> "one of which has a common pin-junction profile"
- "paramters" -> "parameters"
- "heavy doped" -> "heavily doped"
- "we will expanded device" -> "we will expand device"
- "to define other component of an optic simulation" -> "to define other components of an optic simulation"
- "no electron and hole distribution have been provided to it" -> "no electron and hole distributions have been provided to it"
Regarding the final result that the transmission doesn't change much with respect to the applied voltage, I suppose it's not surprising as the real modulator arms can be mm in length. Nontheless it's still a good demonstration. However in a more practical sense, I suppose people usually only simulate a small portion of the modulated arm only without the couplers and splitters and then extrapolate the modulation result to the full length. Maybe we can provide another simpler notebook for that. It's similar to the thermally tuned waveguide that you made.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @dbochkov-flexcompute! Thanks for this excellent example!
1- Include the units in doping concentrations in [2].
2 - It is not so easy to observe the changes in depletion region in the figure in [6]. Maybe limit the y-axis between 2 and 3? The same occurs in [39].
3 - Include the units in x, y, z-axis.
4 - I suggest to include vertical lines to separate all those constants before [8].
5 - It would be nice to include some comments to tell the users that this example illustrates how to use ChargeDataArray
, CustomChargePerturbation
, and ParameterPerturbation
(including links to API). That should also make it easier for our search engine to find it.
6 - Are we missing a link here? "For generating the entire circuit we use helper functions for creating a single waveguide and a single coupler from tutorial ."
7 - It seems the Scene
object is duplicated in [16] and [17].
8 - I suggest to include a legend in figure [32].
Other typo:
"data from charge solver to opitc solver" -> "data from charge solver to optic solver"
I wonder how this example would be when using the future Charge solver. Would it simplify that long function to obtain the carrier distribution?
Taking your comments, and doing some more research on available literature, I made quite an overhaul of this example. Here are major changes:
Things that I couldn't address or will address in separate PRs:
now with introduced changes I believe this is not relevant
unfortunately, it seems like how tables are rendered is not controlled by markdown code, but the html style
actually, there is a forgotten notebook https://github.com/flexcompute-readthedocs/tidy3d-docs/blob/4bdbc405ea07606b46dbe575798ecede298fcf3e/docs/source/notebooks/PerturbationMedium.ipynb that explains this in detail. I will refresh it and submit in a separate RP (with adding a link into this PR's notebook as well) Other comments:
@e-g-melo, yeah, it would be very similar to our heat solver API |
Hi @dbochkov-flexcompute! Thanks for your answers! The final result has improved a lot! It is much better and easier to observe the changes in permittivity now. |
Thanks @dbochkov-flexcompute for the update. The current design is indeed very nice. For notebooks under case studies, I think we do need a thumbnail image for the marketing site. I can help with a 3D schematic later today. For the electric field plots, can we set the aspect ratio to In the last plot, there are noticeable fluctuations in the transmission. Is that physical or due to the grid size not sufficiently fine? |
Realized that doping concentrations were not set correctly, fixed that. This brought the predicted Vpi from 1V down to about 0.95 V.
@tomflexcompute |
I see. Yeah that could be the case due to some reflection and interference, which is fine. Btw I tried to run this notebook after installing devsim but the kernel kept dying during the charge solving step. Not sure why so just wondering if you have experienced the same thing before? |
hm, maybe running out of RAM. Can you try setting lower resolution for solving for charge? |
Actually the kernel dies when trying to plot the results. I tried |
is |
Yeah it's probably one of these weird things that happen out of nothing. It should be fine. |
This looks great! Do I need to add it somewhere? |
Ok I've included the two thumbnail images in the notebooks so they can be displayed in our example library once they are released. Feel free to decide if you want to move the ring resonator to PIC or leave it as a heat solver tutorial. Then I think this PR is ready. In case @e-g-melo wants to take another look? |
@tomflexcompute thanks for taking care of that! those are very nice illustrations. Regarding example categories: maybe we should create a separate category "Active Photonic Integrated Circuit Components", which would include for now:
what do you think? |
Yeah that certainly sounds like a great idea! Can also change the current "Photonic Integrated Circuit Components" to "Passive Photonic Integrated Circuit Components". |
d17ede3
to
8b3446d
Compare
Example using open-source package devsim as a charge solver