Re: [Meep-discuss] Computer

2012-07-02 Thread gpipc
On Mon, 2 Jul 2012 11:11:08 +0100, Rita Ribeiro 
wrote:
> Hi, i will buy a computer to program in python using the MEEP software,
but
> i have several questions about it. Should i bought two computers to do
> parallel programming or just one computer with several cpu?
> 
> 
> R.


Hi Rita,
I have used Meep (with the Scheme interface) on a multi-core computer
(Corei7, with QuickPath Interconnect (QPI)) and Open MPI as MPI version,
and I got at least a 2x speed-up from parallel processing using four cores
on a problem with moderate size (memory, let's say, 6 to 8 Gb)
I do not have much experience with different configurations, but if I
recall correctly I tried MPICH and it did not work as well (perhaps because
MPICH works well with many processors but not with multi-core? I do not
know), and I tried with an older dual-core processor which does not have
the QPI and I also did not obtain a speed gain. If you look around in the
internet and in the mailing list archives, there should be more information
on the topic.

Giovanni



Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] Au permittivity for estimating SP wavelength of nanohole arrays

2012-03-29 Thread gpipc



> 
> You can find the formula in lots of publications relating with the
> transmission property of metallic nanohole arrays. The following link
gives
> one of the most important:
> 
> http://www.opticsinfobase.org/josab/abstract.cfm?uri=josab-16-10-1743
> 
> Periodicity plays an important role in the ultimate result. i, j are the
> scattering orders in the two directions, say X- and Y-axis.
> 
> Tony



Ok - thanks. I am a bit fuzzy on the details, and I need to think about it
more ( I will write when I am done thinking ;-) ) but my feeling is that
the formula you give is an equation for lambda once that you know the form
of epsilon(lambda). That is, epsilon are not constants in that formula and
you have to solve the equation

 lambda_SP = a / sqrt ( i^2 + j^2 ) * sqrt ( epsilon(Au, lambda_SP) *
epsilon(dielectric) / ( epsilon(Au, lambda_SP) + epsilon(dielectric ) ) )

where epsilon(Au, lambda_SP) is the dielectric function of gold evaluated
at lambda_SP.

I need to write down the formulae to make sure that I have all the details
right, but it *should* be like this: at normal incidence you are phase
matched to all of the waves that are in the Brillouin point of the crystal
at k_parallel = 0; in fact this point depends only on the projection of
the
wavevector k of the incident light parallel to the surface (which is again
zero for all frequencies, since we are at normal incidence);you have to
figure out if any of these waves corresponds to a surface plasmon, and
there you use the formula for the wavevector of the SP given in the paper,
which in wavelength dependent through the wavelength dependence of the
dielectric constant of gold, thereby resulting in an equation for the
wavelength, which when simplified results in equation 3 of the paper. At
least this is how I would reason. But I would need to write down the
formulae on a piece of paper to make sure that I understood correctly. In
the meantine, if you are able to verify/disprove my reasoning above,
please
let me know.

I hope that all of the symbols that I used in the notation are clear :-)

Giovanni

Message sent by Cup Webmail (Roundcube)

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Au permittivity for estimating SP wavelength of nanohole arrays

2012-03-29 Thread gpipc
On Thu, 29 Mar 2012 18:14:29 +0800, 虞益挺  wrote:


>>
> 
> Hi  Giovanni,
> 
> Thanks for your reply and the links.
> 
> I am sorry that I didn't make it so clear to my question. As for the
meep
> simulation with dispersive materials, I have no problems and it goes
well.
> At this stage, I just want to theoretically calculate the SPR wavelength
> using the formula mentioned to verify the simulation results. According
to
> the related literatures, the permittivity for a specific wavelength from
> the concerned spectrum is used. However, none gives the reason why that
> wavelength is chosen. I made a calcualtion with different wavelengths,
the
> achieved SPR wavelength differs greatly. Now, I am totally confused.
> 
> Tony
> Uni. Freiburg, Germany


Ops, sorry, it is me that did not understand the question. But - could you
give a reference for the formula? I understand that it is commonly used,
and it looks vaguely familiar (SP resonance is present, and something that
looks like it comes out from the periodicity - by the way what is the
meaning of i and j?) - but I have never made anything with hole arrays and
I do not know exactly where it does come from.

Giovanni

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Au permittivity for estimating SP wavelength of nanohole arrays

2012-03-28 Thread gpipc
On Thu, 29 Mar 2012 02:33:07 +0800, 虞益挺  wrote:
> Hi   Aaron,
> 
>> Dear meep users,By the 3D simulation using MEEP, the transmission
>> property at
>> wavelengths 500~1000nm of 2D periodic array of Au nanoholes has now
been
>> achieved, from which an obvious SP resonant wavelength is observed. To
>> theoretically verify the simulation results, the commonly used formula,
>> lambda(SP) = a / sqrt ( i^2 + j^2 ) * sqrt ( epsilon(Au) *
>> epsilon(dielectric) /
>> (
>> > epsilon(Au) + epsilon(dielectric )?) ), is employed. (a is the array
>> periodicity.)Then, a question occurs: for the theoretical calculation,
>> how
>> should I set the permittivity of gold? As it is a variable value
>> depending
>> on
>> the wavelength, the permittivity of which wavelength is appropriate for
>> this
>> purpose??Any comments and suggestions are welcomed, and will be highly
>> appreciated. Thanks in advance.
>>
>>
>> If you only want to verify that you've matched the SP resonance
>> condition,
>> it's
>> probably good enough to use the permittivity at a single wavelength. 
Of
>> course,
>> make sure that the theoretical value is the one meep is using.
>>
> 
> Thank you for your reply.
> 
> I know your meaning, and that's exactly what I want to do now. However,
the
> question is: which single wavelength is appropriate for such purpose?
> Because the permittivity of gold depends on the wavelength. I have tried
a
> series of calculations with different wavelengths from the aimed
spectrum
> (500~1000nm). The results for different wavelengths differ greatly.
> 
> Looking forward to any further comments on this problem.
> 
> Tony

