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