Comments (11)
totally agree!
maybe already the recently added n_guess
parameter in solve_modes
helps (if you put in the n_eff of a straight waveguide)
from femwell.
But longterm I really want that, what's missing before I can start implementing it:
- A way to define the subdomain, can we somehow add a subdomain, which includes some stuff which is in other subdomains? I.e. keep the material subdomains, but add a "mode solving" domain?
- Maybe we can do this on the skfem level? I.e. pass as
elements
a function which takes all elements with a certain distance to a subdomain?
Probably it'd be good to have both options?
from femwell.
Besides that: for PML modes you need to include the PML in the modesolving ;)
from femwell.
Besides that: for PML modes you need to include the PML in the modesolving ;)
Yes that's why I think instead of subdomains it's even better to keep modes based on the overlap integral with some region of space
So in the PML example you mode solve with the PMLs, and get a lot of PML modes that don't overlap with the waveguides (so the overlap integral is small), and they can be automatically rejected
from femwell.
maybe the cleanest quick way is to use the confinement factor, see end of https://helgegehring.github.io/femwell/photonics/examples/waveguide_modes.html
Just calculate it for all returned modes and reject everything below 20% or something
from femwell.
The more I think about it the more I think it's the cleanest way at all - but still, calculate the n_eff
of a straight waveguide and use it as a n_guess
to avoid the need of calculating may modes
from femwell.
The more I think about it the more I think it's the cleanest way at all - but still, calculate the
n_eff
of a straight waveguide and use it as an_guess
to avoid the need of calculating may modes
Yep that's always a good starting point
from femwell.
This was addressed by #37 right?
from femwell.
I think originally the idea was to just solve the mode on a subdomain. But as this would lead to errors due to closer boundaries I'd guess we can close this as we have several working ways :)
from femwell.
I agree that we have several working ways, but having it solve on a subdomain would be very useful.
The problem with the current approach is that you might need to solve for a large number of modes to find the mode you are interested in (for example, in some SiN + Si simulations I need to go up to 7 total modes!). This increases significantly the execution time.
Maybe an easy workaround for the closer boundaries would be to select only the elements within an ROI and then expand the resulting simulation region with a constant refractive index so that the dimensions are maintained?
from femwell.
Okay, reopening!
Hmm, I'd guess we should keep the surrounding elements the same and just cutoff things which are too far away, right?
Another approach could be to once run a simulation with the other waveguide set to "environment" and then use the effective refractive index as a guess?
from femwell.
Related Issues (20)
- Calculation of effective mode area or nonlinear coefficent HOT 13
- efficient wide sweeps for waveguide dispersion HOT 2
- mode solver neff jumps HOT 6
- treating quasi-TE mode in overlap with the mode of an optical fiber HOT 1
- Capillary waveguide help HOT 14
- incorrect neff in long wavelength HOT 10
- Calculation of effective area for Spontaneous Four-wave Mixing (SFWM) HOT 3
- Possible issue with modes / overlap integrals in complex systems HOT 1
- Example to reproduce
- Add symmetry planes for simulation to filter TE and TM for optics, or even and odd modes for RF HOT 3
- mesh_from_Dict does not handle MultiLineStrings() HOT 4
- Plasmonic waveguide example HOT 3
- Improvements on RF waveguide design tutorial HOT 15
- Failed Import of compute_modes with new install HOT 1
- plot abs part from component has issues
- add logscale to plot
- missing reference HOT 2
- Windows installation of femwell HOT 3
- How to Install the Julia version of femwell HOT 6
- Adjust propagation loss example to paper
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from femwell.