It's a bit of time that I do not use MEEP, but I have got a hunch that you
need to specify the dielectric function of gold in a range of frequencies
using a Drude-Lorentz expansion - people that understand the physics and
numerics better than I do could confirm or deny, but there is a problem
with causality if using a negative epsilon without dispersion (with or
without an imaginary part).

I suggest you have a look at this

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

and this

http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg03871.html

Doing a Google search I have furthermore found this: which I did not
check, so I cannot say it is completely correct, but looks helpful

http://www.torrkish.com/index.php/research/34-meep/46-lorentz-drude-expansion-in-meep


Giovanni


Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] meep-discuss about meep-mpi

2012-03-02 Thread gpipc
On Fri, 2 Mar 2012 22:51:20 +0800, 丁一  wrote:
> Dear all,
> 
> When I recently run the mpi version of meep, I have a problem that
> when I type: mpirun -np 4 meep-mpi ***.ctl, it returns
> 
> using MPI version 2.0, 1 processes
> using MPI version 2.0, 1 processes
> using MPI version 2.0, 1 processes
> using MPI version 2.0, 1 processes
> 
> .
> 
> It seems that the it just run 4 copies of the script rather than working
> parallelly. I am running on a cluster.
> 
> Where does the problem come from? I sincerely thank all of you for your
> attention and help.
> 
> Yi Ding

Hi Yi,
try and see if this helps (describes a problem like yours and its
solution):

http://article.gmane.org/gmane.comp.science.electromagnetism.meep.general/4080/match=gpipc



Giovanni

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Field enhancement at dielectric tip

2011-08-03 Thread gpipc
On Tue, 2 Aug 2011 08:49:47 -0400, "J. Steele Parris" 
wrote:
> The tip is a 1x1x4 nickel block that has been cut to a pyramid point on
one
> side and affixed to a nickel layer (1 unit thick) and a silicon
substrate.
> There is also a thin layer of silver on the pyramid point of the tip.
> 


Ok, so - if you haven't tried that already - I would try and see what
happens if the tip is not cut to a point, but to a wide end-tip (blunted,
so to say). Actually (still admitting hat you haven't yet done that), I
would first of all try and see what happens with a sphere, that should
clarify whether the problem is due to the complex geometry of the tip or to
something else. I know that this isn't terribly helpful, but this is how I
would proceed if I had the same problem.

Giovanni

Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] Field enhancement at dielectric tip

2011-08-01 Thread gpipc
On Mon, 1 Aug 2011 14:51:38 -0400, "J. Steele Parris" 
wrote:
> Hello fellow Meep users!
> 
> I am measuring the enhancement of the electric field at the tip of a
nickel
> nanotip with a silver coating on top. When I measure and compare to a
blank
> field, the enhancement is 10^13. I find this improbable, and I ask the
> community for any advice on the matter.
> 


I fear what I am going to say may be irrelevant (and, possibly, I won't be
able to be helpful beyond that, as I have never done these kind of
calculations myself): what is the diameter of the tip of your tip? I
haven't been able to read it out from your .ctl file, and maybe, but only
maybe, if the tip is too narrow the enhancement becomes really huge.


Giovanni

Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] Meep status and future

2011-07-13 Thread gpipc
On Wed, 13 Jul 2011 16:47:30 +0900, Ardavan Oskooi  wrote:
> Yes, we continue to develop Meep and do have a new version (1.2) slated 
> for release later this summer. The newest major feature is support for 
> multilevel atomic media (i.e. saturable absorbers) which combines the 
> semi-classical rate equations for atomic population levels in active 
> media with interacting electromagnetic fields (to study lasing 
> phenomena, etc). Of course, the release will also include a number of 
> minor bug fixes and code cleanup (e.g., as part of the new feature, the 
> Lorentzian polarizability has been consolidated into one class which 
> will make extension to other media much more efficient). Please be 
> patient as we continue debugging and finalize the release.
> 
> AO
> 


Since we are on the topic of new releases: could someone verify the
correctness of formulae in the tutorial
http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion

I have got an impression that there are some 2*pi factors wrong (I have
already written about this in the mailing list and written down the
formulae which are correct according to me:
http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg03817.html)

But, obviously, I could be wrong.

Giovanni

-



Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] converting data from a ".dat" file to matrix

2011-06-06 Thread gpipc
On Mon, 06 Jun 2011 19:18:25 +0200, gpipc 
wrote:
> On Mon, 6 Jun 2011 09:53:16 -0700 (PDT), hodjat hajian
>  wrote:
>> Dear users hi,
>> I extract some data in a comma-delimited format in a .dat file, as
>> below:
>> flux1:, 0.25, 2.64484059275628e-4
>> flux1:, 0.250400801603206, 2.87434928639728e-4
>> flux1:, 0.250801603206413, 3.12270609926369e-4
>> .
>> .
>> .
> 
> Hi Hodjat,
> these lines work in Matlab, you mighthave to modify them a bit to get
them
> working for Octave; you have to assign to the variable flux_data_file
the
> path of your file
> 
> 
> 
> fid = fopen (flux_data_file, 'r');
> [val, count] = fscanf (fid, ' flux1:, %f , %f', Inf);
> fclose(fid);
> 
> 
> Curiously the space before the characters flux1:, in the conversion
> specification string is important, otherwise the program reads only the
> first line of the input file
> 
> 
> Giovanni


I was forgetting the rest: then the variable val is a one-dimensional
array, so to sort out frequency and transmission you have to do something
like

n_col = 2;

Meep_f = zeros(length(val)/n_col, 1); % Meep frequency
transmission = zeros(length(val)/n_col, 1);


for m = 1:length(val)/n_col

Meep_f(m) = val(n_col*m-n_col+1);
transmission(m) = val(n_col*m - n_col+2);
  
end

(I adapted it from something I wrote for myself, and did not try it on
your data, so that there could be a mistake or a mistype, but the idea is
right)

G.


Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] converting data from a ".dat" file to matrix

2011-06-06 Thread gpipc
On Mon, 6 Jun 2011 09:53:16 -0700 (PDT), hodjat hajian
 wrote:
