Hello all,

I would like to be able to define a function in my ctl file to declare a plane across which the DFT is accumulated (and stored in an hdf5 file) at every point at a single frequency. So for a 10x10 plane with resolution 10, there would be 100x100xN complex data points in my hdf5 file, where N is the number of time steps (also to be specified via (at-every) or something).

Examining the C++ interface, I see that field::add_dft is the sort of thing I need. However, I am unsure of how to expose this using the SWIG interface. I know I need to do something like (new-meep-dft- chunk...) and then define this somehow with (meep-fields-add-dft c plane freq freq 1 false), where c is the component and plane is a 2D (volume) type. Am I along the right lines here? How can I mix this with a (to-appended ) command to get the hdf5 file? Could someone help with the nuts and bolts? Shall I abandon ship and use the C++ interface?

Of course, I could just declare something like:

(to-appended "p1" (at-every 0.075 (in-volume (volume (center 0 0 0) (size 10 10 0)) output-efield-x)))

and then analyse using post processing, but more than a few of these swiftly fills up a hard disk (when each file can be a few GB). I am also aware that a CW source at the same frequency can provide essentially the same information, but again this becomes tedious for more than a few frequencies of interest. Any help would be gratefully received,

Kind regards,

Ian Buss

---------------------------
Research PhD Student
Photonics Group
Dept. of Electrical & Electrical Engineering
University of Bristol
Rm 2.11, Queen's Building
University Walk
Bristol
BS8 1TR

email: [email protected]




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

Reply via email to