Hi,

1. MEEP is a general tool, but not always the best choice. For calculating the near field around spherical particles the best choice is to implement some code according to Bohren & Huffman "Absorption and Scattering of Light by Small Particles". This takes 2 hours, maybe one day. By this you will have a tool at hand which can give you results within minutes.

2. If you do not want to specialize and want to do everything with MEEP, you can simply run your calculation with monochrome excitation and wait and wait, but in the end you will get your results.

3. You really want to do the calculation with just one run. In this case you will have to:
a1) make sure, that your ctl-file works for complex fields
a2) determine the longest relevant run-time
a3) be sure, that everything converges
b) use complex fields
c) save the fields, in which you are interested in at every DT time steps, this will give you N=T/DT files for each field, where T is the entire run-time. This might result in quite some data volume
d) load the relevant field from the first file (j=1)
e) extract the relevant complex field at position (x,y,z)
f) repeat steps d)-f) with the next file (j=j+1) until you have extracted the field at (x,y,z) from all N files. This will give you a vector with N entries g) make a Fourier transform with this vector, this will give you the field at (x,y,z) at N different frequencies (going roughly from -Npi/T up to Npi/T, the exact details depend on the implementation of the Fourier transform) So the run-time (which is given by step a2)) and the highest frequency in which you are interested in determines the time step DT and hence the number of field files, which will occupy your hard disk h) Repeat steps e)-h) with all spatial coordinates (x,y,z), in which you are interested
now you have the complex fields at all relevant coordinates
i) perform the same stuff with the referenence geometry (empty space)

Please note:
the gaussian pulse excitation might have a form of Gauss*exp[-i omega_0 t]
Consider that such a pulse propagates in free space and that your are perfoming all the stuff mentioned above. When you calculate the field at the different frequenices (going roughly from -Npi/T up to Npi/T), most of your field vector will be zero, since your nonvanishing amplitudes are all centered around omega_0.
You can avoid this by inserting step e2) directly after step e)
e2) multiply the field with exp[i omega_0 j DT]
By this you will center the Fourier transfomed spectrum around omega_0, so your frequencies will range roughly from omega_0-Npi/T up to omega_0+Npi/T. In this case you will need much less files, since you won't require such a high resolution (DT).

I hope this helps and I suggest again considering point 1.

Best regards,

Stephan.

PS: I never tested 3., but this is the way which I would go. Furthermore, I guess that there are some bugs in 3., but I hope that the basic idea is clear.

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to