> Dear users hi,
> I extract some data in a comma-delimited format in a .dat file, as
> below:
> flux1:, 0.25, 2.64484059275628e-4
> flux1:, 0.250400801603206, 2.87434928639728e-4
> flux1:, 0.250801603206413, 3.12270609926369e-4
> .
> .
> .

Hi Hodjat,
these lines work in Matlab, you mighthave to modify them a bit to get them
working for Octave; you have to assign to the variable flux_data_file the
path of your file



fid = fopen (flux_data_file, 'r');
[val, count] = fscanf (fid, ' flux1:, %f , %f', Inf);
fclose(fid);


Curiously the space before the characters flux1:, in the conversion
specification string is important, otherwise the program reads only the
first line of the input file


Giovanni


Message sent by Cup Webmail (Roundcube)


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


[Meep-discuss] How to configure Meep-MPI for single Intel i7 CPU?

2011-04-23 Thread gpipc
On Fri, 22 Apr 2011 19:32:00 -0400, Boshen Gao
 wrote:
> Hi all,
> I am using meep-mpi to simulate some simple 3-D SOI photonic crystal
based
> structures on my PC. It has an i7-930 Quad-core CPU @ 4 GHz. My problem
is,
> while I use command
> 
> mpirun -np 4 meep-mpi *.ctl
> 
> each core will run the code alone, they do not share the work. So each
step
> will be run four times, a code that took 90 sec on one core now takes
more
> than 100 sec using all four cores. Now I'm running resolution 32 codes
that
> takes more than 30 hours. In this case, parallel computation will be of
> great help. Has anyone met similar problems or do you have any hints on
> what
> might go wrong, please?
> 
> Thank you.
> 
> Boshen Gao


Hi,
it happened to me too time ago and as far as I can recall in my csae it
was because I had first installed openmpi, then the ubuntu package for
meep-mpi which was (the version that I installed, I did not check for the
present version) based on MPICH2 and I guess the two different MPI programs
interfered with each other somehow.

I solved my problem by 1) uninstalling both openmpi and meep-mpi 2)
reinstalling openmpi 3) compiling meep-mpi from source (as I wanted to use
openmpi, which I read somewhere is a little better for multi-core, I may be
wrong though). You may check whether this is the case for you too.

Cheers,

Giovanni

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] polarization in 2D and polarizabilities

2011-02-16 Thread gpipc
On Wed, 16 Feb 2011 17:58:22 +0100, Stefan 
wrote:
> Hi Giovanni,
> thanks a lot for your reply. When I use h5topng to make the results 
> visible I see the waves propagating as expected for source and output 
> Ez, but don't see any waves for source and output Ex or Ey.
> I don't really understand that, since I didn't change anything, except 
> the direction of the field.
> Any ideas on that?
> Thanks a lot!
> Stefan
> 
> 
> 

Hi Stefan,
nothing strange in your code jumps to my eyes; but to test it better you
could simplify the situation to "as simple as it gets" and see if you can
make that work. For example, a case without with a computational cell 5x5,
without any material in it, and with resolution 10. It should run in a few
seconds. Once that you have gotten that to work, you can change the
parameters one by one till you get to the case that you want to solve. And
from this analysis you should be able to figure out what is wrong in your
code.

Giovanni



-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] polarization in 2D and polarizabilities

2011-02-16 Thread gpipc
On Tue, 15 Feb 2011 15:18:00 +0100, Stefan 
wrote:
> Dear Meep-users,
> I hope you can help me with two questions:
> 1) When I fit experimental data of the dielectric function with the 
> formula given in Materials in Meep, so find the polarizabilities, it 
> seems to me that the solution is not really unique. I guess there are 
> also unphysical sets of parameters which model the dielectric function 
> correctly. Will the results I get from my simulations in Meep be the 
> same and correct for all of these sets of polarizability parameters or 
> do I have to find a certain physically correct one? If yes, how do I 
> find this specific set?


Hi Stefan,
no, you do not have to find any "physically correct" set of polarizability
parameters. Once that they fit the dielectric function, they produce the
same polarization as the dielectric function, therefore they work.

For the other question after reading quickly through your code I wasn't
able to identify the problem. But if you do tests on your code that have
the purpose of finding out why it doesn't work with E_x (unless I am
missing something important) you could decrease a bit the resolution.

Giovanni

Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] Polarization uni conversion

2011-01-28 Thread gpipc
On Fri, 28 Jan 2011 14:26:45 +0100, Stefan Kapser

wrote:
> Yes, exactly, I enter omega, sigma and gamma there. I got the data from 
> a colleague and would like to use it, but in my simulation a is defined 
> as 1nm and in his it's 1µm. So what do I need to do to convert it or can

> I just use his values?
> Thanks!
> Stefan
> 



In this case you only need to convert the units of the frequencies for
omega and gamma.

Giovanni

P.S. Sorry for the confusion between the personal email address and the
Meep mailing list address, when pressing "answer all" the email program
puts the name of the sender first and I often forget about it.


 
> 
> On 01/28/2011 02:21 PM, gpipc wrote:
>> On Fri, 28 Jan 2011 11:16:03 +0100, Stefan Kapser
>> 
>> wrote:
>>> Dear Meep users,
>>> I have got the Polarizabilities in Meep units for a=1µm and would now
>>> like to use these in a simulation with a=1nm.
>>> Since the unit of the polarizability is A^2 s^4 / kg I want to convert
>>> the meep units back to SI and then to the new Meep units.
>>> The unit of time is set by the unit of distance, so a=1µm defines my
>>> unit of time as 10^-6m/(3*10^8 m/s) for one Meep unit.
>>> How do I handle the A and kg? What are the units for current and mass
in
>>
>>> Meep?
>>> Thanks a lot for your help!
>>> Regards,
>>> Stefan
>>
>>
>> Before trying to answer your question - do you refer to the quantities
>> that you input in Meep using the "make polarizability" expression?
>> Because
>> that "polarizability" is actually the relative dielectric constant,
which
>> is a pure number.
>>
>>
>> Giovanni
>> 
>> Message sent by Cup Webmail (Roundcube)
>>

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Polarization uni conversion

2011-01-28 Thread gpipc
On Fri, 28 Jan 2011 11:16:03 +0100, Stefan Kapser

wrote:
> Dear Meep users,
> I have got the Polarizabilities in Meep units for a=1µm and would now 
> like to use these in a simulation with a=1nm.
> Since the unit of the polarizability is A^2 s^4 / kg I want to convert 
> the meep units back to SI and then to the new Meep units.
> The unit of time is set by the unit of distance, so a=1µm defines my 
> unit of time as 10^-6m/(3*10^8 m/s) for one Meep unit.
> How do I handle the A and kg? What are the units for current and mass in

> Meep?
> Thanks a lot for your help!
> Regards,
> Stefan


Before trying to answer your question - do you refer to the quantities
that you input in Meep using the "make polarizability" expression? Because
that "polarizability" is actually the relative dielectric constant, which
is a pure number.


Giovanni

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] pulsed laser

2011-01-19 Thread gpipc
On Tue, 18 Jan 2011 17:27:44 +0100, Stefan Kapser

wrote:
> Hi,
> I'm trying to simulate a laser pulse falling on a dielectric structure 
> and don't really know where to find the necessary information.
> What I am especially looking for is how to define the spectral 
> properties of the laser pulse. How can I for example simulate a few 
> cycle pulse?
> And how I can define the frequency dependence of the dielectric, on 
> which the pulse will fall. I only found information on defining a 
> spatial variation of the dielectric constant.



Hi,
for what regards the definition of the spectral pulse properties, the idea
in a FDTD code is to define the pulse in the time domain so that the
spectrum has the required properties. As far as I understand, for a few
cycle pulse there is a need to pay close attention to certain details ...
which I am not able to evaluate properly, but there has been a brief
exchange of messages on the subject in the mailing list in December, so you
may want to have a look at 

http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg03839.html

For what regards the dispersive properties of dielectrics, they are
supported in Meep by modelling them with a sum of a constant plus
Lorentzians. You can have a look here:

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

The tutorial is written for the libctl interface, I do not know if there
is an equivalent tutorial for the C++ interface but it is quite helpful
anyway. As a small note, as stated in the Meep documentation the terms
"omega" and "gamma" in the libctl Meep interface correspond to a frequency,
not an angular frequency (and in the tutorial
http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion
both forms of the dielectric function that appear at the beginning, after
the words "corresponding to the dielectric function: " do not correspond to
the material medium definition that is stated just before, the first
(epsilon as a function of omega) has both resonance frequency and damping
incorrect (it uses the ones that are defined in frequencies units in a an
expression with the angular frequencies), the second (epsilon as a function
of f) has the correct resonance frequencies but the dampings are wrong by a
factor of 1/(2*pi).

G.

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

[Meep-discuss] Superposing geometric objects in Meep

2011-01-13 Thread gpipc
Hi,

I have a question on what happens if one sets a list of geometrical
objects that occupy the same parts of space. For example, modifiying
slightly the first example in the Meep tutorial:

(set! geometry-lattice (make lattice (size 16 8 no-size)))

(set! geometry (list
(make block (center 0 0) (size infinity 3 infinity)
  (material (make dielectric (epsilon 12
(make block (center 0 0) (size infinity 1.5 infinity)
  (material (make dielectric (epsilon 6

)
) 

In this case I have verified that the last object is substituted for the
first object (the waveguide has a dielectric constant of 6 in the center
and 12 at the sides). But to avoid surprises, even if this seems very
trivial, could anyone confirm that this is the designed behaviour of the
program (a later object always substitutes a former object)? I did not find
a statement about it in the Meep reference, although I saw responses of
prof. Johnson in the mailing list that make sense if one assumes the above.


The point is that I want to create some cylinders with elliptical
cross-section, and looking at old posts I read that a way of doing this is
to create some ellipsoids with one very, very long axis (that will
correspond to the cylinder axis) and then taking a slice; and I would take
the slice just by making air blocks.

Thanks in advance for the answer.

Giovanni


-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Meep-mpi: hard limit of ~ 2e9 points?

2011-01-05 Thread gpipc
On Mon, 3 Jan 2011 10:53:57 +0100, Georg Wachter 
wrote:

> 
> gpipc wrote:
>> what resolution you need?
>>
> 
> I am not yet sure I am finished with the convergence study. Right now it
> looks like this:
> My nanostructure has a characteristic radius of curvature of ~ 50 nm,
but
> is
> much larger than that (um range). Since I'm only interested in an
estimate
> of the effects of  beam propagation near the structure, I obtain
reasonable
> looking results for quite coarse resolutions of ~ 12.5 nm. The maximum I
> can
> afford is ~ 4 nm, calculating on a cluster, with a simulation box of ~
> 5*5*3
> um and dispersive materials.
> 
> I get decent results for a 20 nm diameter nanosphere in two
>> dimensions (so it is actually a cylinder) with 0.5 nm resolution, but
>> they
>> do not seem to be enough for 3d (I am trying a calculation with 0.25 nm
>> resolution now). I compare the FDTD scattering efficiencies with Mie
>> theory.
>>


I need to make a big, big amend to my message above: there is no pressing
need for 0.25 nm resolution in 3d for a realistic gold model for a sphere
20 nm diameter at optical frequencies. In fact even a 1 nm resolution is
enoguh to get decent results (correct position of the plasmon peak, very
nice correspondence of the width, smooth scattering spectrum which follows
very nciely the trend of the Mie result - for leaving a precise record of
the situation I need to mention that I have more than 10% absolute error on
the scattering cross section yet, but that may perhaps be due to some
errors I am still making with the incident plane wave, I am not yet sure).
The problem I was having, and that was pushing me to increase the
resolution, was that the scattering spectrum had spurious oscillations
which could be confusd with additional resonances: and I figured out that
the reason why they were there is that the box I was using to calculate
scattering was too tight around the nanosphere (it had 30 nm side); I have
used now a box with 120 nm diameter and the spurious oscillations have
disappeared).

The level of detail of this message may be a little too much, but I did
not want to leave on the Internet a false statement on the resolution that
is needed to do this FDTD calculation.

> 
> I personally would be extremely careful with such high resolutions. At
0.25
> nm you are in the range where you have a single atom per pixel/voxel.
> Maxwell's Equations (in matter) are a macroscopic theory formulated for
> fields which should be considered averaged over many atom distances. I
> would
> not expect any classical electromagnetic theory to accurately describe
> experiments on this length scale.
> 

Ok, thanks. On the other hand the only result I am picking up from the
calculation is an integrated flux, so increasing the resolution cannot lead
to any inconsistency IMHO (otherwise analytical results, where the
resolution is infinite, would never make any sense).

Giovanni



-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Dielectric Function Parameters for gold

2011-01-05 Thread gpipc
On Wed, 5 Jan 2011 15:36:44 +0800, Towhidur Razzak 
wrote:
> Dear all,
> 
>I am trying to simulate light propagation through a gold
> nano-aperture. But I have not yet obtain a model of gold which can
reliably
> model gold in MEEP at optical frequencies.
> 
>It would be very helpful if any one of you can provide me with
> the *omega,
> gamma and sigma* parameters for gold. Thanks a lot in advance.
> 
> *Towhid*


Hi,
just for an idea, you could have a look at this paper

 Vial A, Grimault A-S, Maci­as D, Barchiesi D, de La Chapelle M. Improved
analytical fit of gold dispersion: Application to the modeling of
extinction spectra with a finite-difference time-domain method. Physical
Review B. 71, 085416 (2005).


For my calculations I have started out from that paper and made a few
adjustments for getting a good fit between 400 nm and 900 nm: I am using
the following Drude + two Lorentz terms 

Here in inverse seconds

Drude term
eps_infinity = 4.9752
omega_p = 2.1282e+15
gamma = 9.1942e+12

First Lorentz term

Delta_epsilon= 0.28 
Omega_L = 8.8712e+14 
Gamma_L = 3.1691e+14

Second Lorentz term

Delta_epsilon =  0.15158
Omega_L = 6.865e+14
Gamma_L = 1.7822e+14


With the following expressions for the Drude and Lorentz terms (in Matlab
notation)

epsilon_Drude = eps_infinity - omega_p^2./(f.*(f+1i*gamma));
epsilon_Lorentz =
-Delta_epsilon*Omega_L^2./((f.^2-Omega_L^2)+1i*Gamma_L*f);

(note that I use frequency, not angular frequency, but then I call the
frequency constants "omega" just like in the Meep tutorial)

Here is how they look scaled for a Meep length unit of 20 nm


(define gold  (make dielectric 
(epsilon 4.98)
(E-polarizations   
(make polarizability (omega 1e-10) (gamma 6.13e-4) (sigma (* .142 .142
1e20)))
(make polarizability (omega 0.0592) (gamma 0.0211) (sigma 1.76))
(make polarizability (omega 0.0458) (gamma 0.0119) (sigma 0.952))
)
)) 


Obviously with more Lorentz terms one can get an even better fit, but the
calculations become longer. Please let me know if there are mistakes :-)

Cheers,

Giovanni


-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Meep-mpi: hard limit of ~ 2e9 points?

2010-12-31 Thread gpipc
On Wed, 29 Dec 2010 01:36:54 +0100, Georg Wachter 
wrote:
> Hello,
> 
> For the simulation of small metal structures with meep, I unfortunately
> need
> a ridiculously high resolution, 


Hi Georg,
since we are working with a similar FDTD problem (simulation of small
metal structures) and the same program - Meep - would you mind telling a
bit more precisely what resolution you need? I am doing some
experimentation with scattering from a nanosphere and I have got the
impression that simulating accurately a *spectrally* sharper resonance one
needs a higher *spatial* resolution, does this make any sense? The only
bit
of information that I have at the moment regarding this is that if in a
Drude model for a metal I decrease the damping, then I need a better
spatial resolution to simulate with the same accuracy the scattering at
the
plasmon resonance. I haven't yet tried with structures different from a
sphere. Also, I have noticed that for the same model of the metal (same
Drude- Lorentz parameters) a 3d simulation requires higher resolution than
a 2d simulation.
Right now I get decent results for a 20 nm diameter nanosphere in two
dimensions (so it is actually a cylinder) with 0.5 nm resolution, but they
do not seem to be enough for 3d (I am trying a calculation with 0.25 nm
resolution now). I compare the FDTD scattering efficiencies with Mie
theory.

The point of all of this is figuring out what is the coarsest resolution
which gives decent results, and doing the "actual" simulations with that.


Giovanni





-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Meep-mpi: hard limit of ~ 2e9 points?

2010-12-29 Thread gpipc
On Wed, 29 Dec 2010 01:36:54 +0100, Georg Wachter 
wrote:

> 
> PS.: I would really like to see a possibility for having regions of
> different resolution in meep. This is The One Feature (for me) that
> commercial competitors have over Meep or any free electromagnetism
> software.
> Is there any interest that this might be implemented soonishly?


I, for one, would be interested. But I must admit that I do not have any
clue on how much effort it could cost developers to code this.

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Regarding Near field enhancement and Scattering cross section

2010-12-29 Thread gpipc
On Mon, 27 Dec 2010 18:05:57 -0800, Alex Swinton McLeod
 wrote:
> Giovanni,
> 
> It depends on what you are trying to do.  If you are simply interested  
> in an integrated flux quantity e.g. total scattered flux, then all the  
> tools you need are already built into meep, as you quote from the  
> tutorial.  Strictly speaking, this is sufficient to calculate  
> scattering and absorption cross sections.  In fact, I haven't actually  
> tried to cook up scheme code to do this directly for an example  
> geometry, but it shouldn't be too difficult!
> 
> On the other hand, if you're interested in looking at spatially- 
> resolved spectra (e.g. electric field as a function of (omega, x, y,  
> z)) you'll have to (to my knowledge) crank these out the way I  
> described, by manually loading and manipulating data saved in a  
> collection of H5 files.  While this "manual" method is less  
> straightforward, it allows maximum flexibility in data analysis.  One  
> of the coolest applications of this method is computing radiation  
> patterns using the scattered field spectra.
> 
> Good luck,
> Alex
> 


Hi,
thanks to you and prof. Johnson for the answer - I had a very vague
suspicion that the point was what you said (there was already a reference
to this thing in the first post of yours I quoted). BUt thanks for spelling
it out.

Giovanni





-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] Regarding Near field enhancement and Scattering cross section

2010-12-23 Thread gpipc
On Thu, 23 Sep 2010 18:38:22 -0700, Alex McLeod 
wrote:
> Hi Jack,
> 
> In regards to your questions about near-field enhancement and  
> scattering, I have some comments to make. 

(cut)

> 
> Also, note that using flux regions will only let you compute  
> absorption, since fluxes won't let you spatially resolve the radiated  
> fields.  The formula "E_scat=E_total-E_incident" is the conventional  
> way of "defining" the "scattered" part of the field distribution.   
> Since Maxwell's eqtns are linear, you know E_scat is induced only by  
> the charges in your geometry rather than by the source currents.  But  
> to obtain this, you have to apply that formula using the spatially- 
> resolved field distributions in each of the incident faces to get  
> E_scat, etc.  So, you need to output the in-plane fields in those  
> regions to HDF5 so you can load the data and do this calculation with  
> the spatially resolved fields.  Then, calculate and integrate the  
> resulting Poynting vector fluxes.  This is a NONTRIVIAL exercise, and  
> you will have to do some scripting to pull it off.  I have written an  
> API to accomplish this, which I'll be publishing as part of an  
> interface to Meep at www.nanohub.org under the title "Molecular  
> Foundry Nanophotonics Toolkit" (crediting S. Johnson et al.), so keep  
> an eye out for that in the coming months.
> 


Dear Alex and Meep users,
I have just read today this mailing list message posted last September and
I have a question. Isn't the procedure you describe accomplished by using
the save-flux and load-minus-flux commands (for each of the surfaces of the
box which includes the scattering object) in the libcl interface to Meep?
Let me quote from the Meep tutorial webpage


"Now, as described in the Meep introduction, computing reflection spectra
is a bit tricky because we need to separate the incident and reflected
fields. We do this in Meep by saving the Fourier-transformed fields from
the normalization run (no-bend?=true), and loading them, negated, before
the other runs. The latter subtracts the Fourier-transformed incident
fields from the Fourier transforms of the scattered fields; logically, we
might subtract these after  the run, but it turns out to be more convenient
to subtract the incident fields first and then accumulate the Fourier
transform. All of this is accomplished with two commands, save-flux (after
the normalization run) and load-minus-flux (before the other runs). "

What is the difference with the procedure you describe? Thanks in advance
for the answer,

Giovanni




-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

Re: [Meep-discuss] building MPI meep issues

2010-12-23 Thread gpipc
On Tue, 21 Dec 2010 16:46:51 -0500, Brock Palen  wrote:
> When trying to build the MPI version of meep I keep getting errors when
> trying to include libctl
> 
> ./configure --with-libctl=/tmp/libctl/
> --prefix=/home/software/rhel5/meep/1.1.1/par --with-mpi CC=mpicc
> LDFLAGS="-L$HDF5_LINK -L$GSL_LINK" CPPFLAGS="-I$HDF5_INC -I$GSL_INC"
> 

> 
> Any idea what is going on?  Looking online there appears to be some
issues
> with c compiling in g++ but I am not sure and if so how to fix it.
> 
> Thanks!
> 



I am not sure that it is the solution to your problem, but I run into
similar issues last week (unable to find libctl) and for my case the
solution was the following - assuming that one installs libctl in the
directory /home/install (just to make an example) then the right path to
pass to the configure script is /home/install/share/libctl

I am guessing here that your path /tmp/libctl/ is the installation path of
libctl, so if this is the case you should find a share/libctl directory
there too.


Cheers,

Giovanni


Message sent by Cup Webmail (Roundcube)


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


Re: [Meep-discuss] Problem linking to HDF5 - solved, with some questions remaining

2010-12-21 Thread gpipc
On Fri, 17 Dec 2010 18:59:59 +0100, gpipc 
wrote:
> Dear Meep users,
> I have compiled Meep on my personal computer in the office without
> problems; now I want to install Meep on a cluster (managed by someone
else)
> and I have a problem linking to some HDF5 libraries.

I answer to my own message to say - for the records - that I have managed
to complete the installation. For what regards the linking to the static
libraries, moreover, I realized that some environment variables that I was
using to point to the HDF5 libraries pointed specifically to the static
version, so I eliminated these more specific references. The further step
that solved the problem was to move all of the HDF5 libraries from their
installation directory (on which I don't have write permission) to a
subdirectory of my home directory and then point the linker to it; this got
the message that involved the .libs directory disappear. 

I guess from this that the Meep installation procedure needs write
permission not only on the installation directory but also on the
directories where the libraries reside. If anyone could confirm or deny
this, it would be good. Moreover if still someone would be willing to
explain me why I am not able to tell Meep that it must compile with static
libraries, it would also be good.

The configure line that I used is:

./configure CPPFLAGS="-I/home/cluster/pr26he/lu64qig/install/include 
-I/lrz/sys/libraries/hdf5/1.6.10_serial/include"
LDFLAGS="-L/home/cluster/pr26he/lu64qig/install/lib"  
--with-libctl=/home/cluster/pr26he/lu64qig/install/share/libctl/
--prefix=/home/cluster/pr26he/lu64qig/install --enable-static
--disable-shared

I have tried, I believe, all of the combinations of --enable-static
--disable-shared but never got the program to compile itself with static
libraries.

Giovanni


 
> More precisely I get these messages from make
> 
> *** Warning: Linking the shared library libmeep.la against the
> *** static library
/lrz/sys/libraries/hdf5/1.6.10_serial/lib/libhdf5_hl.a
> is not portable!
> 
> *** Warning: Linking the shared library libmeep.la against the
> *** static library /lrz/sys/libraries/hdf5/1.6.10_serial/lib/libhdf5.a
is
> not portable!
> 
> *** Warning: Linking the shared library libmeep.la against the
> *** static library /lrz/sys/libraries/hdf5/szip_2.1/lib/libsz.a is not
> portable!
> ar: /lrz/sys/libraries/hdf5/1.6.10_serial/lib/.libs/libhdf5_fortran.a:
No
> such file or directory
> make[3]: *** [libmeep.la] Error 9
> make[3]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1/src'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1'
> make: *** [all] Error 2
> 
> 
> 
> I am quite confused: the HDF5 in the cluster is configured with both
> static and shared libraries - relevant line of the libhdf5.settings file
> says
> 
> Libraries:  static, shared
> 
> and moreover a file libhdf5_fortran.a exists, but in the /lib directory,
> while a lib/.libs directory does not exist.
> 
> If I do make install, the messages are repeated identical, then the
> installations does not proceed.
> 
> Any hint? Thanks a lot in advance.
> 
> Giovanni

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

[Meep-discuss] libmeep.la : shared or static?

2010-12-20 Thread gpipc
Dear Meep users,
still regarding the problem of linking to the HDF5 libraries that I am
experiencing, I have become suspicious about the error message

Linking the shared library libmeep.la  against the
*** static library /lrz/sys/libraries/hdf5/1.6.10_serial/lib/libhdf5_hl.a
is not portable!


It says that libmeep.la is shared: but as far as I can understand the meep
libraries are built as static by default. I have even tried to configure
meep with both options --enable-static and --disable-shared at the same
time, but it did not make any difference. In the Meep installation guide I
read:

 --enable-shared
Install the meep libraries as shared libraries (i.e. dynamically
linked) rather than as static libraries. This is off by default because
shared libraries require the user to configure their runtime linker paths
correctly (see "Paths for Running" above). 



Just for reference, for the other error that I have been experiencing 

ar: /lrz/sys/libraries/hdf5/1.6.10_serial/lib/.libs/libhdf5_fortran.a: No
such file or directory

I have removed all the references to .lib from the depcomp file and now
the error does not appear anymore (even if I don't know what I am doing).
But I do not yet know if this has solved the problem, because I haven't yet
got the program to work.


Thanks in advance for any answer.

Giovanni






-- 

Giovanni Piredda
Postdoc - AK Hartschuh
o
Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

[Meep-discuss] Problem linking to HDF5

2010-12-17 Thread gpipc
Dear Meep users,
I have compiled Meep on my personal computer in the office without
problems; now I want to install Meep on a cluster (managed by someone else)
and I have a problem linking to some HDF5 libraries.

More precisely I get these messages from make

*** Warning: Linking the shared library libmeep.la against the
*** static library /lrz/sys/libraries/hdf5/1.6.10_serial/lib/libhdf5_hl.a
is not portable!

*** Warning: Linking the shared library libmeep.la against the
*** static library /lrz/sys/libraries/hdf5/1.6.10_serial/lib/libhdf5.a is
not portable!

*** Warning: Linking the shared library libmeep.la against the
*** static library /lrz/sys/libraries/hdf5/szip_2.1/lib/libsz.a is not
portable!
ar: /lrz/sys/libraries/hdf5/1.6.10_serial/lib/.libs/libhdf5_fortran.a: No
such file or directory
make[3]: *** [libmeep.la] Error 9
make[3]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/cluster/pr26he/lu64qig/meep-1.1.1'
make: *** [all] Error 2



I am quite confused: the HDF5 in the cluster is configured with both
static and shared libraries - relevant line of the libhdf5.settings file
says

Libraries:  static, shared

and moreover a file libhdf5_fortran.a exists, but in the /lib directory,
while a lib/.libs directory does not exist.

If I do make install, the messages are repeated identical, then the
installations does not proceed.

Any hint? Thanks a lot in advance.

Giovanni


-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

[Meep-discuss] Drude model for gold working, Drude-Lo rentz no ... why???

2010-12-13 Thread gpipc
Dear Meep users,
I would like to calculate the scattering cross-section of a gold
nanoparticle using Meep; with the method of hitting the nanoparticle with a
plane wave and calculating the flux exiting a box that completely surrounds
it. The calculation works reasonably if I model the nanoparticle with a
Drude model: I haven't yet tried to refine the spatial grid, shorten the
time step and so on but I get the scattering peak at the right position,
the width also nicely compares with the width for pure dipolar scattering. 
The trouble starts when I want to do a Drude-Lorentz model with two
additional Lorentz terms, in order to fit well the dielectric function of
gold from 400 to 900 nm. The simulation then refuses to produce the
expected scattering peak and the big rising shoulder at the blue side of
the peak that is expected in scattering from a gold nanosphere (I see those
in Mie calculations and also in a simple dipolar model).

I have tried to refine the time stepping, using a Courant factor of 0.1,
but it has not helped at all. The curious thing is that on the opposite a
two-dimensional model with the same parameters for the Drude-Lorentz model
seems to work also nicely.

The ctl file that I include here runs in about two hours on a rather fast
machine (using four cores with mpi) - so obviously I would not ask anyone
to run it ... but the point is, why does the model suddenly stop giving
reasonable results? 
I had a suspicion that I may *still* have too long of a time-step using
even the Courant factor of 0.1, but before trying this even longer
simulation I place my question here. 

Besides, I have also used the nice ctl file at
http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg03527.html to
verify my dielectric function, and that too seems correct.

Where could the problem be? Thanks in advance for any answer,

Giovanni





; This control file attempts to calculate the scattering from a dielectric
nanosphere; it calculates the outgoing flux from a closed surface
surrounding the nanosphere

(define-param s_cell_x 4) ; size of cell in X direction
(define-param s_cell_y 4) ; size of cell in Y direction
(define-param s_cell_z 4) ; size of cell in Z direction

(set! geometry-lattice (make lattice (size s_cell_x s_cell_y s_cell_z)))

(set! Courant 0.5)


; define parameter for the presence of the sphere
(define-param sphere_present? true)  ; if true, the sphere is present, if
false it is absent

; define parameters for the fluxes
(define cx-1 -.75)
(define cx0 0)
(define cx1 .75)
(define cy-1 -.75)
(define cy0 0)
(define cy1 .75)
(define cz-1 -.75)
(define cz0 0)
(define cz1 .75)

(define sx1 (* 2 cx1))
(define sx0 0)
(define sy1 (* 2 cy1))
(define sy0 0)
(define sz1 (* 2 cz1))
(define sz0 0)


; define gold
(define gold  (make dielectric 
(epsilon 4.98)
(E-polarizations   
(make polarizability (omega 1e-10) (gamma 6.13e-4) (sigma (* .142 .142
1e20)))
; note that this is how one does arithmetical operations in the language
Scheme. In the convention I use most often, * .14 .14 1e20 corresponds to
.14 * .14 * 1e20
(make polarizability (omega 0.0592) (gamma 0.0211) (sigma 1.76))
(make polarizability (omega 0.0458) (gamma 0.0119) (sigma 0.952))

)

))

(define Drude_material  (make dielectric 
(epsilon 1)   
(E-polarizations   
(make polarizability (omega 1e-10) (gamma 1e-3) (sigma (* .0377 .0377
3e20)))
; note that this is how one does arithmetical operations in the language
Scheme. In the convention I use most often, * .14 .14 1e20 corresponds to
.14 * .14 * 1e20
)

))


(set! geometry 

(if sphere_present?


(list
 (make sphere (center 0 0 0) (radius .5)
  (material gold)




;(make dielectric (epsilon 1)
; (E-polarizations 
;  (make polarizability
;(omega 1e-10) (gamma 1e-3) (sigma (* .0377 
.0377 3e20)

;)
; The parameters for the metal are chosen so that the resonance appears at
a normalized frequency of about .00377

))

(list
(make sphere (center 0 0 0) (radius .5)
(material (make dielectric (epsilon 1)
; case with no sphere (the dielectric constant is set to 1 so that there
is actually no sphere)
); end of if construct


); close parenthesis for !set geometry






; Set parameters for a gaussian source
(define-param fcen .0377) ; pulse center frequency
(define-param df .0377); pulse width (in frequency)

(set! sources (list
   (make source
 (src (make gaussian-src 
(frequency fcen) 
(fwidth df) 
(cutoff 5)))
 (component Ez)
 (center -.9 0 0)
 (size 0 s_cell_y s_cell_z) 

)))


(set! symmetries (list (make mirror-sym (direction Y


(s

Re: [Meep-discuss] Verification of material (Au) dispersion

2010-12-12 Thread gpipc
On Fri, 3 Dec 2010 16:42:11 +0100, "Marell, M.J.H." 
wrote:
> If I’m not mistaking , this only works for dispersive media of which the
> real part is positive, because for negative epsilon you just get
> exponential decay
> There is way to verify your material:
> http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg03527.html
> 
> Best regards,
> 
> Milan
> 
> 


Thanks for the nice example - I also have found the example in the
tutorial a bit confusing: as far as I understand it now, the material
definition given at the beginning of
http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion

(set! default-material
  (make dielectric (epsilon 2.25)
(E-polarizations 
 (make polarizability
   (omega 1.1) (gamma 1e-5) (sigma 0.5))
 (make polarizability
   (omega 0.5) (gamma 0.1) (sigma 2e-5))
 )))


should correspond to a dispersion function

epsilon = 2.25 + (1.1^2)*0.5/(1.1^2 - f^2 - i*f*1e-5) +
(0.5^2)*2*1e-5/(.5^2 - f^2 - i*f*0.1)

or in Latex notation



\varepsilon \left( f \right) = 

 2.25 + \frac{{1.1^2  \cdot 0.5}}{{1.1^2  - f^2  - if \cdot 10^{ - 5} }} +
\frac{{0.5^2  \cdot 2 \cdot 10^{ - 5} }}{{0.5^2  - f^2  - if \cdot 0.1}}



and not to the formula with the divisions by 2*pi as in the webpage.
Excuse me if I repeat something that has already been said but the point
seems rather important to me. Am I missing something simple or is the
formula for epsilon(f) that appears in the tutorial wrong?


Giovanni

-- 

Giovanni Piredda
Postdoc - AK Hartschuh

Phone: ++49 - (0) 89/2180-77601
Fax.: ++49 – (0) 89/2180-77188
Room: E2.062

Message sent by Cup Webmail (Roundcube)


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

[Meep-discuss] Best chip for multi-core performance of Meep?

2010-09-25 Thread gpipc
Dear Meep users,
I want to buy a new computer (or a small workstation if that will be the
best deal) for running numerical calculation - among which Meep. Maybe with
two processors, but first I want to get some information and orient myself
on the various options: if possible, I would like to get some hints on
which may be the best chip (given some reasonable price constraints) for
running Meep-MPI. I plan to run models with size of a couple of Gb.

I have asked around, and someone told me that, since a FDTD code needs to
read the whole field from RAM at every cycle, then the most important
consideration for a fast system is actually RAM speed; and second the
processor should be somehow adapted to the speed of the memory, requesting
RAM data at exactly the same speed at which RAM is able to supply them: if
the processor asks data more quickly than that the result is worse
performance. Can someone confirm/comment on this? 

The second consideration, that I saw in a past thread on Meep-discuss
(http://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/msg02357.html)
is that MPI is not designed in particular for multicore systems, that have
shared memory, but for multiprocessor systems in which each processor has
its own memory (or a separate connection to the memory, I have not
understood well). In fact for the about 1 Gb model that I am running now,
using OpenMPI (the one that I found pre-installed on the Macbook Pro I own:
I haven't yet checked how things work if I install the current version of
OpenMPI) on a Core2 duo, I get a very small performance improvement with
respect to the single processor Meep (each step runs in about 0.75 seconds
with two processes rather than 0.80 seconds on the single-processor
version). I read in that thread that Corei7 processors should be
substantially better from that point of view. Can someone comment? Should
one go for a Corei7 or a Xeon processor?

Thanks in advance,

Giovanni



Message sent by Cup Webmail (Roundcube)


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