Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Near-to-far-field transformation #18

Merged
merged 8 commits into from
Mar 28, 2015
Merged

Near-to-far-field transformation #18

merged 8 commits into from
Mar 28, 2015

Conversation

stevengj
Copy link
Collaborator

This PR implements near-to-far-field transformation via DFT chunks. Basically, it lets you add DFT chunks for surface(s) surrounding your source (or at least capturing the outgoing radiation in the direction you are interested in), collects the Fourier-transformed tangential fields on these surfaces, and then provides a function to compute the far-fields (technically near fields too) at any point outside these surfaces (via the equivalence principle). You can also save the far fields on a grid of points to an HDF5 file.

Both 2d and 3d Green's functions for arbitrary homogeneous scalar ε and μ are supported (but not other forms of periodic Green's functions, e.g Bloch-periodic Green's functions are a tricky case to implement, although Homer Reid has implemented such Green's functions in SCUFF-EM and we could probably crib off him if necessary).

This is an efficient way to implement something like this (see discussions in #8 and Arthur-Thijssen/MEEP-actt#1), and it parallelizes.

Documentation and tutorials are being prepared, but meanwhile the PR includes a fairly careful test case that passes in both 2d and 3d.

stevengj added a commit that referenced this pull request Mar 28, 2015
Near-to-far-field transformation
@stevengj stevengj merged commit 293b676 into master Mar 28, 2015
@stevengj stevengj deleted the near2far branch March 28, 2015 03:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant