Re: [Meep-discuss] Computer
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
> > 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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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?
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
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, Macias 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?
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?
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
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
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
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
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?
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
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???
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
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?
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