Re: [Meep-discuss] Problem with Inverted Pyramid Structure at Small Absorption

2020-08-15 Thread Ardavan Oskooi
Note that due to the Fourier Uncertainty Principle, the runtime should 
be at least ~1/frequency resolution. In practice, the runtime may even 
have to be twice as large as demonstrated in 
https://meep.readthedocs.io/en/latest/Python_Tutorials/Custom_Source/#stochastic-dipole-emission-in-light-emitting-diodes. 
Try switching to the meep.Simulation(run=run_time) run function and 
repeatedly double run_time.


On 8/15/2020 8:11, J. Philip Haupt wrote:
I've tried increasing PML thickness (went up to 8 micron) and 
resolution (went up to 150). As for run time, I am using the decay 
factor, and have manually been terminating it when the reflectances 
exceed unity. I think the maximum time I've run for is around 3000 units.




___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with Inverted Pyramid Structure at Small Absorption

2020-08-15 Thread J. Philip Haupt
I've tried increasing PML thickness (went up to 8 micron) and resolution 
(went up to 150). As for run time, I am using the decay factor, and have 
manually been terminating it when the reflectances exceed unity. I think 
the maximum time I've run for is around 3000 units.


On 2020-08-14 9:11 a.m., Ardavan Oskooi wrote:


For additional details regarding PMLs in Meep, see: 
https://meep.readthedocs.io/en/latest/Perfectly_Matched_Layer/.


As described in 
https://meep.readthedocs.io/en/latest/FAQ/#checking-convergence, you 
need to check the convergence by increasing the resolution, PML 
thickness, and run time (for Fourier spectra). Have you also tried 
doubling the run time?


On 8/13/20 17:06, J. Philip Haupt wrote:
I still haven't gotten this to work. It seems to work in the 
wavelength range 300-1000 nm (which is with different fits), but not 
1000-1200 nm (with fit shown in the previous email).


For what it's worth, my colleague got a converged result using 
Lumerical FDTD Solutions, specifically a "stretched coordinate" PML 
(SCPML). I have been trying to map the parameters in MEEP's PML class 
to the parameters used by Lumerical, but without much luck. Is there 
any documentation for how to change more "standard" PML parameters 
(what Lumerical calls layers (=thickness?), kappa, sigma, polynomial 
(which I assume = degree of pml_profile))? This would help me 
benchmark his results with MEEP.


Also, what does the mean_stretch parameter in meep.PML do? It is 
listed in the documentation 
 
but not explained.




___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with Inverted Pyramid Structure at Small Absorption

2020-08-14 Thread Ardavan Oskooi
For additional details regarding PMLs in Meep, see: 
https://meep.readthedocs.io/en/latest/Perfectly_Matched_Layer/.


As described in 
https://meep.readthedocs.io/en/latest/FAQ/#checking-convergence, you 
need to check the convergence by increasing the resolution, PML 
thickness, and run time (for Fourier spectra). Have you also tried 
doubling the run time?


On 8/13/20 17:06, J. Philip Haupt wrote:
I still haven't gotten this to work. It seems to work in the 
wavelength range 300-1000 nm (which is with different fits), but not 
1000-1200 nm (with fit shown in the previous email).


For what it's worth, my colleague got a converged result using 
Lumerical FDTD Solutions, specifically a "stretched coordinate" PML 
(SCPML). I have been trying to map the parameters in MEEP's PML class 
to the parameters used by Lumerical, but without much luck. Is there 
any documentation for how to change more "standard" PML parameters 
(what Lumerical calls layers (=thickness?), kappa, sigma, polynomial 
(which I assume = degree of pml_profile))? This would help me 
benchmark his results with MEEP.


Also, what does the mean_stretch parameter in meep.PML do? It is 
listed in the documentation 
 but 
not explained.


___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with Inverted Pyramid Structure at Small Absorption

2020-07-31 Thread J. Philip Haupt
Thanks, but it seems like this doesn't change much. I turned off 
subpixel averaging, increased the resolution to 100, and also increased 
the PML thickness to 1.2 (=max wavelength). I have run so far for 1800 
time units. At 25 time units, the field decay was 0.0090 whereas at 1725 
time units the field decay is 0.0433 (and some absorption values are 
negative). I get the same problem if I replace the sidewall-angle-Prism 
pyramid with a set of Block objects to approximate a pyramid.


On 2020-07-30 9:46 p.m., Ardavan Oskooi wrote:
Try turning off subpixel averaging since it sometimes causes 
instabilities with the prism sidewall angle feature. This means that 
you will also need to increase the resolution.


On 7/29/20 16:38, J. Philip Haupt wrote:

I get that the fields diverge (albeit very slowly), at least so it 
seems. Boundary conditions are k_point=Vector3(0,0,0) with PML in the 
Z direction. My guess has been that the pyramid reflects light such 
that it hits the PML at a glancing angle and this gives reflective 
artefacts. I've hence played with PML parameters (thickness, profile, 
R_asymptotic) and the distance between sources, monitors and 
structure, but so far haven't gotten anything to work. Is perhaps the 
absorption too small for MEEP to handle (i.e. leading to significant 
roundoff errors)? Is there a workaround? What are some typical values 
to try if the defaults do not work?



___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with Inverted Pyramid Structure at Small Absorption

2020-07-30 Thread Ardavan Oskooi
Try turning off subpixel averaging since it sometimes causes 
instabilities with the prism sidewall angle feature. This means that you 
will also need to increase the resolution.


On 7/29/20 16:38, J. Philip Haupt wrote:

I get that the fields diverge (albeit very slowly), at least so it 
seems. Boundary conditions are k_point=Vector3(0,0,0) with PML in the 
Z direction. My guess has been that the pyramid reflects light such 
that it hits the PML at a glancing angle and this gives reflective 
artefacts. I've hence played with PML parameters (thickness, profile, 
R_asymptotic) and the distance between sources, monitors and 
structure, but so far haven't gotten anything to work. Is perhaps the 
absorption too small for MEEP to handle (i.e. leading to significant 
roundoff errors)? Is there a workaround? What are some typical values 
to try if the defaults do not work?


___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss