[Meep-discuss] Question on nonlinearities

2020-10-31 Thread Alfredo Daniel Sánchez
Hello everybody!

I'm trying to perform simulations in order to obtain the nonlinear response
of a given geometry. Currently, I'm "stretching muscles" by using the
*mie.py* example code given in the documentation. Over this code I'm adding
some lines in order to obtain the nonlinear response. Previously, I
incorporated the third-order susceptibility [image: \chi^{(3)}]  such
as *mp.Medium(index=n_sphere,
chi3=10**-3). *Then, I added the corresponding fluxes regions as is
commented in the example *3rd-harm-1d.py* also given in the documentation.
However, I need several things to improve my code.
1) I want to model a metal nanoparticle, namely, of gold or silver
material. I do not know if by importing the gold material such as *from *
meep.materials* import *Au_JC_visible as Au, the third-order susceptibility
is either regarded.
2) How to include a complex chi3, that is, measurements of [image:
\chi^{(3)}] are often to be reported as a complex quantity at certain
wavelength.
3) How can I compute an effective third-order susceptibility in the medium
plus metal nanoparticle.

I hope somebody could help me.

Best regards,

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

[Meep-discuss] Question on waveguide dispersion

2020-10-24 Thread Alfredo Daniel Sánchez
Hello everybody!

I am trying to find the dispersion function [image: D],  typically measured
in ps/nm-km, of a simple SOI-waveguide. Silicon
waveguide is typically ranged in a few hundreds of nanometers. I am using
the k_find class from MPB, and then I perform derivative twice in order to
obtain [image: \beta_2] and then [image: D]. I am not sure if this is the
correct way to do it. Please advise me.

Best wishes,

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

Re: [Meep-discuss] Question on TE and TM modes

2020-10-19 Thread Alfredo Daniel Sánchez
Thanks vare much for answering

El lun., 19 de oct. de 2020 16:11, Steven G. Johnson 
escribió:

> If you just want the guided modes, I would tend to use MPB for this.   It
> will give you the modal profile and the dispersion relation ω(β) (from
> which you can compute the effective index and anything else)
>
> On Oct 19, 2020, at 11:44 AM, Alfredo Daniel Sánchez <
> alfredo.daniel.sanc...@gmail.com> wrote:
>
> Dear friends and colleges,
>
> I'm trying to write a code to simulate the TE and TM modes in a kind
> waveguide SOI. The structure of this waveguide is similar to that shown in
> https://meep.readthedocs.io/en/latest/Python_Tutorials/Custom_Source/,
> where we have several materials with different refractive index.
> Typical computing is based in the effective refractive index of this
> waveguide, the modal profile, the modes in general and if it is possible,
> the dispersion relation.
> I do not know if this problem is either a 2D or 3D one. Does anyone help
> me?
>
> Thank you very much to all.
>
> Alfredo Sanchez.
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
>
>
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Question on TE and TM modes

2020-10-19 Thread Steven G. Johnson
If you just want the guided modes, I would tend to use MPB for this.   It will 
give you the modal profile and the dispersion relation ω(β) (from which you can 
compute the effective index and anything else)

> On Oct 19, 2020, at 11:44 AM, Alfredo Daniel Sánchez 
>  wrote:
> 
> Dear friends and colleges,
> 
> I'm trying to write a code to simulate the TE and TM modes in a kind 
> waveguide SOI. The structure of this waveguide is similar to that shown in 
> https://meep.readthedocs.io/en/latest/Python_Tutorials/Custom_Source/ 
> , 
> where we have several materials with different refractive index. Typical 
> computing is based in the effective refractive index of this waveguide, the 
> modal profile, the modes in general and if it is possible, the dispersion 
> relation.
> I do not know if this problem is either a 2D or 3D one. Does anyone help me?
> 
> Thank you very much to all.
> 
> Alfredo Sanchez.
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

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

[Meep-discuss] Question on TE and TM modes

2020-10-19 Thread Alfredo Daniel Sánchez
Dear friends and colleges,

I'm trying to write a code to simulate the TE and TM modes in a kind
waveguide SOI. The structure of this waveguide is similar to that shown in
https://meep.readthedocs.io/en/latest/Python_Tutorials/Custom_Source/,
where we have several materials with different refractive index.
Typical computing is based in the effective refractive index of this
waveguide, the modal profile, the modes in general and if it is possible,
the dispersion relation.
I do not know if this problem is either a 2D or 3D one. Does anyone help me?

Thank you very much to all.

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

Re: [Meep-discuss] question about dispersive complex epsilon for gain

2020-07-25 Thread Alexander Cerjan
as best i can tell, you've set the dimension of your structure to 3, but
the size in the x and y directions to be a single pixel. This is, depending
on what you're trying to do, a somewhat odd situation, because you have no
absorbing boundary condition in the x-y plane, only for waves which are
propagating in the + or - z direction. As such, there will always be
"infinite-Q" modes in your system, which correspond to waves propagating
below the light line in the x-y plane. Even if the slab is the same
dielectric as the surrounding vacuum, the pml in the z-direction won't
absorb waves travelling entirely in the x or y directions. So, these states
will see the gain, and grow exponentially, as there is nothing to absorb
them. So yes, if I understand what you've set up correctly, any gain > 0
will yield divergent behavior.

how to fix this? depends on what you want to do. If you're not trying to
simulate a 3D system, you should change the dimensionality of your system.
If you are trying to simulate a 3D system, which has bound modes below the
light line, then you're always going to see lasing for any gain > 0,
because that is what is physically expected.

On Sat, Jul 25, 2020 at 11:40 PM 裴延波  wrote:

>
> Dear Cerjan, thank you for your kind help.
> Now let me summarize my tests. Firstly, I decreased sigma to 1e-100.
> However the electric field still grows fast to infinity. My test results
> show that sigma=1e-120 made the calculation converge. But why sigma is
> required so small. It does not make sense.
> Secondly, the interface reflections were removed. In my structure under
> calculation, uniform gain medium was sandwiched between air and the light
> was propagating along z direction. The reflections from the gain medium-air
> interfaces provided optical feedback for this Fabry-Perot like lasing. For
> test, the instantaneous dielectric constant of the gain medium was set the
> same as the air. But the field did not converge in this case also.
> Thirdly, gamma was set to positive and sigma was set to negative. In this
> case, the electric field converged finally. And I check the results, and
> found the spectrum was likely correct. I wonder if those are the correct
> parameters in using complex epsilon to calculate the lasing.
> That's all for my tests. After those tests, I am confused with modelling
> gain medium by complex dielectric function. Can you give me any clue to
> solve this problem?
>
> Bests,
> Pei
>
>
>
> At 2020-07-26 04:47:29, "Alexander Cerjan"  wrote:
> - 隐藏引用文字 -
>
> This is likely the physically expected behavior. If your gain is coupling
> to a mode of your system whose loss rate is less than that of the rate of
> stimulated emission, your system will begin to lase, i.e. the field will
> begin to grow exponentially. In real, physical systems, this is then
> compensated by gain saturation, which prohibits the fields from growing
> exponentially forever. However, as the Lorentzian susceptibility model does
> not contain this physics, nothing prohibits the fields from continuing
> their exponential growth.
>
> On Sat, Jul 25, 2020 at 2:02 PM 裴延波  wrote:
>
>> I am trying to use dispersive complex epsilon to describe gain in my
>> calculation. The parameters for the epsilon is defined as follows.
>> freq_32 = 2# emission frequency  (units of 2\pi c/a)
>> gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi
>> c/a)
>> sigma_32 = 1e-4
>> susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32,
>> gamma=-gamma_32, sigma=sigma_32)]
>> geometry = [mp.Block(center=mp.Vector3(z=0),
>>  size=mp.Vector3(mp.inf,mp.inf,dcell),
>>
>> material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
>>
>> Here gamma is negative indicating the material has gain, just as that in
>> the tutorial. However, when running the field increase to infinity even
>> though sigma is very very small. I try to set gamma positive and sigma
>> negative. In this case there is a result which looks normal. I don't  know
>> why and what is the problem in my code. Can anyone explain this. Thanks in
>> advance.
>>
>> The following is my full python code.
>>
>> import meep as mp
>> import math
>> resolution = 100
>> dimensions = 3
>> ns = 1.0
>> nlead = ns
>> dlead = 2.0
>> npad = ns
>> dpad = 2.0
>> dpml = 2.0
>> Ncell = 20
>> dcell = 96
>> sz = dcell + dlead + dpad + 2*dpml
>> cell_size = mp.Vector3(0,0,sz)
>> pml_layers = [mp.PML(dpml)]
>> freq_32 = 2# emission frequency  (units of 2\pi c/a)
>> gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi
>> c/a)
>> df1 = gamma_32/2/math.pi
>> sigma_32 = 1e-4  # dipole coupling strength (hbar = 1)
>> default_material = mp.Medium(index=ns)
>> sources = [mp.Source(mp.GaussianSource(freq_32, fwidth=df1),
>> component=mp.Ex, center=mp.Vector3(-dcell/2-dpad/2))]
>>
>> sim = mp.Simulation(cell_size=cell_size,
>> sources=sources,
>> resolution=resolution,

Re: [Meep-discuss] question about dispersive complex epsilon for gain

2020-07-25 Thread 裴延波


Dear Cerjan, thank you for your kind help.
Now let me summarize my tests. Firstly, I decreased sigma to 1e-100. However 
the electric field still grows fast to infinity. My test results show that 
sigma=1e-120 made the calculation converge. But why sigma is required so small. 
It does not make sense. 
Secondly, the interface reflections were removed. In my structure under 
calculation, uniform gain medium was sandwiched between air and the light was 
propagating along z direction. The reflections from the gain medium-air 
interfaces provided optical feedback for this Fabry-Perot like lasing. For 
test, the instantaneous dielectric constant of the gain medium was set the same 
as the air. But the field did not converge in this case also. 
Thirdly, gamma was set to positive and sigma was set to negative. In this case, 
the electric field converged finally. And I check the results, and found the 
spectrum was likely correct. I wonder if those are the correct parameters in 
using complex epsilon to calculate the lasing.  
That's all for my tests. After those tests, I am confused with modelling gain 
medium by complex dielectric function. Can you give me any clue to solve this 
problem?


Bests,
Pei







At 2020-07-26 04:47:29, "Alexander Cerjan"  wrote:

- 隐藏引用文字 -
This is likely the physically expected behavior. If your gain is coupling to a 
mode of your system whose loss rate is less than that of the rate of stimulated 
emission, your system will begin to lase, i.e. the field will begin to grow 
exponentially. In real, physical systems, this is then compensated by gain 
saturation, which prohibits the fields from growing exponentially forever. 
However, as the Lorentzian susceptibility model does not contain this physics, 
nothing prohibits the fields from continuing their exponential growth.


On Sat, Jul 25, 2020 at 2:02 PM 裴延波  wrote:

I am trying to use dispersive complex epsilon to describe gain in my 
calculation. The parameters for the epsilon is defined as follows.
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
sigma_32 = 1e-4

susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]


Here gamma is negative indicating the material has gain, just as that in the 
tutorial. However, when running the field increase to infinity even though 
sigma is very very small. I try to set gamma positive and sigma negative. In 
this case there is a result which looks normal. I don't  know why and what is 
the problem in my code. Can anyone explain this. Thanks in advance. 
 
The following is my full python code. 


import meep as mp
import math
resolution = 100
dimensions = 3
ns = 1.0
nlead = ns
dlead = 2.0
npad = ns
dpad = 2.0
dpml = 2.0
Ncell = 20
dcell = 96
sz = dcell + dlead + dpad + 2*dpml
cell_size = mp.Vector3(0,0,sz)
pml_layers = [mp.PML(dpml)]
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
df1 = gamma_32/2/math.pi
sigma_32 = 1e-4  # dipole coupling strength (hbar = 1)
default_material = mp.Medium(index=ns)
sources = [mp.Source(mp.GaussianSource(freq_32, fwidth=df1), component=mp.Ex, 
center=mp.Vector3(-dcell/2-dpad/2))]
  
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
dimensions = dimensions,
default_material=default_material)
 
nfreq = 50 #number of frequencies at which to compute flux
pt = mp.Vector3(0,0,dcell/2+dpad/2)
flux_detection_point = mp.FluxRegion(center=pt)
incidence = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
incident_flux = mp.get_fluxes(incidence)
sim.reset_meep() 
susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
geometry.append(mp.Block(center=mp.Vector3(z=-sz/2+(dpml+dlead)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dlead),
 material=mp.Medium(index=nlead)))
geometry.append(mp.Block(center=mp.Vector3(z=sz/2-(dpml+dpad)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dpad),
 material=mp.Medium(index=npad))) 
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
 

Re: [Meep-discuss] question about dispersive complex epsilon for gain

2020-07-25 Thread 裴延波
Thank you for your kind help. 
Actually, I have tried the strength parameter sigma as small as 1e-20. But the 
field rises to infinity rapidly. sigma can be used to tune the gain, can't it?





--
发自我的网易邮箱平板适配版



在 2020-07-26 04:47:29,"Alexander Cerjan"  写道:

This is likely the physically expected behavior. If your gain is coupling to a 
mode of your system whose loss rate is less than that of the rate of stimulated 
emission, your system will begin to lase, i.e. the field will begin to grow 
exponentially. In real, physical systems, this is then compensated by gain 
saturation, which prohibits the fields from growing exponentially forever. 
However, as the Lorentzian susceptibility model does not contain this physics, 
nothing prohibits the fields from continuing their exponential growth.


On Sat, Jul 25, 2020 at 2:02 PM 裴延波  wrote:

I am trying to use dispersive complex epsilon to describe gain in my 
calculation. The parameters for the epsilon is defined as follows.
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
sigma_32 = 1e-4

susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]


Here gamma is negative indicating the material has gain, just as that in the 
tutorial. However, when running the field increase to infinity even though 
sigma is very very small. I try to set gamma positive and sigma negative. In 
this case there is a result which looks normal. I don't  know why and what is 
the problem in my code. Can anyone explain this. Thanks in advance. 
 
The following is my full python code. 


import meep as mp
import math
resolution = 100
dimensions = 3
ns = 1.0
nlead = ns
dlead = 2.0
npad = ns
dpad = 2.0
dpml = 2.0
Ncell = 20
dcell = 96
sz = dcell + dlead + dpad + 2*dpml
cell_size = mp.Vector3(0,0,sz)
pml_layers = [mp.PML(dpml)]
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
df1 = gamma_32/2/math.pi
sigma_32 = 1e-4  # dipole coupling strength (hbar = 1)
default_material = mp.Medium(index=ns)
sources = [mp.Source(mp.GaussianSource(freq_32, fwidth=df1), component=mp.Ex, 
center=mp.Vector3(-dcell/2-dpad/2))]
  
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
dimensions = dimensions,
default_material=default_material)
 
nfreq = 50 #number of frequencies at which to compute flux
pt = mp.Vector3(0,0,dcell/2+dpad/2)
flux_detection_point = mp.FluxRegion(center=pt)
incidence = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
incident_flux = mp.get_fluxes(incidence)
sim.reset_meep() 
susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
geometry.append(mp.Block(center=mp.Vector3(z=-sz/2+(dpml+dlead)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dlead),
 material=mp.Medium(index=nlead)))
geometry.append(mp.Block(center=mp.Vector3(z=sz/2-(dpml+dpad)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dpad),
 material=mp.Medium(index=npad))) 
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
geometry=geometry,
dimensions = dimensions,
default_material=default_material)
 
transmission = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
transmitted_flux = mp.get_fluxes(transmission)
flux_freqs = mp.get_flux_freqs(transmission)
data1 = open("lasing.dat",'w')
for ii in range(0,nfreq):
 data1.write("%f   %f   %f%f\n" 
%(flux_freqs[ii],incident_flux[ii],transmitted_flux[ii],transmitted_flux[ii]/incident_flux[ii]))
data1.close()






 

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

Re: [Meep-discuss] question about dispersive complex epsilon for gain

2020-07-25 Thread Alexander Cerjan
This is likely the physically expected behavior. If your gain is coupling
to a mode of your system whose loss rate is less than that of the rate of
stimulated emission, your system will begin to lase, i.e. the field will
begin to grow exponentially. In real, physical systems, this is then
compensated by gain saturation, which prohibits the fields from growing
exponentially forever. However, as the Lorentzian susceptibility model does
not contain this physics, nothing prohibits the fields from continuing
their exponential growth.

On Sat, Jul 25, 2020 at 2:02 PM 裴延波  wrote:

> I am trying to use dispersive complex epsilon to describe gain in my
> calculation. The parameters for the epsilon is defined as follows.
> freq_32 = 2# emission frequency  (units of 2\pi c/a)
> gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
> sigma_32 = 1e-4
> susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32,
> gamma=-gamma_32, sigma=sigma_32)]
> geometry = [mp.Block(center=mp.Vector3(z=0),
>  size=mp.Vector3(mp.inf,mp.inf,dcell),
>
> material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
>
> Here gamma is negative indicating the material has gain, just as that in
> the tutorial. However, when running the field increase to infinity even
> though sigma is very very small. I try to set gamma positive and sigma
> negative. In this case there is a result which looks normal. I don't  know
> why and what is the problem in my code. Can anyone explain this. Thanks in
> advance.
>
> The following is my full python code.
>
> import meep as mp
> import math
> resolution = 100
> dimensions = 3
> ns = 1.0
> nlead = ns
> dlead = 2.0
> npad = ns
> dpad = 2.0
> dpml = 2.0
> Ncell = 20
> dcell = 96
> sz = dcell + dlead + dpad + 2*dpml
> cell_size = mp.Vector3(0,0,sz)
> pml_layers = [mp.PML(dpml)]
> freq_32 = 2# emission frequency  (units of 2\pi c/a)
> gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
> df1 = gamma_32/2/math.pi
> sigma_32 = 1e-4  # dipole coupling strength (hbar = 1)
> default_material = mp.Medium(index=ns)
> sources = [mp.Source(mp.GaussianSource(freq_32, fwidth=df1),
> component=mp.Ex, center=mp.Vector3(-dcell/2-dpad/2))]
>
> sim = mp.Simulation(cell_size=cell_size,
> sources=sources,
> resolution=resolution,
> boundary_layers=pml_layers,
> dimensions = dimensions,
> default_material=default_material)
>
> nfreq = 50 #number of frequencies at which to compute flux
> pt = mp.Vector3(0,0,dcell/2+dpad/2)
> flux_detection_point = mp.FluxRegion(center=pt)
> incidence = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
> sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
> incident_flux = mp.get_fluxes(incidence)
> sim.reset_meep()
> susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32,
> gamma=-gamma_32, sigma=sigma_32)]
> geometry = [mp.Block(center=mp.Vector3(z=0),
>  size=mp.Vector3(mp.inf,mp.inf,dcell),
>
> material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
> geometry.append(mp.Block(center=mp.Vector3(z=-sz/2+(dpml+dlead)/2),
>  size=mp.Vector3(mp.inf,mp.inf,dpml+dlead),
>  material=mp.Medium(index=nlead)))
> geometry.append(mp.Block(center=mp.Vector3(z=sz/2-(dpml+dpad)/2),
>  size=mp.Vector3(mp.inf,mp.inf,dpml+dpad),
>  material=mp.Medium(index=npad)))
> sim = mp.Simulation(cell_size=cell_size,
> sources=sources,
> resolution=resolution,
> boundary_layers=pml_layers,
> geometry=geometry,
> dimensions = dimensions,
> default_material=default_material)
>
> transmission = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
> sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
> transmitted_flux = mp.get_fluxes(transmission)
> flux_freqs = mp.get_flux_freqs(transmission)
> data1 = open("lasing.dat",'w')
> for ii in range(0,nfreq):
>  data1.write("%f   %f   %f%f\n"
> %(flux_freqs[ii],incident_flux[ii],transmitted_flux[ii],transmitted_flux[ii]/incident_flux[ii]))
> data1.close()
>
>
>
>
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] question about dispersive complex epsilon for gain

2020-07-25 Thread 裴延波
I am trying to use dispersive complex epsilon to describe gain in my 
calculation. The parameters for the epsilon is defined as follows.
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
sigma_32 = 1e-4

susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]


Here gamma is negative indicating the material has gain, just as that in the 
tutorial. However, when running the field increase to infinity even though 
sigma is very very small. I try to set gamma positive and sigma negative. In 
this case there is a result which looks normal. I don't  know why and what is 
the problem in my code. Can anyone explain this. Thanks in advance. 
 
The following is my full python code. 


import meep as mp
import math
resolution = 100
dimensions = 3
ns = 1.0
nlead = ns
dlead = 2.0
npad = ns
dpad = 2.0
dpml = 2.0
Ncell = 20
dcell = 96
sz = dcell + dlead + dpad + 2*dpml
cell_size = mp.Vector3(0,0,sz)
pml_layers = [mp.PML(dpml)]
freq_32 = 2# emission frequency  (units of 2\pi c/a)
gamma_32 = 0.306# FWHM emission linewidth in sec^-1 (units of 2\pi c/a)
df1 = gamma_32/2/math.pi
sigma_32 = 1e-4  # dipole coupling strength (hbar = 1)
default_material = mp.Medium(index=ns)
sources = [mp.Source(mp.GaussianSource(freq_32, fwidth=df1), component=mp.Ex, 
center=mp.Vector3(-dcell/2-dpad/2))]
  
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
dimensions = dimensions,
default_material=default_material)
 
nfreq = 50 #number of frequencies at which to compute flux
pt = mp.Vector3(0,0,dcell/2+dpad/2)
flux_detection_point = mp.FluxRegion(center=pt)
incidence = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
incident_flux = mp.get_fluxes(incidence)
sim.reset_meep() 
susceptibilities = [mp.LorentzianSusceptibility(frequency=freq_32, 
gamma=-gamma_32, sigma=sigma_32)]
geometry = [mp.Block(center=mp.Vector3(z=0),
 size=mp.Vector3(mp.inf,mp.inf,dcell),
 
material=mp.Medium(epsilon=2.25,E_susceptibilities=susceptibilities))]
geometry.append(mp.Block(center=mp.Vector3(z=-sz/2+(dpml+dlead)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dlead),
 material=mp.Medium(index=nlead)))
geometry.append(mp.Block(center=mp.Vector3(z=sz/2-(dpml+dpad)/2),
 size=mp.Vector3(mp.inf,mp.inf,dpml+dpad),
 material=mp.Medium(index=npad))) 
sim = mp.Simulation(cell_size=cell_size,
sources=sources,
resolution=resolution,
boundary_layers=pml_layers,
geometry=geometry,
dimensions = dimensions,
default_material=default_material)
 
transmission = sim.add_flux(freq_32,df1,nfreq,flux_detection_point)
sim.run(until_after_sources=mp.stop_when_fields_decayed(50,mp.Ex,pt,1e-3))
transmitted_flux = mp.get_fluxes(transmission)
flux_freqs = mp.get_flux_freqs(transmission)
data1 = open("lasing.dat",'w')
for ii in range(0,nfreq):
 data1.write("%f   %f   %f%f\n" 
%(flux_freqs[ii],incident_flux[ii],transmitted_flux[ii],transmitted_flux[ii]/incident_flux[ii]))
data1.close()

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

[Meep-discuss] Question about properly modeling absorption

2020-07-02 Thread Ball, John (NIH/NEI) [E]
Hello, I'm modeling light propagation/scattering in biological cells. I've been 
using MEEP for a while and feel like I have an OK handle on the pieces I've 
been using. I am using the c++ libraries with my own code (the libraries I'm 
using aren't current, if that turns out to be important).

However, I'd like to consider the effects of absorption in these cells and 
their organelles. I think I understand that the way to do this is to specify 
conductivity values in addition to epsilon. However, in my field we're much 
more accustomed to thinking about the absorption of photons by 
materials/tissues rather than considering this from the view of the EM field.

So, I believe I need to attack this from the perspective of taking observed 
transmission spectra, maybe even absorption cross-sections, etc. and 
translating this into a meaningful conductivity parameter (sigma, right?). I 
apologize for bringing a theoretical question instead of a programming question 
to the mailing list, but I am struggling to understand how to proceed and hope 
that someone could help clarify things for me, or at least point me in the 
right direction to study and learn it on my own. I appreciate any help that can 
be provided.
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Question about how to set background refractive index

2020-06-19 Thread Steven G. Johnson
You can use the default_material parameter of the Simulation object, for 
example.

> On Jun 19, 2020, at 2:29 PM, Siwei Zeng  wrote:
> 
> Hi,
> 
> I am a new player in Meep. Recently I try to simulate the transmission of 
> silicon nitride directional coupler. The waveguide core material I use is 
> silicon nitride. The waveguide cladding material is silicon dioxide. I have 
> checked the directional coupler 
> example(https://meep.readthedocs.io/en/latest/Python_Tutorials/GDSII_Import/#s-parameters-of-a-directional-coupler
>  
> ).
>  I think the background refractive index is air(n=1) in that example. I am 
> wondering if it is possible to set the background refractive index as the 
> refractive index of silicon dioxide. Thanks in advance.
> 
> Regards,
> Siwei
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

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

[Meep-discuss] Question about how to set background refractive index

2020-06-19 Thread Siwei Zeng
Hi,

I am a new player in Meep. Recently I try to simulate the transmission of
silicon nitride directional coupler. The waveguide core material I use is
silicon nitride. The waveguide cladding material is silicon dioxide. I have
checked the directional coupler example(
https://meep.readthedocs.io/en/latest/Python_Tutorials/GDSII_Import/#s-parameters-of-a-directional-coupler).
I think the background refractive index is air(n=1) in that example. I am
wondering if it is possible to set the background refractive index as the
refractive index of silicon dioxide. Thanks in advance.

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

[Meep-discuss] Question of material type in MPB

2020-05-16 Thread 王启祥
Hello all,

I'm currently using MPB for PBG calculation. I want to know whether there is a 
way to import material with epsilon as a function of frequency? I think that 
will improve the accuracy of the location of PBG. Thank you!

Best regards,

Qixiang

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

[Meep-discuss] question about 'transform'

2019-09-05 Thread 裴延波
Dear Meep users and developers

I have a question concerning the interface of Medium transform(M [ Matrix class 
]). In my present work, I need to model the anisotropic dielectric constant of 
liquid crystals. Now, I calculate epsilon_diag=(a,b,c) and 
epsilon_offdiag=(u,v,w) for the particular orientational angle of liquid 
crystal director.Happily, I find there is a function  'transform', which seems 
that it can rotate the principal axis of dielectric constant of liquid crystal 
by the orientational angle of liquid crystal director.  However I am not sure 
and there is no detailed explaination to tell me how to use it. Could anyone 
help me?
Thanks in advance.






Yanbo Pei










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

Re: [Meep-discuss] Question about permittivity and permeability

2016-09-19 Thread Filip Dominec
Hi, since MEEP uses relative permittivity and permeability which have
no physical dimension, there is no need to convert units.

Filip



2016-09-16 22:43 GMT+02:00, Heligman, Daniel M.
:
> Hi,
>
>
> I have a simple question. Is the a conversion between SI and meep units for
> permittivity and permeability or are they the same in meep units?
>
>
> Best,
>
> Daniel Heligman
>

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

[Meep-discuss] Question about permittivity and permeability

2016-09-16 Thread Heligman, Daniel M.
Hi,


I have a simple question. Is the a conversion between SI and meep units for 
permittivity and permeability or are they the same in meep units?


Best,

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

[Meep-discuss] Question about ffmpeg movies

2014-05-18 Thread jayv
Hi All,

I typically use h5topng on output field arrays and then use ffmpeg to 
generate movies.  What I would like to do is to offer the eps file as an 
alpha overlay on the movies in a way that the channel could be turned on or 
off while playing the movie.

In other words, if I make the ffmpeg movie with an alpha channel, is there a 
way to turn the channel off in some movie player?  I use totem or mplayer on 
linux but I haven't found a way to select overlay on/off, though there is a 
subtitle on/off option.  

Also, the h5topng meep tutorial shows how to add the eps file as an alpha 
overlay in each png, but I don't know if that translates into an alpha 
channel in ffmpeg.  The eps overlay is a really neat feature and it would be 
nice to always have it as an option in a movie.

Thanks in advance.


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


[Meep-discuss] question on nonlinear calculation

2013-11-08 Thread nwuwl

Dear Steven and meep users

Recently I tried to use meep to do calculation on nonlinear. But I’m confused 
on the calculation of refractive index change caused by nonlinear. This note   
(http://ab-initio.mit.edu/wiki/index.php/Units_and_nonlinearity_in_Meep) gives 
some details about my question, but I didn’t understand. What I got from this 
note is follow.  Firstly  I set the chi3 in the ctl file ,so I can calculate 
the n2. In order to obtain the change of refractive index, I also need get  the 
power going through the structure by using the meep-fields-flux-in-box 
function. My first question is which function should I use. What I tried is 
(flux-in-box dir box). Moreover ,my structure is a two-dimensional Photonic 
crystal(X direction is transmission direction, Y is transverse direction), and 
the direction of the function (flux-in-box dir box) is perpendicular to the 
box. Does it mean the direction dir is Z ? So I hope you can give me an example 
of calculating the nonlinear effect on refractive index, a ctl file is better 
if it is convenient.Thank you very much.

   Yours

Lin Wang

 










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

[Meep-discuss] question on nonlinear calculation

2013-11-03 Thread nwuwl

Dear Steven and meep users

Recently I tried to use meep to do calculation on nonlinear. But I’m confused 
on the calculation of refractive index change caused by nonlinear. This note   
(http://ab-initio.mit.edu/wiki/index.php/Units_and_nonlinearity_in_Meep) gives 
some details about my question, but I didn’t understand. What I got from this 
note is follow.  Firstly  I set the chi3 in the ctl file ,so I can calculate 
the n2. In order to obtain the change of refractive index, I also need get  the 
power going through the structure by using the meep-fields-flux-in-box 
function. My first question is which function should I use. What I tried is 
(flux-in-box dir box). Moreover ,my structure is a two-dimensional Photonic 
crystal(X direction is transmission direction, Y is transverse direction), and 
the direction of the function (flux-in-box dir box) is perpendicular to the 
box. Does it mean the direction dir is Z ? So I hope you can give me an example 
of calculating the nonlinear effect on refractive index, a ctl file is better 
if it is convenient.Thank you very much.

   Yours

Lin Wang

 







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

[Meep-discuss] Question about meep code examples

2013-08-25 Thread Rui La
Dear meep users,

I am wondering if you know any place I can find the meep code examples. I know 
many people posted their codes on the meep-discuss mail list. But most of them 
post their code because they have problems with their codes. So I want to find 
a place where correct and different examples are being discussed. I know the 
meep tutorials has examples of 2D waveguides and transmission calculations. I 
have read them many times. They are good but now enough. Thanks.

Best,

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


Re: [Meep-discuss] Question about units in meep

2013-07-29 Thread Gurso Akguc
You get same result if you also scale geometry (slab thickness maybe)

Gursoy akguc


Sent from my iPad

On Jul 29, 2013, at 2:33 AM, Rui La  wrote:

> Hi meep users,
> 
> I am new to meep and have some questions about units and sizes in the code of 
> meep.
> 
> I want to measure the transmission of a silicon plane with the wave of 
> 1000nm. The relationship between frequency and wavelength is wavelength=1/f. 
> So I guess if I assume the "1" in my code equal to 150 nm, the relative 
> wavelength of the source should be 1000/150 = 6.67, so the f should be 1/6.67 
> = 0.15. Is my calculation correct? What if I set the "1" in my code as 300 
> nm, that means I need to change my frequency to 1/3.33=0.3. So will the two 
> simulations have same result since I used the different frequency but 
> simulate the same model? 
> 
> Thanks,
> 
> Rui
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

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


Re: [Meep-discuss] Question about units in meep

2013-07-29 Thread Chuanren Wu
Hello Rui,

the only thing happens here is scaling the 4 Maxwell equations under the
condition that c0 = 1.
The solutions are not unique, you can choose the scaling method, which
is more suitable for your problem. (for example, you can let the
permittivity as the value in the real world, or keep the length in meter
or mm, or if you want to calculate a real current value, you can also
keep the current in SI unit).


regards


On 07/29/2013 01:33 AM, Rui La wrote:
> Hi meep users,
> 
> I am new to meep and have some questions about units and sizes in the
> code of meep.
> 
> I want to measure the transmission of a silicon plane with the wave of
> 1000nm. The relationship between frequency and wavelength is
> wavelength=1/f. So I guess if I assume the "1" in my code equal to 150
> nm, the relative wavelength of the source should be 1000/150 = 6.67, so
> the f should be 1/6.67 = 0.15. Is my calculation correct? What if I set
> the "1" in my code as 300 nm, that means I need to change my frequency
> to 1/3.33=0.3. So will the two simulations have same result since I used
> the different frequency but simulate the same model? 
> 
> Thanks,
> 
> Rui
> 
> 
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
> 




signature.asc
Description: OpenPGP digital signature
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about units in meep

2013-07-28 Thread Rui La
Hi meep users,

I am new to meep and have some questions about units and sizes in the code
of meep.

I want to measure the transmission of a silicon plane with the wave of
1000nm. The relationship between frequency and wavelength is
wavelength=1/f. So I guess if I assume the "1" in my code equal to 150 nm,
the relative wavelength of the source should be 1000/150 = 6.67, so the f
should be 1/6.67 = 0.15. Is my calculation correct? What if I set the "1"
in my code as 300 nm, that means I need to change my frequency to
1/3.33=0.3. So will the two simulations have same result since I used the
different frequency but simulate the same model?

Thanks,

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

Re: [Meep-discuss] Question

2013-06-06 Thread Wu
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hello Eric,

In Meep 1.2 you have to patch the norm2() function in CG method to let the 
solve-cw work.

Chuanren




Eric Smoll  schrieb:

>Responding to my own question: The code below (posted on a forum
>somewhere)
>works on MEEP version 1.1.1.
>
>(reset-meep)
>(set! dimensions 2)
>(set! force-complex-fields? true)
>(set! geometry-lattice (make lattice (size 12 12 no-size) )) ;
>computational domain
>(set! sources (list (make source (src (make continuous-src (frequency
>1.0))) (center 0.0 0.0) (component Ez) ))) ; line current source along
>z-direction located at the center of the computational domain
>(set! pml-layers (list (make pml (thickness 2.0) ))) ; PML layers in
>all
>direction
>(set! resolution 40.0)
>(init-fields)
>(meep-fields-solve-cw fields 0.0001 1 10)
>(use-output-directory)
>(output-efield-x) ; x-comp of E-field
>(output-efield-y) ; y-comp of E-field
>(output-efield-z) ; z-comp of E-field
>(output-hfield-x) ; x-comp of H-field
>(output-hfield-y) ; y-comp of H-field
>(output-hfield-z) ; z-comp of H-field
>
>Is this a bug? It will not work on my version of MEEP 1.2.1.
>"meep-fields-solve-cw" is quite useful.  Can this tool be repaired?
>
>On Thu, Jun 6, 2013 at 6:27 PM, Eric Smoll  wrote:
>
>> Does the meep-fields-solve-cw function simply not work?
>>
>> I have tried inserting it into tutorial examples (using init-fields
>and
>> force-complex-fields, with and without arguments after "fields") with
>no
>> success.  Is there a working example anywhere?
>>
>> -Eric
>>
>
>
>
>
>
>
>
>___
>meep-discuss mailing list
>meep-discuss@ab-initio.mit.edu
>http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
-BEGIN PGP SIGNATURE-
Version: APG v1.0.8

iQJGBAEBCAAwBQJRsW8UKRxDaHVhbnJlbiBXdSAoNCC6KSA8d3VjaHVhbnJlbkBn
bWFpbC5jb20+AAoJEPts43KzMQgHgBIP/2/Yo816PHeXP8wzb4HhX2ohLmKiMQ39
ADsyRu0TA9yohh6FNPcP28nVGhxVS7RTG8p28YhsUwTmrcquJTXXoyBrLqS/KI21
GgYXAQP2peUsbLhUkbAhYDldsLXNMJ/YxtXWo9eMyyZ5N5v8WHnnjUO3OcuDLOC6
DPREXfEJyi8VDB1m5hgoF7eZc/gySxHhq3q7M+qH/Cu9qL/xZAXG6s+e1AKzDJKm
mb4taApRDDrGuqypH8QLO/HD+K3KW3y4ue9vXQx74QtqJjRRPBLfJG5GtzRaENd+
02K13yMrzpQHNEmLdzDTiaXYBH0Oh+Wz5CCfIw//z+sZszf2SvgBLS9oSgoXyhpy
CmSAESPt4P6rmxKSaRo/FrrVEhBnM/xYUhb3tW7WLsEAw0uSRCQyco3Yififc84E
lxf0FgxOmLGCIAHbhU7RyvD+OP4395eFighJgtJLo/DTK0zY0gD3Olynnu9TxwWJ
82rf2oK0lTOUW5iSzKZSxIB3IdfEgM9eMxnzpSS4WURX9YSbE4DOvzGkKF5aYzZB
ns/M8pBtMSnbHCXhJFs0wl8P+31chWlxiSHxiEf61uerjvk1NQ/i574JM/FdJzZE
PbD1NBD4OZSXLAROmeDnYy3PqaRZbfarR8c6J8T/fbuMbtmH7ULdMIS3ci+VZtU7
uUZIFb21zEIW
=e0MF
-END PGP SIGNATURE-


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


Re: [Meep-discuss] Question

2013-06-06 Thread Eric Smoll
Responding to my own question: The code below (posted on a forum somewhere)
works on MEEP version 1.1.1.

(reset-meep)
(set! dimensions 2)
(set! force-complex-fields? true)
(set! geometry-lattice (make lattice (size 12 12 no-size) )) ;
computational domain
(set! sources (list (make source (src (make continuous-src (frequency
1.0))) (center 0.0 0.0) (component Ez) ))) ; line current source along
z-direction located at the center of the computational domain
(set! pml-layers (list (make pml (thickness 2.0) ))) ; PML layers in all
direction
(set! resolution 40.0)
(init-fields)
(meep-fields-solve-cw fields 0.0001 1 10)
(use-output-directory)
(output-efield-x) ; x-comp of E-field
(output-efield-y) ; y-comp of E-field
(output-efield-z) ; z-comp of E-field
(output-hfield-x) ; x-comp of H-field
(output-hfield-y) ; y-comp of H-field
(output-hfield-z) ; z-comp of H-field

Is this a bug? It will not work on my version of MEEP 1.2.1.
"meep-fields-solve-cw" is quite useful.  Can this tool be repaired?

On Thu, Jun 6, 2013 at 6:27 PM, Eric Smoll  wrote:

> Does the meep-fields-solve-cw function simply not work?
>
> I have tried inserting it into tutorial examples (using init-fields and
> force-complex-fields, with and without arguments after "fields") with no
> success.  Is there a working example anywhere?
>
> -Eric
>



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

[Meep-discuss] Question

2013-06-06 Thread Eric Smoll
Does the meep-fields-solve-cw function simply not work?

I have tried inserting it into tutorial examples (using init-fields and
force-complex-fields, with and without arguments after "fields") with no
success.  Is there a working example anywhere?

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

Re: [Meep-discuss] Question about the use of get-field-point in MEEP

2012-07-04 Thread Steven G. Johnson
Probably the easiest workaround is to use the field-integration code, which 
works fine in MPI (unlike get-field-pt).  Integrating over a volume of size 0 
is equivalent to just evaluating the function at a point (since zero-size 
dimensions in the integration volume are just interpolated, not integrated).

In fact, you could define a drop-in-replacement for get-field-pt as follows:

(define (my-get-field-pt c pt)
(integrate-field-function (list c) (lambda (p f) f) (volume 
(center pt

The only caveat is that c must be a component (Ez, Hx, etcetera), and not a 
derived-component (Sx, EnergyDensity, etcetera); if you want the latter, you 
must compute them manually from the field components.

You could also output the fields at a point to an HDF5 file (using in-volume 
with a size of 0).

(The whole get-field-pt code in Meep is basically a legacy of the early 
implementation; I should probably rip it out and replace it with something that 
calls the equivalent of the integration code automatically.)

On Jul 4, 2012, at 4:21 PM, Eric CASSAN wrote:

> Dear Steven,
>thanks one more time for the MEEP software.
> 
> I would like using the "get-field-point" tool in the MPI version of MEEP.
> 
> I then obtain the following message:
> CHECK failure on line 583 of ../../../mpb-ctl/fields.c: get-*-point not yet 
> implemented for MPI!
> [0] MPI Abort by user Aborting program !
> [0] Aborting program!
> p0_22008:  p4_error: : 1
> p0_22008: (24562.839989) net_send: could not write to fd=4, errno = 32
> 
> Is there any solution to circumvent the fact that get-field-point seems not 
> to be implemented in MPI-MEEP?
> My study indeed needs simulation in 3D and I heavily use "get-field-point", 
> which slows down a lot the program.
> 
> Thank you for any help!
> 
> With best regards,
> Eric Cassan
> 
> 
> 
> ===
> Eric CASSAN
> http://silicon-photonics.ief.u-psud.fr/
> Institut d'Electronique Fondamentale (UMR CNRS 8622)
> Bâtiment 220 de l'U.F.R. Sciences
> Université PARIS-SUD (PSud)
> 91405, Orsay, France
> Phone : + 33 1 69 15 78 52
> ===
> 

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

[Meep-discuss] Question: How to get the Cerenkov frequencies for photonic crystal lattice

2012-05-10 Thread Brahmanand Jogai
I used Ardavan Oskooi sample input file to form a moving current source 
to generate Cerenkov radiation in photonic crystal lattice.  The problem 
is I am really struggling with Scheme syntax.  I am trying to get the 
frequencies of the emitted Hz radiation.  So I am trying to use the 
harminv step-function to find the frequencies.  So far nothing is coming 
out.  However, when I combine to png files, I can see the Hz radiation 
propagating.


Is this the way to get the frequencies of the emitted radiation or is 
there a better way?


Any help will be appreciated.

Brahmanand Jogai

-
(define-param v 0.7) ;; point charge velocity
(define-param endt (/ sx v))

(set! symmetries (list (make mirror-sym (direction Y) (phase 1


(run-until endt
  (lambda ()
 (change-sources! (list (make source
  (src (make continuous-src
 (frequency 1.e-10)))
  (component Ex)
  (center (+ (* -0.5 sx) dpml
 (* v (meep-time
  (at-beginning output-epsilon)
	  (during-sources (harminv Hz (vector3 0 (- (* 0.5 sy) dpml 0.5)) 
0.4 1))

  (at-every 1 (output-png Hz "-vZc dkbluered -M 1")))

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


Re: [Meep-discuss] Question about running MEEP in Ubuntu

2012-04-29 Thread Nat Wilson
PENG WANG  writes:

> 
> Hello, Dear MEEP developers and users:
> 
> I am a new user of MEEP software. I currently installed MEEP in Ubuntu,
which is suggested by Professor Steve
> as the best way to install MEEP.
> 
> But when I call meep from Matlab by:
> 
> unix('meep test.ctl >& test.out')
> 
> The output file gives me an error below:
> 
> meep: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libgfortran.so.3:
version `GFORTRAN_1.4' not
> found (required by /usr/lib/liblapack.so.3gf)
> 
> Could you please help me solve this problem? Expecting your kind
considerations and answers!
> 
> Thanks very much!
> Best Regards,
> 
> Peng Wang
> 11/10/2011
> 
> ___
> meep-discuss mailing list
> meep-discuss@...
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
> 
> End of meep-discuss Digest, Vol 69, Issue 7
> ***
> 



I know the original poster has probably solved the problem or moved on, but I
wanted to write this as a potentially helpful reference for others.

I ran into a very similar problem under different circumstances. I am calling
code written in Python/Numpy by shelling out with MATLAB's ``system`` command.
The solution that I found is described here:

http://www.mathworks.ca/matlabcentral/newsreader/view_thread/162466

To summarize, MATLAB tries to force code called from within it to use libraries
it provides. Unfortunately, these are often fairly old, and can be incompatible
with precompiled external code. Some people seem to be removing the packaged
libraries and linking them to the correct versions elsewhere, but a less
invasive approach is to modify the file

.matlab7rc.sh (in MATLAB's bin/ directory)

so that ``LDPATH_PREFIX`` points to the right directory. This is described by
user "luquesky luque," and worked for me. In my case (64-bit Linux), I changed

LDPATH_PREFIX=''

to

LDPATH_PREFIX='/usr/lib/x86_64-linux-gnu'

and saved the modified shell script to my home directory. Apparently, you can
also just save it to the project directory you're working from to avoid
user-wide changes. I think the path may not be the same for different
distributions, but you could try

find / 2>/dev/null | grep libgfortran.so.3

to verify.

Nat





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


[Meep-discuss] Question about how to use the source

2012-04-06 Thread 张百珂


Hello, steven
I'm now using MEEP,and I have some problems don't know how to do it. I 
hope you can help me !
First, how to  define my own source in meep ,I want to use the source 
to send my own data ,rather than the data generated by suorce itself. I want ro 
know how to load the data and send them using the source?
Second,can I  receive the singal in some  point ,for example, can I 
receive the signal in the position of (0,0).
 Thank you!
   B.K.Zhang
  ___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about units in the Material Dispersion page on the MEEP ab-initio website

2012-03-06 Thread Eric Smoll
Hello all,

I have searched the archives and read through all the material on the
website but am still unsatisfied with my understanding of units on the
Material Dispersion
page.

http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion

I know from the archives that omega and gamma are to be specified in units
of 2*pi*c/a.  But I find the two equations given for the relative
dielectric constant to be extremely confusing and inconsistent.

What are the units of the numbers given in the first "E-polarizations"
entry?
(omega 1.1)(gamma 1e-5)(sigma 0.5)
2*pi*c/a, 2*pi*c/a, and a unitless fraction, correct?
How is that consistent with the equation
epsilon(f) = 2.25 + ( (1.1^2)*0.5 ) / ( (1.1^2) - (f^2) - i*f*(1e-5)/(2*pi)
)

I would greatly appreciate anyone who can help me clarify this.

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

[Meep-discuss] question about field unit and chi3 for calculating optical bistability.

2011-11-20 Thread taimaz fathollahi khalkhali



Dear meep users and Dr. Steven Johnson,

  



I would like to see optical bistability in 1-D photonic crystal. therefore  I 
have 

used a paper in this field, 
http://www.sciencedirect.com/science/article/pii/S0030401802016899.

I defined a 1-D photonic crystal which consist of alternative layer of 
materials with high and 

low dielectric constant. a Kerr medium is sandwiched symmetrically between two 
same PCs.

then I have defined single-frequency source with trigonometric shape.

I have chosen chi3 = (4/3)*3e-8*n^2 for nonlinear material but I really get 
confused about

how to choose the amplitude of  my source to see optical bistability. when I am 
choosing amplitude
of my source 1MW I see a noisy output intensity.  I have seen previous answer 
of steven

for similar question: 
http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg00402.html

but I still have a few question about what steven have said,

  

1-is the method steven said work for trigonometric source?

  

2- which meep flux function should use for measuring the power?

  

3-for instance if we use (flux-in-box...) or (electric-energy-in-box) , we 
must calculate it

   in hole photonic crystal volume or in a limited plane just after the source 
or at the end of photonic

   crystal?

  

  

I am very thankful if you could help me in this field. I desperately need to 
answer these questions.

  

regards,

taimaz,



  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

 

  

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

[Meep-discuss] Question about Banddiagram Tutorial

2011-11-14 Thread little Gu

Dear Meep developers and users,

I am reading the online tutorial of banddiagram and seeing that the frequency 
is normailized to a number without unit.

Supposing the unit length corresponds to 100nm, what's the actual freq of 0.5?

Does it mean f=0.5*c/100 and the angular freq=2*pi*0.5*c/100 with unit of Hz?

Thank you

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

Re: [Meep-discuss] Question about running MEEP in Ubuntu

2011-11-10 Thread Alexandr Sadovnikov

Dear Peng, 
have you tried to start meep not from matlab environment but from ubuntu's 
shell which you prefer to use? 
And have you installed meep from debian's repository or compiled it by 
yourself? 

BR,
Alexandr.

11 ноября 2011, 06:56 от PENG WANG :
> Hello, Dear MEEP developers and users:
> 
> I am a new user of MEEP software. I currently installed MEEP in Ubuntu, 
> which is suggested by Professor Steve as the best way to install MEEP.
> 
> But when I call meep from Matlab by:
> 
> unix('meep test.ctl >& test.out')
> 
> The output file gives me an error below:
> 
> meep: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libgfortran.so.3: 
> version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3gf)
> 
> Could you please help me solve this problem? Expecting your kind 
> considerations and answers!
> 
> Thanks very much!
> Best Regards,
> 
> Peng Wang
> 11/10/2011
> 
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
> 
> End of meep-discuss Digest, Vol 69, Issue 7
> ***
> 
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
> 
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about running MEEP in Ubuntu

2011-11-10 Thread PENG WANG
Hello, Dear MEEP developers and users:

I am a new user of MEEP software. I currently installed MEEP in Ubuntu, 
which is suggested by Professor Steve as the best way to install MEEP.

But when I call meep from Matlab by:

unix('meep test.ctl >& test.out')

The output file gives me an error below:

meep: /usr/local/MATLAB/R2011a/sys/os/glnxa64/libgfortran.so.3: 
version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3gf)

Could you please help me solve this problem? Expecting your kind 
considerations and answers!


Thanks very much!
Best Regards,


Peng Wang
11/10/2011





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

End of meep-discuss Digest, Vol 69, Issue 7
***

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


[Meep-discuss] Question about defining oblique incident plane-wave in periodic strctures

2011-11-05 Thread PENG WANG
Hello, MEEP developers and users,

I am a greenhorn in MEEP software. I currently have a problem in creating 
oblique incident plane-waves in periodic structures. Although I have read some 
of the discussions in the mailing list, I still have some problems. The 
following is the code I used as a simple test. The structure is 2D in XY plane, 
period in x direction and PML layers are placed at Y boundaries. I tried to 
define an oblique plane-wave source. However, the simulation result shows there 
is some sort of odd oscillation in my unit lattice, seems to be interference 
pattern. There must be some problems with my codes. Could you please help me?


(define-param sx 5)
(define-param dpml 3)
(define-param sy (+ 2 (* 2 dpml)))
(define-param lamda 3)

(define-param theta (/ (* pi 45)) 180)
(define-param kdir (vector3 (sin theta) (cos theta)))
(define-param k (vector3-scale (/ (* 2 pi) lamda) (unit-vector3 kdir)))
(define ((pw-amp k x0) x)) (exp (* 0+1i (vector3-dot k (vector3+ x x0

(set! default-material air)

(set! geometry-lattice (make lattice (size sx sy no-size)))

(set-param! resolution 100)
(set-param! k-point (vector3 (/ 1 sx)))
(set! ensure-periodicity true)

(set! pml-layers (list (make pml (thickness dpml) (direction Y

(set! eps-average? true)

(set! source
(list
(make souce (src (make continuous-src (wavelength lamda) (width 
20)))
(component Hz) (center 0 -1) (size sx 0)
(amp-func (pw-amp k (vector3 0 -1
)
)

(use-output-directory)

(run-until 100
(at-beginning output-epsilon)
(at-end output-efield-x)
(at-end output-efield-y)
(at-end output-efield-z)
)




Hope to have your answers soon.
Thanks very much!

Best regards,


Peng Wang
Lab for Optical Nanotechnology,
University of Utah
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


[Meep-discuss] Question about suitable source for calculating optical bistability in nonlinear PCs

2011-10-30 Thread taimaz fathollahi khalkhali


Dear meep users and Dr. Steven Johnson,

I'd like to know what kind of source we should use for calculating optical 
bistability in nonlinear photonic crystals.
is it possible to use predefined source in meep like gaussian-src or not? and 
if the answer is yes, how?

according to my information we should use single frequency source with 
an amplitude of the triangular function for calculating O.B. a source like:
A(n) Eo exp( 0+i w  n dt)
which A(n) is a trigonometric function.
if we want to use this kind of source we have to use custom-src in meep, but 
there is a 
big question. in meep w(frequency) specified in units of (2 *pi* c/a). 
therefore when we 
speak about frequency it is usually a number between 0 until 1 in unit of   (2 
*pi* c/a),
for instance we say there is a band gap between w=0.2 (2pic/a) and w=0.4 
(2pic/a) frequencies.
according to this comments if we use a source like this :  A(n) Eo exp( 0+i w  
n dt) , instead of w,
we should put frequency in unit of (2 pi c /a) or we must multiply light 
velocity and pi number
and then put it in above source? 

The answer to this question is very important to me, I appreciate if someone 
gives me some information.

regards,

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

[Meep-discuss] Question about band diagramm tutorial

2011-10-14 Thread Cédric CHARLES

Dear meep users
I have a question about band diagram tutorial :

I compute the ctl file which is in the tutorial.
But my results are quite different from those in the tutorial.

In my file there is no band gap between the first and second guided  
mode from about 0.2 to 0.3 like in the tutorial.


Particucularly I give the frequence number 14 :
In the tutorial :
freqs:, 14, 0.325, 0.0, 0.0, 0.171671252741341, 0.319717964514696,  
0.323470450791478

My file :
freqs:, 14, 0.325, 0, 0, 0.171149417439985, 0.317913447395386,  
0.32510982777517


Could someone explain me the difference between the two cases ?
Has anyone else the same results I have if he computes this ctl file ?
Thanks in advance
CHARLES Cédric

; Some parameters to describe the geometry:
(define-param eps 13) ; dielectric constant of waveguide
(define-param w 1.2) ; width of waveguide
(define-param r 0.36) ; radius of holes

; The cell dimensions
(define-param sy 12) ; size of cell in y direction (perpendicular to wvg.)
(define-param dpml 1) ; PML thickness (y direction only!)

(set! geometry-lattice (make lattice (size 1 sy no-size)))

(set! geometry
   (list (make block (center 0 0) (size infinity w infinity)
 (material (make dielectric (epsilon eps
 (make cylinder (center 0 0) (radius r) (height infinity)  
(material air


(set-param! resolution 20)

(set! pml-layers (list (make pml (direction Y) (thickness dpml

(define-param fcen 0.25) ; pulse center frequency
(define-param df 1.5) ; pulse freq. width: large df = short impulse

(set! sources (list
   (make source
 (src (make gaussian-src (frequency fcen) (fwidth df)))
 (component Hz) (center 0.1234 0

(set! symmetries (list (make mirror-sym (direction Y) (phase -1

(define-param k-interp 19)
(run-k-points 300 (interpolate k-interp (list (vector3 0) (vector3 0.5



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


[Meep-discuss] Question about calculating optical bistability.

2011-09-10 Thread Shervin Sharif
Dear meep user and Dr. Steven Johnson,

All examples about transmission spectrum in meep tutorial explain how to 
calculate
transmission in a frequency range. In other word the horizontal axis represents 
a range
 of frequencies and the vertical axis represents transmission.during this 
calculation we use 

command like: flux-region , add flux ,which accumulate the appropriate 
Fourier-transformed 

fields in order to compute a flux spectrum.
I am trying to calculate optical bistability with meep software and I know that 
for plotting OB
a source should be used that at different times have different incident 
intensity.
Now my big problem is that I don't know how to plot transmission for a range of 
different 

intensity.  In other words, I would like to have a graph where  the horizontal 
axis represents a rangeof
incident intensity and the vertical axis represents transmission. but I do not 
know  how and what 

commands shouldI use in this software.Any help would be very useful for me in 
this case, andIthankin advanceforit.

regards,
shervin,
shervinsha...@ymail.com___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about Gaussian source in meep software

2011-07-25 Thread taimaz fathollahi khalkhali

 
Dear meep users and Dr. Steven Johnson,

I have two questions regarding the source in meep software,

1- What is the conception of turning on and especially turning off the source?

turning on the source , specifies the moment that the Gaussian pulse fully 
formed and
turning off the source ,After a specified time due to the this term: exp( 
(t − t0)2 / 2w2),pulse tend towards zero.
   Am i right to expression these concept?


2- exp( − iωt − (t − t0)2 / 2w2)

 in above Mathematical relationship,  w ,represents the pulse width in time 
domain?
 and f or (ω = 2 *pi * f ) represent the pulse frequency in time domain ?
 and at the end, It would be very helpful If Dr. Steven Johnson or the users of 
meep 
 State that is there any way of viewing the pulses of effluent in the 
environment or not?

Sincerely,
Thanks,

Taimaz Fathollahi
taim...@hotmail.com
http://www.facebook.com/tomy.fathollahi
  ___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about triangular lattice first brillouin zone

2011-06-27 Thread taimaz fathollahi khalkhali

Dear meep & mpb users 


In MPB user tutorial , when it;s described  calculation of Photonic  band 
structure of triangular lattice,
we see such statement about k-point of irreducible Brillouin zone of a 
triangular lattice.



(set! k-points (list (vector3 0 0 0)  ; Gamma
 (vector3 0 0.5 0); M
 (vector3 (/ -3) (/ 3) 0) ; K
 (vector3 0 0 0))); Gamma
(set! k-points (interpolate 4 k-points))

as far as I know the Brillouin zone of a triangular lattice is look like 
a honeycomb the coordinate of its center and edges  is characterized by points 
like
Gamma=[0 0]  , K=2pi/a*[2/3   0] ,  M=2pi/a*[1/2   1/(sqrt(3)*2)] 
I would like to know, is there any one who can show me [-1/3 1/3] point on 
Brillouin zone?
I am get completely confused by the point which have shown in MPB user tutorial.

regards,

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

Re: [Meep-discuss] Question about a Silica in Multilayered nanoshell

2011-06-27 Thread philip
jack swagger  writes:

> 
> 
> Dear MEEP users,
>   I am trying to model  the Multilayered nanoshell, which 
> contains 
a metal core, a dielectric silica and the outer metal shell. At 1st, i divide 
this complex structure into several parts and calculate its extinction 
efficiency. I know from the litrature that if you enclose a silica sphere 
inside 
a metal shell (single layer nanoshell) then the extinction peaks would be red 
shifted. But when i tried to enclose a metal inside a silica shell then i 
also obtained a red shifted peak. Can somebody tell me the role of the silica 
in 
this structure. I mean why the extinction peak is always red shifted. I have 
attached a figure with the email, which shows the extinction efficiency of a 
single silver sphere and a gold sphere and then enclosing them in a dielectric 
silica due to which the extinction peaks red shifted. However, incase of 
enclosing the silica inside a metal, we get a larger red shift. But my question 
is, why incase of enclosing a metal inside a silica we get a red shift?
>  
> Thanks.
>  
> BR,
> Jack 
> 
> 
> 
> ___
> meep-discuss mailing list
> meep-discuss@...
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


Hi Jack,

Would you mind sharing the code with us?

I think the best way to start analyzing how different materials affect the 
extinction would be to calculate it analytically e.g. with the dipole 
approximation (cf. "Linear optical properties of gold nanoshells" Averitt et. 
al. JOSA B 1999)


cheers,
Phil


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

[Meep-discuss] Question about a Silica in Multilayered nanoshell

2011-06-25 Thread jack swagger

Dear MEEP users,
  I am trying to model  the Multilayered nanoshell, which contains 
a metal core, a dielectric silica and the outer metal shell. At 1st, i divide 
this complex structure into several parts and calculate its extinction 
efficiency. I know from the litrature that if you enclose a silica sphere 
inside a metal shell (single layer nanoshell) then the extinction peaks would 
be red shifted. But when i tried to enclose a metal inside a silica shell then 
i also obtained a red shifted peak. Can somebody tell me the role of the silica 
in this structure. I mean why the extinction peak is always red shifted. I have 
attached a figure with the email, which shows the extinction efficiency of a 
single silver sphere and a gold sphere and then enclosing them in a dielectric 
silica due to which the extinction peaks red shifted. However, incase of 
enclosing the silica inside a metal, we get a larger red shift. But my question 
is, why incase of enclosing a metal inside a silica we get a red shift?
 
Thanks.
 
BR,
Jack  <>___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about PML

2011-03-02 Thread qwer1304
Hi,

I'm simulating in the visible range with a characteristic size of 10nm.

I have:
- cell with size (20 20) without PML.
- PML along all directions with thickness 60.
- Si3N4 (n=2) block, size (10 20), centered at (10 0)
- Gaussian source centered at (-5,0) with size (0 (+ 20 (* 2 60))).

When I run the system with component Ez I see strong reflections at
block-PML interface, instead of PML absorbing the field.
There're no such reflections at air-PML interface.

How these reflections be avoided?

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

[Meep-discuss] question about meep-mpi

2011-01-24 Thread yimin sun
Hi,

During past several days, I found something more about that bizarre problem
with meep-mpi. If meep-mpi is used without mpirun, that is, meep-mpi a.ctl,
then it can run successfully. However, if mpirun is involved, i.e., mpirun
-np 4 meep-mpi a.ctl, then the same problem (.ctl file cannot be understood)
will appear again.

When 'meep-mpi --version' command is run, the following information shows:
Use MPI version 1.2, 1 processes
Using libctl 3.1 and Guile 1.6.4

I am wondering whether this is still the problem of incorrect installation.
Could anybody give me some suggestions? What should I do to solve this
problem?

By the way, a vasp software package is also installed on our sever, and
'mpirun -np 4 vasp_pal' can run successfully.

Thanks in advance.

-- 
Regards,

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

Re: [Meep-discuss] Question about (run-k-point s...) and nonlinear material.

2010-11-02 Thread Alexandr Sadovnikov
Thank you, Prof. Steven.
I've got some ideas about this problem: I see a small down movement of the 
branch of 
the dispersion diagram in the Kerr-nonlinear periodic structure. At this moment 
with 
(run-k-points...) method I just see this movement when the ampliude of the 
signal is not big 
enough. And when I started to simulate the structure without periodical 
boundary condition
I started to observe gap solitons, as you write in your letter. 
Now I tried to understand where is the scope of applicability of my simulation. 
Of course it is very important question as well.

Thank you,  
Alexandr.

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


Re: [Meep-discuss] Question about (run-k-points...) and nonlinear material.

2010-11-01 Thread Steven G. Johnson

On Nov 1, 2010, at 12:15 PM, Alexandr Sadovnikov wrote:
I just tried to compute band gap diagram for 2d periodical  
structure, with nonlinear
layers and then I want to compare this result with the results from  
the nonlinear Shroedinger equations.


This is a complicated question because it depends on the excitation.   
Depending on the excitation, with a big enough amplitude you may even  
create gap solitons (which are solutions at frequencies in the gap  
which propagate in the crystal because the nonlinearity allows the  
field to "create" its own "waveguide" or "cavity" defect).



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


Re: [Meep-discuss] Question about (run-k-point s...) and nonlinear material.

2010-11-01 Thread Alexandr Sadovnikov
Thank you, Prof. Steven! 
I just tried to compute band gap diagram for 2d periodical structure, with 
nonlinear
layers and then I want to compare this result with the results from the 
nonlinear Shroedinger equations. 
So I want to see how the cut-off frequencies changes with the amplitude gets 
larger.
BTW this method (run-k-points) works when the nonlinear additive to the 
refraction index is 
not big enough of course! 
Thank you for your opinion, Prof. Steven. I'll try to study this problem more 
closely, 
because some strange things start to occur with some amplitude value, I want 
to say that if the amplitude gets the value 3.5 (some definite value) I see at 
the 
dispersion diagram 2 branches instead of one (I tried to publish image on
http://imagepaste.nullnetwork.net/viewimage.php?id=1428)

Alexandr


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


Re: [Meep-discuss] Question about (run-k-points...) and nonlinear material.

2010-11-01 Thread Steven G. Johnson

On Nov 1, 2010, at 11:32 AM, Alexandr Sadovnikov wrote:

Dear Prof. Steven and dear meep users.
I do appreciate if you can help me with understanding
such a easy thing in meep::
Can I use (run-k-points...) statement in my ctl-file
{e.g. (run-k-points 300 (interpolate k-interp (list (vector3 kmin)  
(vector3 kmax)}

if my dielectric is nonlinear? i.e.
(material (make dielectric (index n1) (chi3 xx3) ))
Or it isn't correct at all?



You can use it, but it may not make any sense.  run-k-points works by  
exciting the fields with some pulse source (specified by you), waiting  
until the source is turned off, and analyzing the decaying/oscillating  
fields with harminv.   However, in a medium with significant  
nonlinearities, the frequency and other characteristics of the modes  
can change with time, so this procedure may or may not make sense.


In a nonlinear situation, you have to be very careful in deciding  
exactly what you want to compute.


--SGJ

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


[Meep-discuss] Question about (run-k-points...) and nonlinear material.

2010-11-01 Thread Alexandr Sadovnikov
 Dear Prof. Steven and dear meep users. 
 I do appreciate if you can help me with understanding 
 such a easy thing in meep::
 Can I use (run-k-points...) statement in my ctl-file 
 {e.g. (run-k-points 300 (interpolate k-interp (list (vector3 kmin) (vector3
 kmax)}
 if my dielectric is nonlinear? i.e.
 (material (make dielectric (index n1) (chi3 xx3) ))
 Or it isn't correct at all? 
 Thank you a lot! 
 
 Sadovnikov Alexandr
 Postgraduate student
 Saratov State University, Russia


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


[Meep-discuss] Question about magnetostatic waves

2010-08-03 Thread Alexandr Sadovnikov
 Hello, dear Prof. Steven and Meep Users.
 I would like to ask you about application and use of
 meep to the computation of magnet systems such as 
 ferromagnetic films in which the magnetostatic waves can 
 propagate. So I'm going to do this computation (of magnetostatic
 wave propagation) using meep and ctl(scheem, aka libctl) interface.
 The problem is that in this computation one have to use
 the relative permeability tensor (aka mu) and 
 the components of this tensor depend on the frequency. 
 I suppose, that one have to rewrite some part of meep code 
 and recompile to do this. Maybe this problem can be solved
 if we only change (in our imagination) that "eps - mu" 
 and will compute in this way. But I don't know unfortunately
 how can one use in computation  the tensor of relative permittivity 
 or permeability which components depend on frequency. That is the trouble for 
me. 
 
 Thank you in advance for any possibly help.
 Alexandr. 
 Postgraduated student. Saratov State University. Russia.
 leos...@mail.ru
 

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


[Meep-discuss] Question about how to write a feedback-loop type function for a current source

2010-06-08 Thread l7697131
Dear Steven and Meep users,

I want to model a current source whose value at time step T depends on the 
field 
amplitude or intensity observed at the position of the source and at time step 
T-1. 
Does Meep provide this feedback-loop type function? How do I write this 
function in 
Meep input file? Can anyone give me an example?
Thank you for your help

Best regards

--- YOU ARE USING THE NCKU WEBMAIL SYSTEM ---





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


[Meep-discuss] Question about Meep Tutorial/Band diagram, resonant modes, and transmission in a holey waveguide

2010-06-08 Thread Vincent Leonard

Hi,

The transmission graph in this tutorial shows a photonic band gap with a 
resonance created by a defect cavity.

Should the band diagram in the tutorial show a band gap also? 

(My understanding is the the example band diagram is showing the allowed modes 
of a infinite holey waveguide. Therefore I would have expected the same gap in 
frequencies for all the Bloch Vectors.)

Many thanks and advance.

Vincent Leonard
  
_
http://clk.atdmt.com/UKM/go/195013117/direct/01/
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about nonlinear feedback parameter

2010-04-26 Thread Jianhong Zhou

Dear Prof. Steven and Meep users:

I hope to repeat the work (),but I am not sure of the nonlinear
feedback parameter:
(1) |E.E|^2 VS |E.E^*|^2 : Since the field values stored in meep are
real, is there any difference between them?
(2) "A single linear simulation is enough to determine its vavlue for
different configurations of the studied system." Does that mean that
after the simulaton reachs stable state, I can get the field value to
calculate the parameter at any time?

Thank you for your attention.
 
-- 
 Flower is beautiful!


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


Re: [Meep-discuss] question about a compound s tatement

2010-04-19 Thread Alexandr Sadovnikov
Dear Feng, 
try to output field components not only at the end of computation time
but e.g. for discrete time : try to use command "at-every".
BR, 
Alexandr.

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


[Meep-discuss] question about a compound statement

2010-04-14 Thread ad_hu
Hi, Meep Users,
  I want to output  z component of electric field for TE mode and x, y 
components for TM mode. So the following statement was given.
  (at-end  (if te-mode? 
(to-appended "Ez" output-efield-z)
(begin
 (to-appended "Ex" output-efield-x)
 (to-appended "Ey" output-efield-y
when te-mode? was set to be  true, the file Ez.h5 could be obtained. However, 
if te-mode? was set to be false, only the file Ey.h5 could be output. why?
Any suggestion would be appreciated.

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

Re: [Meep-discuss] Question about time-average power and loop

2009-11-16 Thread Steven G. Johnson


On Nov 16, 2009, at 1:50 AM, 蒙自明 wrote:


Dear Steven and all:
 I am a new user of Meep. What I want to ask is about:
 How can I determine the time-average input power and record the  
time-average output power at some position?
According to the part "Units and Nonlinearity in Meep" on the  
website, the input power is approximately proportional to the square  
of current amplitude(J^2). Is that a time-average correlation?


This is exactly true for a linear system.  If you multiply J by 2, the  
resulting fields multiply by 2, by linearity.


Further, in the nonlinear situation recording time-average power  
seems problematic. Has this been fixed?


Why is this problematic?

The key thing in a nonlinear system is to define precisely what you  
want to do.  The optical bistability results are usually for CW  
(constant amplitude) incident fields.  If you have a CW field (or a  
field whose amplitude is changing very slowly, like a narrowband  
gaussian), computing average power is no problem: you just output the  
flux every timestep for one period, for example.  There are lots of  
other ways to do it as well, e.g. for a narrowband Gaussian you can  
ask Meep to compute the Fourier-transformed flux at the center  
frequency, and work backwards from that to get the Gaussian amplitude  
and any other characteristic you want.


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

[Meep-discuss] Question about time-average power and loop

2009-11-15 Thread 蒙自明
Dear Steven and all:
 I am a new user of Meep. What I want to ask is about:
 How can I determine the time-average input power and record the 
time-average output power at some position?
According to the part "Units and Nonlinearity in Meep" on the website, the 
input power is approximately proportional to the square of current 
amplitude(J^2). Is that a time-average correlation? Further, in the nonlinear 
situation recording time-average power seems problematic. Has this been fixed?
 Actually the ultimate purpose is to repeat the optical bistable results 
published in Appl.Phys.Lett, 83,2739(2003) by M.F.Yanik. If anyone can tell me 
how to write the loop to record the output power vs the input power data, your 
great help is highly appreciated. 
 Thanks very much.
Ziming 


 



 



 



 



 



 



 

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

[Meep-discuss] question about the figure 4 chapter 10 in the book (molding the flow of light)

2009-11-04 Thread wanttoflyhigher
Dear Sirs/Madams:
  I am sorry to disturb you again because the attachment of the first email is 
too big. I had cancealed the first post and send email again. Referring to the 
example of meep, the transmission spectrum in a holey waveguides, I am trying 
to reproduce the figure 4 chapter 10 of the book (molding the flow of light). 
The ctl files and result in attachment. A ctl file calculated the holey 
waveguides, another ctl file calculated the straight waveguides, but I have 
trouble getting the right transmission spectra. Can you help me? 
 
With regards.
Sheng LI  




09年新晋3D主流网游《天下贰》,网易六年亿资打造

10th-fig4-1711-0.ctl
Description: Binary data


10th-fig4-1711-1.ctl
Description: Binary data
<><>___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Question about setting the current source

2009-09-22 Thread Roy Zhang
(I don't see my reply posted, so I'm posting it again. I'm sorry if this 
mail is duplicated.)


Hi Steven,

Thanks a lot for helping me find out a big mistake I made - that is, I was
confused by the defination of current in MEEP, which is totally different
from that in driving circuit.

So here comes another question. I notice that in other FDTD softwares such
as XFDTD and SEMCAD, source is always defined using driving circuit,
sometimes a voltage source, sometimes a current source. Is there a relation
or a method to convert between these two ways of defination? I mean the ways
in MEEP and other softwares. I've read some books and articles about EM
emission but failed to find what I want to know.

Best regards,
Roy

"Steven G. Johnson"  
wrote in message news:8afde0f6-d69c-4e60-89b9-62458b04a...@fftw.org...
The current in Meep is added directly as a specified free current J in 
Maxwell's equations (see Maxwell's equations in the Meep intro).  Meep 
does not simulate the driving force behind this free current, nor does 
the current have to be placed in a conductor.  Specifying a current  means 
that somehow you are shaking a charge at that point (by whatever  means, 
Meep doesn't care) and you want to know the resulting fields.


Also, if you are thinking in terms of lumped circuit models,  resistances, 
voltages, capacitances, and so on, then possibly Meep is  the wrong tool. 
Lumped-circuit models are generally only valid in the  quasi-static limit 
where the wavelength is much larger than your  circuit elements, and if 
you are in this limit you don't want to be  solving the full Maxwell 
equations (which are not only overkill, but  are also very expensive if 
your wavelength is very large because your  computational cell must 
normally be much larger than the wavelength),  you want to be solving the 
equations of electrostatics and  magnetostatics (Poisson's equation etc.).


Steven

On Sep 15, 2009, at 9:40 AM, Roy Zhang wrote:
I'm trying to set a current source and find there's no parameter to 
describe the resistance(50 ohm, normally) in the feeding point,  which is 
frequently used in EM emission system. That's quite  strange. Can you 
tell me why? Your earliest reply will be greatly  appretiated. 




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


Re: [Meep-discuss] Question about setting the current source

2009-09-22 Thread Roy Zhang

Hi Steven,

Thanks a lot for helping me find out a big mistake I made - that is, I was 
confused by the defination of current in MEEP, which is totally different 
from that in driving circuit.


So here comes another question. I notice that in other FDTD softwares such 
as XFDTD and SEMCAD, source is always defined using driving circuit, 
sometimes a voltage source, sometimes a current source. Is there a relation 
or a method to convert between these two ways of defination? I mean the ways 
in MEEP and other softwares. I've read some books and articles about EM 
emission but failed to find what I want to know.


Best regards,
Roy

"Steven G. Johnson"  
wrote in message news:8afde0f6-d69c-4e60-89b9-62458b04a...@fftw.org...
The current in Meep is added directly as a specified free current J in 
Maxwell's equations (see Maxwell's equations in the Meep intro).  Meep 
does not simulate the driving force behind this free current, nor does 
the current have to be placed in a conductor.  Specifying a current  means 
that somehow you are shaking a charge at that point (by whatever  means, 
Meep doesn't care) and you want to know the resulting fields.


Also, if you are thinking in terms of lumped circuit models,  resistances, 
voltages, capacitances, and so on, then possibly Meep is  the wrong tool. 
Lumped-circuit models are generally only valid in the  quasi-static limit 
where the wavelength is much larger than your  circuit elements, and if 
you are in this limit you don't want to be  solving the full Maxwell 
equations (which are not only overkill, but  are also very expensive if 
your wavelength is very large because your  computational cell must 
normally be much larger than the wavelength),  you want to be solving the 
equations of electrostatics and  magnetostatics (Poisson's equation etc.).


Steven

On Sep 15, 2009, at 9:40 AM, Roy Zhang wrote:
I'm trying to set a current source and find there's no parameter to 
describe the resistance(50 ohm, normally) in the feeding point,  which is 
frequently used in EM emission system. That's quite  strange. Can you 
tell me why? Your earliest reply will be greatly  appretiated. 




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


Re: [Meep-discuss] Question about setting the current source

2009-09-16 Thread Steven G. Johnson
The current in Meep is added directly as a specified free current J in  
Maxwell's equations (see Maxwell's equations in the Meep intro).  Meep  
does not simulate the driving force behind this free current, nor does  
the current have to be placed in a conductor.  Specifying a current  
means that somehow you are shaking a charge at that point (by whatever  
means, Meep doesn't care) and you want to know the resulting fields.


Also, if you are thinking in terms of lumped circuit models,  
resistances, voltages, capacitances, and so on, then possibly Meep is  
the wrong tool.  Lumped-circuit models are generally only valid in the  
quasi-static limit where the wavelength is much larger than your  
circuit elements, and if you are in this limit you don't want to be  
solving the full Maxwell equations (which are not only overkill, but  
are also very expensive if your wavelength is very large because your  
computational cell must normally be much larger than the wavelength),  
you want to be solving the equations of electrostatics and  
magnetostatics (Poisson's equation etc.).


Steven

On Sep 15, 2009, at 9:40 AM, Roy Zhang wrote:
I'm trying to set a current source and find there's no parameter to  
describe the resistance(50 ohm, normally) in the feeding point,  
which is frequently used in EM emission system. That's quite  
strange. Can you tell me why? Your earliest reply will be greatly  
appretiated.


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


[Meep-discuss] Question about setting the current source

2009-09-15 Thread Roy Zhang

Hello everyone,
 I'm trying to set a current source and find there's no parameter to 
describe the resistance(50 ohm, normally) in the feeding point, which is 
frequently used in EM emission system. That's quite strange. Can you tell me 
why? Your earliest reply will be greatly appretiated.


Best regard, Roy 




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


[Meep-discuss] question about flux-in-box

2009-03-29 Thread yinon kares
hello anyone

I didn't understand from the reference how
to get a numerical value of the flux in area which I define
where to write this command?
I should see at the output numerical value?
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] : Question on using meep-mpi

2009-02-24 Thread Yan Liu
Dear meep users and Dr. Johnson,
Our group is trying to do some calculation by meep-mpi with a computing
space of 300*300*300. The resolution is setting to 1.
We installed OpenMPI which is very easy to to use. But the calculation is
about 900s/step when we use 8 processors. We need 1500 steps to finish our
simulation, which means that we wait it for 10 days. I wonder if this
phenomenon is normal or there is still something we need to do in order to
speed up the calculation?

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

Re: [Meep-discuss] question: timestep in Meep

2009-01-31 Thread Paweł Smoliński
> 
> according to your reply, here are a few calculations:
> 
> a=1 micrometer =1*10^-6 meter
> 
> resolution =1000
> 
> courant=.5
> 
> hence
> 
> dt=2000 a/c in meep units.
> 
> or
> 
> dt=2000*10^-6/(3*10^8)
> 
> =6.66*10^-11 seconds
> 
> is it correct?
> 
Please look how Meep units are defined:
http://ab-initio.mit.edu/wiki/index.php/Meep_Introduction#Units_in_Meep
Time unit in SI is: t = a / c = 1e-6 / 3e8 = 3.3e-15 s (3.3 fs)
If your resolution r=2000, dt = t/r = 3.3e-15/2e3 = 1.6e-18 s
And now if you know dielectric constant value in the material you can,
you can calculate speed and length of your wave in this material and
then you can simply how many wavelengths will pass the point at the
single timestamp.
-- 
Regards,
Pawel Smolinski
Faculty of the Fundamental Problems of Technology
Wroclaw University of Technology, Poland

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


Re: [Meep-discuss] question: timestep in Meep

2009-01-30 Thread Paweł Smoliński
> How do we find the size of the timestep in seconds?
> How do we know how many wavelengths will pass at a particular point in
> two timesteps?

Hi,
timestep (dt) is set when you are define your structure and it depends
on two parameters: structure resolution r and Courant parameter (dt =
r/Courant, Courant is equal to 0.5 by default); dt is given in Meep
Units off course (c=1, time = length_unit / c = length_unit).
You can control the Courant value by meep-structure-Courant-get/set
functions.
If you want know how many wavelength will pass at a particular point in
N timesteps, it is clean physics - if you know dielectric constant at
given point, you can calculate speed light in this point and then
formula speed_light_in_material * N * timestep / wavelength will give
you the answer ;)
-- 
Regards,
Pawel Smolinski
Faculty of the Fundamental Problems of Technology
Wroclaw University of Technology, Poland


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


[Meep-discuss] question: timestep in Meep

2009-01-30 Thread Ajayram S K S M
Hello!


I am trying to simulate em fields in the vicinity of nanoparticles.

parameters:
a = 1 micron

How do we find the size of the timestep in seconds?
How do we know how many wavelengths will pass at a particular point in two
timesteps?

Here the last part of the program:
(set! geometry-lattice (make lattice (size .3 .3 no-size)))

(set! sources (list
   (make source
 (src (make continuous-src (frequency 2.1777)))
 (direction X)
 (component Hz)
 (center -.125 0)
 (size 0 .3 0
(set! pml-layers (list (make pml (thickness 0.025)(direction X
(set! resolution 1000)
(run-until 5
   (at-beginning output-epsilon))

(run-until 2
   (at-every .05 output-efield-x)
   (at-every .05 output-efield-y))

regards
Ajay
-- 
Ajay Ram S K S M
MSc(Physics)
Sri Sathya Sai University
Prasanthi Nilayam
India.
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question on strange output in the cylindrical center axis (r=0)

2009-01-14 Thread Lingyun Wang

Dear Steven and Meep users,
I am writing a ctl code to model a cone optical fiber tip with center 
aperture (diameter 100nm) and ring gratings on the side wall of the Au 
coating layer. So this is a perfect cylindrical symmetrical geometry. 
The source wavelength is 405 nm with circular polarization. The output 
shows there is light comes out from the side gratings. The grating gap 
is 50 nm width. But nothing from the center aperture around (r=0), even 
the center aperture size is bigger (100nm). THERE SHOULD BE SOMETHING 
COMING OUT FROM THE CENTER.  For example if the lattice size is 50x50 
(50 nm characteristic length, resolution is 10), the output hdf5 matrix 
size will be 501x500, instead of 500x500. So is this extra 1 unit coming 
from r=0? Angular momentum "m" is 3 or 4. But if I put m=1, the 
calculation will be unstable (number will be inf).

How do I ignore the r=0?
Quote from meep reference:

|"m| [|number|]
   For |CYLINDRICAL| simulations, specifies that the angular ?
   dependence of the fields is of the form /e/^/i//m/? (default is
   |m=0|). If the simulation cell includes the origin /r/ = 0, then |m|
   must be an integer." 

If I want to get more accurate data from the center axis (r=0), how do I 
setup it?


Attached is my ctl file and the outputs plot of eps structure and 
denergy output.  Side one angle is 15 degree. The light source locates 
at the right side of the page. Tip center locates at the top center of 
the page. So don't be confused.

Due to the size limitation, I posted these plots at link below.

http://picasaweb.google.com/btld123/MeepOutput#

Thank you!


Codes:

;Date Jan 09, 2009
;3D simulation of the smaller tip.
;System memory has been upgraded to 6GB, and running 64 bit linux.
;The memory will be upgraded to 8GB.
;Make a smaller model of the laser Tip to reduce calculation time and 
memory requirement.

;Top to bottom size is 1.5um.
;Change coordinate to be Cylindrical instead of Cartisian
;Collect data at certain point in time domain to do a spectral analysis
;FFT will be running by Matlab.
;Geomery detail see note page 88.
;The setup in program TipGratingsV1.ctl is a little bit off for the cone 
angle.
;The cone angle in this case is 15 degree, which is smaller than the 
actual angle

;setup by the cone dimensions.
;The TipGratingsV2.ctl fixed this problem. It also fixed the wrong 
caluclation that is based

;on outer cone. It should use the inner cone to do the calculation.

(reset-meep)
(define-param UnitL 50); characteristic unit length equals to 50 nm
(define-param WaveL 405);free space wavelength of the incident lightwave 
in nm.

(define PI 3.1415928);define constant pi
(define fcen (/ UnitL WaveL));free space radian frequency as defined in Meep

(define-param S_r 50);r lattice dimension
;(define-param S_p (* 2 pi));phi lattice dimension
(define-param S_z 50);z lattice dimension

(define C_L 8.5026);cone length in z direction
(define C1_R1 32.7322);inner cone upper radius in r direction
(define C1_R2 1);inner cone lower radius in r direction. B/c in meep, 
the r=0 axis
;is the axis of symmetry. r=0 should not be included in the calculation. 
Otherwise
;there will be a blank stripe in the center, which doesnot reflect the 
real situation.
;So for a 100 nm aperture (diameter), the setup in script should be 2 
for radius given
;the 50nm characteristic length. KEY POINTS: Why there is not field 
output at the center

;aperture?


(define C_t_up 2); metal coating thickness at upper opening
(define C_t_down 2); metal coating thickness at lower bottom

(define-param C2_R1 (+ C1_R1 C_t_up));outter cone upper radius in r 
direction
(define-param C2_R2 (+ C1_R2 C_t_down));outter cone lower radius in r 
direction


(define-param P_t 10);define the PML thickness

(define C_C (- (/ (- S_z C_L) 2) P_t));cone center point in z axis
(define-param Src_Cr (/ C1_R1 2));center of the source in r axis
(define-param Src_Cz (- (/ S_z 2) P_t));center of the source in z axis
(define-param Src_Size (- C1_R1 2));size of the source in r direction

(set! default-material air)
(set! dimensions CYLINDRICAL)
(set-param! resolution 10); 10 pixels per unit
(set-param! m 4); m factor for angular momentum
(set-param! Courant 0.25)
(set! geometry-lattice (make lattice (size S_r no-size S_z)))

; The geometry of this structure is a bit tricky to specify. First the 
outer cone needs to be
; drawn as a solid of Au. Then the outer most ring needs to be done 
first. The outer most ring
; is drawn first by an air cylinder with the same radius as the ring 
outer edged. Then another
; cylinder with the same location and height but with the radius of the 
ring inner edge is drawn
; as a solid of gold. The same goes with the other rings until it 
reaches the bottom aperture openning.

; The last step is drawing the inner cone filled with the Silicon dioxide.

; First the paramters that specify the cylinder locations are defined here.
; See note book drawing on page 91. The matlab program for calcul

[Meep-discuss] Question about target-freq function in mpb.

2008-12-18 Thread SadovnikovAV
Hello dear colleagues!
I have a problem with solving and finding an appropriate modes of 
electromagnetic wave 
in structure we use:
I try to find a mode with the frequency, that I know with some precision, e.g. 
'w1'.
When I run mpb, I can find mode with frequency near 'w1' and this mode is for 
example 25 
(I've setup (set-param num-bands 30)).  That's no so good, because I must wait, 
when mpb
solving all bands from 1 to 25 to find an appropriate band for me.
That is the reason why I start to use a target-freq parameter.
I've written such as:
(set! target-freq w1)
And when mpb work, it seems to me, that it find all modes from 1 to 25 again.
It take much time again.

How can I find modes with frequency w1, that is interesting me?

Thanks.
Sadovnikov Alexandr
Saratov
2008  ___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] question : field computations

2008-12-15 Thread Ajayram S K S M
Hello!

I am trying to calculate field energy in air before the field passes through
a medium and after it passes through. The medium has a refractive index of
2.1609.

I have used two cases: with periodic boundary conditions (using k-point) and
without it.
Also I have put metal nano cylinder and this leads us to a total of four
cases as given below.

nc- nano cylinder
kp -k-point
One -  field -energy after the medium
two - field - energy before the medium

the field energy computations were done at the last time step (after third
time step in this case)

1. *no nc and yes kp*  : One-3.34630186473115e-5two-3.5681340908767e-5
2. *yes nc and no kp*  : One-6.37494514942021e-8two-3.80564486417271e-5
3. *yes nc and yes kp* : One-1.75693509082845e-6two-6.01227187135615e-5
4. *no nc and no kp*: One-3.05763975245008e-5two-2.52388151348767e-5


Question:

How are the results getting affected by k-pojnt condition?
Especially if we compare 'yes nc' case then there is a difference of 3
orders of magnitude!! My question is that is my k-point condition correct in
the program?

---

CTL FILE:

(set! geometry-lattice (make lattice (size .5 .09 no-size)))

(set! geometry (list
(make block (center 0 0) (size .3 .09 0.4)
   (material(make dielectric (epsilon 2.1609))
  ;(make cylinder (center 0 0) (radius .035) (height .110)
  ;(material(make dielectric (epsilon 2.16091)
   ; (polarizations
  ;(make polarizability
;(omega 1e-30) (gamma .1561792)
;(delta-epsilon 41.9731539e+60

(set! k-point (vector3 1 1 0))
(set! sources (list
   (make source
 (src (make continuous-src (frequency 2.1777)))
 (direction X)
 (component Hz)
 (center -.2 0)
 (size 0 .09 0
(set! pml-layers (list (make pml (thickness 0.025)(direction X
(set! resolution 1000)
(run-until 2
   (at-beginning output-epsilon))

(run-until 1
   (at-every .5 output-efield-x)
   (at-every .5 output-efield-y))
(print "One" (field-energy-in-box (volume (center 0.15 0) (size 0.01 0.01
0))) ""
"two" (field-energy-in-box (volume (center -0.15 0) (size 0.01 0.01 0


Thanks!

regards
-- 
Ajay Ram S K S M
MSc(Physics)
Sri Sathya Sai University
Prasanthi Nilayam
India.
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] question: plane wave source in cylindrical coordinates

2008-12-11 Thread Ajayram S K S M
Hello!

In cylindrical coordinates there is a phi symmetry assumed in MEEP.

I want to simulate light propagation through a single nano cylinder in
cylindrical  coordinates with a plane wave source.

But from the example on ring resonator, I understand that if we put a point
source then we are defining a ring source due to the phi symmetry. In this
case how do I get a plane wave source that can placed outside the
nano-cylinder?

Thank you

regards
Ajay

-- 
Ajay Ram S K S M
MSc(Physics)
Sri Sathya Sai University
Prasanthi Nilayam
India.
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about frequency in meep.

2008-12-11 Thread 김세윤
Dear Steven and meep users.
 
I have been conducting some simulations by meep, and I have a question about 
frequency in meep.
 
In meep reference page, it is said that the frequency in meep is ω and it is 
normalized by 2πc/distance. From this script, I think that the frequency in 
meep is angular frequency which is 2*pi*freq (freq is a real frequency, not 
frequency in meep). Is it right that the frequency in meep is angular frequency?
 
In this case, in "Materials in Meep 
(http://ab-initio.mit.edu/wiki/index.php/Materials_in_Meep)", it says that I 
have to set a sigma_d as (2*pi*0.42)*0.101/3.4 in order to use a medium with 
eps=3.4+j0.101 at a frequency 0.42. However, if the frequncy in meep is an 
angular frequency, I think that the term (2*pi) has to be effaced because the 
frequency in meep is already an angular frequency.
 
It is a very important problem for my simulation. I'll appreciate you if you 
answer my question.
Thank you.


   
180도 달라진 야후! 메일 - 여러 개의 메시지를 동시에 확인? 새로운 야후! 메일의 탭으로 가능해집니다.
http://kr.content.mail.yahoo.com/cgland___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] question on effect of pml layer on the phase of the EM wave

2008-12-10 Thread Ardavan F. Oskooi
The PML is an absorbing material that surrounds the computational cell 
and acts to attenuate the waves that propagate through it. Thus you 
should see the amplitude of the wave decrease as it moves through the 
PML (although the phase should remain the same, see the following review 
of PML for more information: http://math.mit.edu/~stevenj/18.369/pml.pdf ).

However your ctl file specifies a line source along the Y direction that 
overaps the PML, I wonder if this is what you mean by the plane wave 
having a 'bulge at the center' that is removed when you remove the PML 
in the Y direction.

Ardavan

Ajayram S K S M wrote:
> /Hello!!
>
> /*I am trying to simulate the propogation of a plane wave in a glass 
> of refractive index 1.47.
>
> But, the png image showed distortion of the plane wave with a bulge at 
> the center.
>
> When I remove the pml layer in Y direction, I am able to get the plane 
> wave in the glass. But, by removing the pml we increase the errors in 
> our simulation. any solution to this problem? Why is the phase of the 
> wave getting affected due to the pml boundary? *
> /
>
> CTL CODE:
> /
> (set! geometry-lattice (make lattice (size .8 .8 no-size)))
>
> (set! geometry (list
> (make block (center 0 0) (size .8 .8 .8)
>(material(make dielectric (epsilon 2.1609))
>
> (set! sources (list
>(make source
>  (src (make continuous-src (frequency 2.1777)))
>  (direction X)
>  (component Hz)
>  (center -0.3 0)
>  (size 0 .8 0
> (set! pml-layers (list (make pml (thickness 0.1)))
> (set! resolution 500)
> (run-until 10
>(at-beginning output-epsilon)
>   
> (run-until 10
>(at-every .5 output-efield-x)
>(at-every .5 output-efield-y))
> ;(at-every .5 output-dpwr))
>
> *
> Thanks for your time
>
> regards
> Ajay
> *
> -- 
> Ajay Ram S K S M
> MSc(Physics)
> Sri Sathya Sai University
> Prasanthi Nilayam
> India.
> 
>
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


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


[Meep-discuss] question on effect of pml layer on the phase of the EM wave

2008-12-10 Thread Ajayram S K S M
*Hello!!

**I am trying to simulate the propogation of a plane wave in a glass of
refractive index 1.47.

But, the png image showed distortion of the plane wave with a bulge at the
center.

When I remove the pml layer in Y direction, I am able to get the plane wave
in the glass. But, by removing the pml we increase the errors in our
simulation. any solution to this problem? Why is the phase of the wave
getting affected due to the pml boundary? *
*

CTL CODE:
*
(set! geometry-lattice (make lattice (size .8 .8 no-size)))

(set! geometry (list
(make block (center 0 0) (size .8 .8 .8)
   (material(make dielectric (epsilon 2.1609))

(set! sources (list
   (make source
 (src (make continuous-src (frequency 2.1777)))
 (direction X)
 (component Hz)
 (center -0.3 0)
 (size 0 .8 0
(set! pml-layers (list (make pml (thickness 0.1)))
(set! resolution 500)
(run-until 10
   (at-beginning output-epsilon)

(run-until 10
   (at-every .5 output-efield-x)
   (at-every .5 output-efield-y))
;(at-every .5 output-dpwr))

*
Thanks for your time

regards
Ajay
*
-- 
Ajay Ram S K S M
MSc(Physics)
Sri Sathya Sai University
Prasanthi Nilayam
India.
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question about storing and initialization

2008-12-08 Thread Yu Liu
Hi,

I want to simulation the respond of a waveguide to different pulses.
However, It takes time for the waveguide reach a stable status.
So I want to store the status and load it every time for different pulses.
It will save a lot of time.

I checked the source code. It seems the fields can be initialized by
specifying a function which returns the value of the fields at every grid
points.
Does it means what I need to do is storing the fields of the stable status
to a hdf5 file and loading it by the function? Can the fields value be
exactly restored in this way?

Thank you!

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

Re: [Meep-discuss] Question about "in-volume"

2008-08-25 Thread Steven G. Johnson
On Aug 25, 2008, at 4:30 PM, Zhu, Lei wrote:
> (in-volume (volume (center 0 1 0) (size 2 0 0))  output-efield-z))
> ..
>
> I got 22 Ez.along x-axis from -1 to 1.
> Why the number of Ez is not 23, but 22?
> Why is not Ez at points (-1,0), (-0.9,0), (-0.8,0),(-0.7,0),  
> (-0.6,0), (-0.5,0),(-0.4,0), (-0.3,0), (-0.2,0),(-0.1,0),  
> (0,0), (1,0) plus two extra pixels on each boundary?

Because (-1,0) is not one of the grid points that it outputs.  If I  
remember correctly, I think the centermost grid points are -1.05,0 and  
-0.95,0 ... basically, the hdf5 output interpolates everything it  
outputs to the center of each grid voxel, hence it is shifted by 0.5/ 
resolution from what you are expecting.  Hence 22 pixels in this case,  
because there is no output at the grid point which is exactly in the  
center.

Steven

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


[Meep-discuss] Question about "in-volume"

2008-08-25 Thread Zhu, Lei
Dear Dr.Steven and meep users,
 
I have a question of the command "in-volume".
 
I am trying to take out the data using "in-volume".
And I use a 2d-TM planewave as source.
 

(set! resolution 10)
(in-volume (volume (center 0 1 0) (size 2 0 0))  output-efield-z))
..
 
I got 22 Ez.along x-axis from -1 to 1.
Why the number of Ez is not 23, but 22?
Why is not Ez at points (-1,0), (-0.9,0), (-0.8,0),(-0.7,0), (-0.6,0), 
(-0.5,0),(-0.4,0), (-0.3,0), (-0.2,0),(-0.1,0), (0,0), (1,0) plus two 
extra pixels on each boundary?  
Thanks in advance.
 
 
Lei 

 

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

Re: [Meep-discuss] Question

2008-07-12 Thread Steven G. Johnson

On Jun 25, 2008, at 10:24 AM, mehdi miri wrote:

> Hi there
> Does the MPI (Parallel Processing) features work with Scheme  
> Scripting? (*.ctl files?)

Yes. 

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


Re: [Meep-discuss] Question on PML, new Question

2008-07-03 Thread Andreas Unger
Hallo Ardavan,

than means that in the new meep 0.2 I can directly specify what you call 
  round trip reflection? That would be nice!

Andreas

Ardavan F. Oskooi wrote:
> Alexander Sprafke wrote:
>> Lets say I have a pml layer which is too thin. Do these reflections 
>> come from propagating waves going through the pml layer and being 
>> reflected at the end of the computational cell, going through the pml 
>> layer again and entering the region of interest. Or is it the 
>> too-thin-pml layer itself?
> There are two sources of reflection from the PML: 1) the non absorbed 
> component of the wave entering, reflecting at the hard wall boundary, 
> and returning back through the PML and into the computational cell 
> (which you have already described), what I will call the 'round-trip' 
> reflection and 2) the 'transition' reflection occurring at the interface 
> of the non-PML & PML regions. The round-trip reflection can be made 
> arbitrarily small (in uniform media) by making the PML absorption large, 
> however this is not the case in the current release of meep (version 
> 0.10.1) which implements a split field PML so you will have to make sure 
> that either the PML is sufficiently long or to increase the PML strength 
> parameter (for those interested, see the structure_chunk::use_pml 
> function in structure.cpp of the source files). You will need to do 
> these tests to make sure that PML reflections are sufficiently small so 
> as not to affect your computations. The transition reflection, on the 
> other hand, is a consequence of the discretization of space (a PML is 
> perfectly reflectionless in the exact wave equation) and is determined 
> by the degree of smoothness of the PML conductivity absorber (we have an 
> upcoming paper on this) which is typically a quadratic polynomial. In 
> your case of PML overlapping uniform media, you should be more way of 
> the 'round-trip' reflection.
> 
> We will be releasing meep 0.20 very shortly which has a much improved 
> uniaxial PML (uPML) implementation with the ability to fix the round 
> trip reflection along with user-defined PML conductivity.
> 
> Ardavan


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


Re: [Meep-discuss] Question on PML

2008-07-02 Thread Andreas Erbe
Alex, 

I did recently play with a similar problem, only at wavelengths in the 
mid-infrared (3-5 µm), making the whole problem even worse. I can say that I do 
get numerical reflections from PMLs even if they are 1 µm or so (I did not try 
much bigger). Though in my case, that seem to be due to what Ardavan calls 
'transition' reflections. Also, I have to admit I was looking for a result with 
rather high accuracy. 

One more comment on

> Since the particle itself represents a dipole source, I don't expect  
> much radiation in the X direction, thats why I think I can reduce the  

I would be careful with that. A particle or 100 nm at a wavelength of 400 nm is 
quite off the dipole source (again, it depends on what level of approximation 
you like to think in ...). Maybe you want to look at the analytical Mie 
solution first to see how well it works. 

Have fun, 

Andreas. 


-
Andreas Erbe
Interface Spectroscopy Group
Department of Interface Chemistry and Surface Engineering
Max Planck Institute for Iron Research GmbH
PO Box 140444
40074 Düsseldorf
Germany

Tel: +49(0)/211/6792-890

---
Max-Planck-Institut für Eisenforschung GmbH
Max-Planck-Straße 1
D-40237 Düsseldorf
 
Handelsregister B 2533 
Amtsgericht Düsseldorf
 
Geschäftsführung
Prof. Dr. Jörg Neugebauer
Prof. Dr. Anke R. Pyzalla
Prof. Dr. Dierk Raabe
Prof. Dr. Martin Stratmann
Dipl.-Kfm. Herbert Wilk
 
Ust.-Id.-Nr.: DE 11 93 58 514 
Steuernummer: 105 5891 1000
-


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


Re: [Meep-discuss] Question on PML

2008-07-02 Thread Ardavan F. Oskooi
Alexander Sprafke wrote:
> Lets say I have a pml layer which is too thin. Do these reflections 
> come from propagating waves going through the pml layer and being 
> reflected at the end of the computational cell, going through the pml 
> layer again and entering the region of interest. Or is it the 
> too-thin-pml layer itself?
There are two sources of reflection from the PML: 1) the non absorbed 
component of the wave entering, reflecting at the hard wall boundary, 
and returning back through the PML and into the computational cell 
(which you have already described), what I will call the 'round-trip' 
reflection and 2) the 'transition' reflection occurring at the interface 
of the non-PML & PML regions. The round-trip reflection can be made 
arbitrarily small (in uniform media) by making the PML absorption large, 
however this is not the case in the current release of meep (version 
0.10.1) which implements a split field PML so you will have to make sure 
that either the PML is sufficiently long or to increase the PML strength 
parameter (for those interested, see the structure_chunk::use_pml 
function in structure.cpp of the source files). You will need to do 
these tests to make sure that PML reflections are sufficiently small so 
as not to affect your computations. The transition reflection, on the 
other hand, is a consequence of the discretization of space (a PML is 
perfectly reflectionless in the exact wave equation) and is determined 
by the degree of smoothness of the PML conductivity absorber (we have an 
upcoming paper on this) which is typically a quadratic polynomial. In 
your case of PML overlapping uniform media, you should be more way of 
the 'round-trip' reflection.

We will be releasing meep 0.20 very shortly which has a much improved 
uniaxial PML (uPML) implementation with the ability to fix the round 
trip reflection along with user-defined PML conductivity.

Ardavan

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


Re: [Meep-discuss] Question on PML

2008-07-02 Thread matt




Alex,

My experience with plasmonic problems is that 2nm isn't fine enough of a 
resolution.  I only got nice results with 0.5nm (I had to use a 
cluster).  I was working with a Drude model for silver, not gold, but I 
imagine that you will have similar results.

I don't think you can shave off much from your PML thickness, especially 
at with wavelengths as long as 1000nm.  Unfortunately, I think the only 
answer to your question about whether 100nm is too thin in the one 
direction is to also try 200nm, 400nm, and so on, and see how your 
results converge.  That's probably not reasonable for such a large 
problem, but I don't think there's any way around it.

If your results differ from the Mie solution, I would also check your 
assumption about the periodicity being long enough by simply running the 
same problem without the periodicity and with PML in all three 
directions.

A side note:  One thing which would be really nice for problems like 
this is a Total-field Scattered-field approach to allow plane waves with 
PML in all directions.  I tried the solution proposed by Andreas Unger 
previous on the list but found some problems with it.  First, I couldn't 
make it work with broadband sources.  Second, you can't initialize the 
field everywhere with an analytic planewave, so you have to let the 
sources propogate and settle (that is very costly for plasmonic problems 
like yours with huge computation domains).  Also bothersome is that the 
scattered fields and total fields aren't actually stored separately, so 
you don't have access to the scattered field inside the total field 
region.  Finally, having so many sources all around the computation 
domain make the simulation very slow.

Best,
Matt




On Wed, 2 Jul 2008, Alexander Sprafke wrote:

> Hi Andreas, thanks for your quick response,
>
>> I would not think that you can make things worse by putting a small
>> pml
>> but I think a pml with less than 5 cells also makes no sense.
>
> ok, I understand that such a small pml layer does not make much sense.
> I didn't mean to make it that small, maybe I shortly describe my
> problem:
> For a start I'd like to calculate scattering and absorption of a
> spherical gold nano particle (diameter 100nm, placed in center of
> computational cell, surrounded by flux-planes) and compare it to the
> analytical Mie solution.
> I use a resolution of 2 nm, my source (plane wave propagting along z,
> Ex polarized) works in the visible/nir region, i.e. 400...1000nm, so I
> think I should use pml thicknesses of 500nm (approx. 0.5-1
> wavelengths) in the Z and Y direction.
> Since the particle itself represents a dipole source, I don't expect
> much radiation in the X direction, thats why I think I can reduce the
> pml thickness in that direction or even omit them.
> All in all my computational cell is now 2000nm(Z)*1600nm(Y)*1000nm(X).
> Using periodic boundary conditions and a x-cell size of 1000nm means
> that the "next" particle is 1000nm away, at that distance and
> polarization, coupling of nano particles is very weak (the opposite is
> true for the y direction).
> My question is if putting a pml layer of 100 or 200nm in that
> direction would give me unwanted reflections into my cell (and inside
> placed flux-planes) because it is smaller than the "recommended" 0.5
> wavelengths or would help in ensuring that coupling of the particle
> with its neighbours is minimized.
>
> The reason I do all this is downsizing the computaional cell.
>
> Regards
> Alex
> Other comments on how I plan to validate Mie spectra using meep are
> also very welcome.
>
>
>> Hallo Alex,
>>
>> usually a pml is designed to give a fixed reflectivity in case it is
>> continuous space. When you now make the pml to thin, it will come to
>> numerical reflections at the interface from the space to the pml and
>> inside the pml. Because of the finite spatial sampling the discretised
>> pml is not matched perfectly anymore where a continuous one would
>> still be.
>> I would not think that you can make things worse by putting a small
>> pml
>> but I think a pml with less than 5 cells also makes no sense.
>>
>> Andreas
>>
>> Alexander Sprafke schrieb:
>>> Dear meep community, dear Steven,
>>>
>>> the meep reference says about pml layers "The thinner it is, the more
>>> numerical reflections become a problem."
>>> Lets say I have a pml layer which is too thin. Do these reflections
>>> come
>>> from propagating waves going through the pml layer and being
>>> reflected
>>> at the end of the computational cell, going through the pml layer
>>> again
>>> and entering the region of interest. Or is it the too-thin-pml
>>> layer itself?
>>> The reason I ask is the following: I'd like to downsize my
>>> computational
>>> cell. I have a simple structure from which I know that there is
>>> almost
>>> no scattering (-> almost no coupling in case of periodic boundary
>>> condition) into one certain direction, so I think it is reasonable to
>>> omit the pml laye

Re: [Meep-discuss] Question on PML

2008-07-02 Thread Alexander Sprafke
Hi Andreas, thanks for your quick response,

> I would not think that you can make things worse by putting a small  
> pml
> but I think a pml with less than 5 cells also makes no sense.

ok, I understand that such a small pml layer does not make much sense.
I didn't mean to make it that small, maybe I shortly describe my  
problem:
For a start I'd like to calculate scattering and absorption of a  
spherical gold nano particle (diameter 100nm, placed in center of  
computational cell, surrounded by flux-planes) and compare it to the  
analytical Mie solution.
I use a resolution of 2 nm, my source (plane wave propagting along z,  
Ex polarized) works in the visible/nir region, i.e. 400...1000nm, so I  
think I should use pml thicknesses of 500nm (approx. 0.5-1  
wavelengths) in the Z and Y direction.
Since the particle itself represents a dipole source, I don't expect  
much radiation in the X direction, thats why I think I can reduce the  
pml thickness in that direction or even omit them.
All in all my computational cell is now 2000nm(Z)*1600nm(Y)*1000nm(X).
Using periodic boundary conditions and a x-cell size of 1000nm means  
that the "next" particle is 1000nm away, at that distance and  
polarization, coupling of nano particles is very weak (the opposite is  
true for the y direction).
My question is if putting a pml layer of 100 or 200nm in that  
direction would give me unwanted reflections into my cell (and inside  
placed flux-planes) because it is smaller than the "recommended" 0.5  
wavelengths or would help in ensuring that coupling of the particle  
with its neighbours is minimized.

The reason I do all this is downsizing the computaional cell.

Regards
Alex
Other comments on how I plan to validate Mie spectra using meep are  
also very welcome.


> Hallo Alex,
>
> usually a pml is designed to give a fixed reflectivity in case it is
> continuous space. When you now make the pml to thin, it will come to
> numerical reflections at the interface from the space to the pml and
> inside the pml. Because of the finite spatial sampling the discretised
> pml is not matched perfectly anymore where a continuous one would  
> still be.
> I would not think that you can make things worse by putting a small  
> pml
> but I think a pml with less than 5 cells also makes no sense.
>
> Andreas
>
> Alexander Sprafke schrieb:
>> Dear meep community, dear Steven,
>>
>> the meep reference says about pml layers "The thinner it is, the more
>> numerical reflections become a problem."
>> Lets say I have a pml layer which is too thin. Do these reflections  
>> come
>> from propagating waves going through the pml layer and being  
>> reflected
>> at the end of the computational cell, going through the pml layer  
>> again
>> and entering the region of interest. Or is it the too-thin-pml  
>> layer itself?
>> The reason I ask is the following: I'd like to downsize my  
>> computational
>> cell. I have a simple structure from which I know that there is  
>> almost
>> no scattering (-> almost no coupling in case of periodic boundary
>> condition) into one certain direction, so I think it is reasonable to
>> omit the pml layer in that direction which would make the  
>> computational
>> cell significantely smaller. I was wondering if I should still put a
>> thin pml layer at that direction to get from "almost no
>> scattering/coupling" to "even less scattering/coupling". I'm not sure
>> whether this would help or worsen the computation.
>>
>> Thanks for an answer in advance.
>> Alex

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


Re: [Meep-discuss] Question on PML

2008-07-02 Thread Andreas Unger
Hallo Alex,

usually a pml is designed to give a fixed reflectivity in case it is 
continuous space. When you now make the pml to thin, it will come to 
numerical reflections at the interface from the space to the pml and 
inside the pml. Because of the finite spatial sampling the discretised 
pml is not matched perfectly anymore where a continuous one would still be.
I would not think that you can make things worse by putting a small pml 
but I think a pml with less than 5 cells also makes no sense.

Andreas

Alexander Sprafke schrieb:
> Dear meep community, dear Steven,
> 
> the meep reference says about pml layers "The thinner it is, the more 
> numerical reflections become a problem."
> Lets say I have a pml layer which is too thin. Do these reflections come 
> from propagating waves going through the pml layer and being reflected 
> at the end of the computational cell, going through the pml layer again 
> and entering the region of interest. Or is it the too-thin-pml layer itself?
> The reason I ask is the following: I'd like to downsize my computational 
> cell. I have a simple structure from which I know that there is almost 
> no scattering (-> almost no coupling in case of periodic boundary 
> condition) into one certain direction, so I think it is reasonable to 
> omit the pml layer in that direction which would make the computational 
> cell significantely smaller. I was wondering if I should still put a 
> thin pml layer at that direction to get from "almost no 
> scattering/coupling" to "even less scattering/coupling". I'm not sure 
> whether this would help or worsen the computation.
> 
> Thanks for an answer in advance.
> Alex
> 
> 
> 
> 
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


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


[Meep-discuss] Question on PML

2008-07-02 Thread Alexander Sprafke

Dear meep community, dear Steven,

the meep reference says about pml layers "The thinner it is, the more  
numerical reflections become a problem."
Lets say I have a pml layer which is too thin. Do these reflections  
come from propagating waves going through the pml layer and being  
reflected at the end of the computational cell, going through the pml  
layer again and entering the region of interest. Or is it the too-thin- 
pml layer itself?
The reason I ask is the following: I'd like to downsize my  
computational cell. I have a simple structure from which I know that  
there is almost no scattering (-> almost no coupling in case of  
periodic boundary condition) into one certain direction, so I think it  
is reasonable to omit the pml layer in that direction which would make  
the computational cell significantely smaller. I was wondering if I  
should still put a thin pml layer at that direction to get from  
"almost no scattering/coupling" to "even less scattering/coupling".  
I'm not sure whether this would help or worsen the computation.


Thanks for an answer in advance.
Alex
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question

2008-06-25 Thread mehdi miri
Hi there
Does the MPI (Parallel Processing) features work with Scheme Scripting?
(*.ctl files?)
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question on h5tovtk

2008-06-19 Thread David Domenech
Dear Alex,

You can decide which dataset extract with the command 'h5tovtk' using the
modifier "-d" followed by the name of the dataset.
By default extracts the first dataset that in your case is 'ex' (look at the
man page)

To extract 'Ey' dataset for instance:

>> h5tovtk -t 150 -o test.vtk -d ey test-e.h5

Best,

J.D.Domenech



Alex wrote :
>
> Dear Steven and meep community,
> I created a hdf5-file with all E-field components using
> ...
> (to-appended "e" (at-every 0.5 output-efield))
> ...
>
> this seems to work, since h5ls gives:
>
> h5ls test-e.h5
> ex   Dataset {50, 50, 50, 200/Inf}
> ey   Dataset {50, 50, 50, 200/Inf}
> ez   Dataset {50, 50, 50, 200/Inf}
>
> Now I want to convert this hdf5-file into the vtk format, a vector vtk
> file for mayavi (to get a vector plot with arrows), using
>
> h5tovtk -t 150 -o test.vtk test-e.h5
>
> .
>
> .
>
> What am I doing wrong?
> Thank you very much for your help in advance!
>
> Regards
> Alex
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question on h5tovtk

2008-06-18 Thread Alexander Sprafke
Dear Steven and meep community,

I created a hdf5-file with all E-field components using

...
(to-appended "e" (at-every 0.5 output-efield))
...

this seems to work, since h5ls gives:

h5ls test-e.h5
ex   Dataset {50, 50, 50, 200/Inf}
ey   Dataset {50, 50, 50, 200/Inf}
ez   Dataset {50, 50, 50, 200/Inf}

Now I want to convert this hdf5-file into the vtk format, a vector vtk  
file for mayavi (to get a vector plot with arrows), using

h5tovtk -t 150 -o test.vtk test-e.h5

But the produced vtk-file just contains the Ex component:
In Mayavi I can only choose to visualize ex, also the header of  
test.vtk is:

# vtk DataFile Version 2.0
Generated by h5tovtk.
BINARY
DATASET STRUCTURED_POINTS
DIMENSIONS 50 50 50
ORIGIN 0 0 0
SPACING 1 1 1
POINT_DATA 125000
SCALARS ex float 1<--- shouldn't this be different if it was a  
vector vtk?
LOOKUP_TABLE default

What am I doing wrong?
Thank you very much for your help in advance!

Regards
Alex


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


Re: [Meep-discuss] Question on output data size

2008-06-15 Thread Steven G. Johnson
On Jun 15, 2008, at 6:40 AM, Juntao Xi wrote:
> Hi, Steven and Meepers,
>
> As the following setting
>
> -Resolution 100
> -in volume (size 1  1.2 ) output-efield-y
> The output datasets is 102*122.
>
> Why is not it 100*120?

Meep adds a couple of extra pixels at the ends to implement the  
boundary conditions.

Steven


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


[Meep-discuss] Question on output data size

2008-06-15 Thread Juntao Xi
Hi, Steven and Meepers,

As the following setting

-Resolution 100
-in volume (size 1  1.2 ) output-efield-y
The output datasets is 102*122.

Why is not it 100*120?

Please kindly advise.

Juntao

 

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


Re: [Meep-discuss] Question on Opal Transmission Example

2008-03-26 Thread Steven G. Johnson
On Mar 25, 2008, at 6:09 PM, Ian D. Hosein wrote:
>I was curious why you add or substract 1e-06 of the radial values  
> in the
> epsilon function when determining the region in which xx.z  lies.

I haven't actually looked at that example much; it was posted by a  
student of mine.  However, I'm guessing that for whatever reason he  
wanted to avoid rounding errors causing the radii to just touch a  
pixel boundary.


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


[Meep-discuss] Question on controling the continuous-source

2008-03-26 Thread adrian
 Hi, meep users and Steven:
   I try to figure how the cw-source turns on and off.
 I use the parameters as below:
   (define-param run_time 17 )
   (src (make continuous-src (frequency fcen) (end-time (* run_time (/ 1 
fcen))) (width (* 0.7 lam)) (cutoff (* 0.003 lam) )
   I recorded the variation of amplitude with time and found the it was 
reaching to steady state in 7th period but started to decay 
  after 14th period. It's wired. Since I expected it would start to decay after 
17th period (since I assigned the end-time is 17th period)
  Is there anything wrong with my codes or  I misunderstood the definition for 
end-time..etc..

  Thank you in advance
 
  Cheers
Adrian
  




  
__
付費才容量無上限?Yahoo!奇摩電子信箱2.0免費給你,信件永遠不必刪! http://tw.mg0.mail.yahoo.com/dc/landing___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

[Meep-discuss] Question on Opal Transmission Example

2008-03-25 Thread Ian D. Hosein
Steven,

I was curious why you add or substract 1e-06 of the radial values in the 
epsilon function when determining the region in which xx.z  lies.

Thanks,

Ian 




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


[Meep-discuss] question on the turning off continuous source

2008-03-21 Thread adrian
Hi, Meep users and Steven:
I try to figure the how many source is really running after I set the 
parameters for cw-source.
 
  say  lamda=lam=1290; run_time=14; fcen=1/lam.
 and 
   (src (make continuous-src (frequency fcen) (end-time (* run_time (/ 1 
fcen))) (width (* 0.6 lam)) (cutoff (* 0.003 lam) )))
  I write a small program using matlab to estimate how long the source will 
turn on and determine how many period I need before 
   source turns off.
  Since the source will turn on and off by the shape: 
(1 + tanh(t/width - slowness))/2, 
  I thought there should be pi/2 in the front of 
  t/width since the shape I got was different from what I got from meep. )
  But I notice when the source turned off before 14th period. 
   It turned off around 10th period.
I'm wondering if this true then what the meaning of end-time is.

  Thank you
 
Cheers
Adrian




  
__
付費才容量無上限?Yahoo!奇摩電子信箱2.0免費給你,信件永遠不必刪! http://tw.mg0.mail.yahoo.com/dc/landing___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] question on local density of states

2007-10-20 Thread Steven G. Johnson
On Thu, 18 Oct 2007, Gao Jie wrote:
> 1. What do you mean by time-harmonic point dipole source? The Gaussian point
> source defined in MEEP is fine?

No, I meant a CW source (a continuous source, in Meep).  If you put in a 
CW source, and wait for the initial transients to die away, the result is 
the Green's function (for that source position and frequency), by 
definition.  However, as I said, it is more efficient to use a pulse 
source and Fourier-transform the output.

> 2. Which output file I should use, sfield or efield?

If you are using an electric current source, you should use the E field.

>Then need to normalize with no photonic crystal slab and take imaginary
> part to get LDOS?

No, you still need to normalize to the current source's spectrum (at 
least, if you are using a Gaussian pulse like I suggested) and take the 
imaginary part.  Really, the LDOS corresponds to the real part of J* E for 
unit J, i.e. the rate of work done by the current source; the prescription 
to take the imaginary part has to do with the phase choice in the usual 
way the Green's function is defined.

> 3. LDOS is a function of position and frequency. Actually I want to see the
> change of LDOS at different frequencies (not information integrated over a
> wide bandwidth of frequencies). In this case, I need to define df in my
> source extreamly small?

If you Fourier transform the response to a short pulse like I suggested, 
you can separate out information over many frequencies at once using a 
short pulse, which is much more efficient than making df small and looking 
at one frequency at a time, and gives the same informatoin.

Anyway, the point is that Meep will solve Maxwell's equation for any 
source that you want.  You just need to review the definition of LDOS and 
figure out what question you want to ask.

Regards,
Steven G. Johnson

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


Re: [Meep-discuss] question on local density of states

2007-10-18 Thread Steven G. Johnson
On Thu, 18 Oct 2007, Gao Jie wrote:
> I am interested in calculating local density of states in 2D photonic
> crystal structure with/without defect cavities. Theoretically it requires
> calculation of the green's functions G(r,w). I am wondering whether it can
> be done in MEEP?

Yes.  The Green's function is just the response to a time-harmonic point 
dipole source.  Actually, in time domain you can do better than that, 
because you can fourier-transform the response to a dipole pulse and get 
the LDOS over a wide bandwidth of frequencies at once.

Steven

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


[Meep-discuss] question on local density of states

2007-10-18 Thread Gao Jie
Hi, Dear Steven and Meep users:

I am interested in calculating local density of states in 2D photonic
crystal structure with/without defect cavities. Theoretically it requires
calculation of the green's functions G(r,w). I am wondering whether it can
be done in MEEP?

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

Re: [Meep-discuss] Question about random procedure call in Meep

2007-09-06 Thread Roy Yang
Hi all,

It has worked now, thanks to the discussion with Zheng. I need to call
functions recognized by Guile, such as seed->random-state to set!
*random-state* in meep.

Best,

Roy

On 9/5/07, Zheng LI <[EMAIL PROTECTED]> wrote:
>
> hi, Roy
>
> i'm not familiar with your random procedure. however, if you use a
> function in a specific module, you should declare it first e.g.
> (use-modules (ice-9 debug))
>
> Yours
> Zheng
> 在 2007-09-05三的 20:25 -0400,Roy Yang写道:
> > Hi dear all meep users,
> >
> > I have a question about calling the procedure (random module) in .ctl
> > file. I have expected different *random-state* for a number of runs of
> > my .ctl file, so I try to add the below line
> >
> > (set! *random-state* (make-random-state #t)) ; to change the
> random-state
> >
> > into my control file. But everytime I run meep it seems cannot tell
> > what i am doing, reporting
> > ERROR: Unbound variable: make-random-state
> >
> > Could someone give me a hint about what is going on there?
> >
> > Roy
> >
> > ___
> > meep-discuss mailing list
> > meep-discuss@ab-initio.mit.edu
> > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
> >
>
>
> ___
> meep-discuss mailing list
> meep-discuss@ab-initio.mit.edu
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

  1   2   >