-
Notifications
You must be signed in to change notification settings - Fork 30
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
Exposing tidy3d source bandwidth through gplugins #275
Comments
Hi Pascual, i think we expose all tidy3d.Simulation args in the plugin |
the plugin uses the tidy3d componentmodeler for sparameter calculation, which automatically sets the source bandwidth as per the code that you linked. if you need more flexibility, you can use the tidy3d component‘s |
Thanks both for your kind replies. |
Hi Joaquín, I've gone through the list of exposed parameters, I also had a look at the very detailed examples you give in: https://gdsfactory.github.io/gplugins/notebooks/tidy3d_00_tidy3d.html?highlight=componentmodeler I still wonder how one can specify a CW source to tidy3D through gplugins resorting to ContinuousWave function. Apparently that is possible in tidy3D but I can't find more documentation than: What do you think? Best. |
To chime in, it's highly unlikely that you actually need a CW source, unless you're doing nonlinear photonics and really need to control the total power in the simulation (make sure it's at a single frequency). I think in tidy3d we only enabled ContinuousWave source only when we introduced nonlinear materials. Using a CW source also means that the in-built normalization will not work since the fields do not decay by the end of the simulation, and manual normalization will be needed. Typically sources in FDTD can be pretty broadband, and the source bandwidth should have no noticeable effect on the results, as long as the entire spectrum of interest is covered by the source. If the fields decay by the end of the simulation, the frequency-domain fields recorded via the Fourier trasnfrom of the time-domain ones are actually mathematically equivalent to an actual frequency-domain solve (or a CW source with proper normalization). |
Hi Pascual, I think there is some confusion here. What the gplugins tidy3d plugin does is it provides a base class (called the The With the |
Thanks for the advice. |
Many tnanks for the detailed overview, that certainly helps much! |
Feature request
tidy3d allows for a broadband Gaussian pulse source, set as described here:
https://docs.flexcompute.com/projects/tidy3d/en/latest/faq.html#what-source-bandwidth-should-i-use-for-my-simulation
and built as shown in their code:
https://github.com/flexcompute/tidy3d/blob/f60bf47f84264bc622e548fa41dfc344fb85ceaf/tidy3d/plugins/smatrix/smatrix.py#L231C4-L231C4
While gplugins/tidy3d write_sparameters have a 'bandwidth' parameter, it seems to me is only used to establish the frequency limits of S-parameter calculation, but the source time / frequency width is not set by gplugins.
Wanted solution
If I am not mistaken above, is it sensitive to expose the fwidth parameter through gplugins?
The text was updated successfully, but these errors were encountered: