-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implementation of point-dipole incident field (issue 149). Should wor…
…k both for free space and in the presence of surface (dipole should be above the surface). Controlled by new beam type: '-beam dipole <x> <y> <z>', dipole is assumed to have unity amplitude with direction, given by '-prop ...' command line option (e_z by default). To do this the logic in interaction.c/h was significantly modified. Now two types of functions are defined (visible outside) for both direct and reflected interaction, accepting either integers (in units of d, used for filling interaction matrix) or real values (in um, useful for other applications, such as incident dipole field or nearfields). Thus the whole existing machinery of interaction.c/h (all formulations, numerical routines, etc.) can easily be accessed from other parts of the code. - internally, those functions are usually wrappers which reuse most of the code by calling inline functions. - some of the interaction formulations (igt_so and so) are incompatible with arbitrary real arguments, since they are tightly linked to existing tables. If used they produce a careful exception (new flag InteractionRealArgs added for that). - computing reflected Green's tensor (based on Sommerfeld integrals) was split into modules, including the tabulation. Now further optimization efforts can be directed precisely. Still a lot to do - to test, integrate (add exceptions) to other parts of ADDA, add enhancement rates (radiative and non-radiative) to the output. Other (related) changes: - a number of exceptions with respect to combination of different beam types, -prop, and -surf were moved from VariablesInterconnect to InitBeam. Now they are more accurate. - beam info for Gaussian beam was made more uniform. For centered beams, "Center is in the origin" was changed to "Center position: (0,0,0)". - new functions cSymMatrVecReal and cReflMatrVecReal in cmplx.h - version incremented to 1.3b2. - test suites in tests/2exec/ were updated to include new features.
- Loading branch information
Showing
11 changed files
with
412 additions
and
167 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.