yogevb / a-dda

Automatically exported from code.google.com/p/a-dda
0 stars 0 forks source link

near field for all beam types #126

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The nearfield program should support all the adda beam-types.

Original issue reported on code.google.com by fabio.de...@gmail.com on 2 Feb 2011 at 3:46

GoogleCodeExporter commented 9 years ago
The main problem is that using IncBeam files produced by ADDA won't help, since 
they contain only the field on the dipoles themselves. There is a workaround by 
using ADDA with a larger computational box (with a lot of void dipoles), e.g. 
defined by "-grid ... ... ...", and command line options "-store_beam 
-prognosis". This will have bearable computational time, since no simulations 
are performed, but will required careful planning to match the position of void 
dipoles to the points of interest used in near_field.

Apart from this workaround, the near_field package needs access to a routine to 
calculate the same incident field, as used in ADDA, at any point in space. I 
can think of several ways to do it.

First, both ADDA and near_field can rely on an external routine to calculate 
the Gaussian beam. Issue 89 can provide a solution for this (using external 
Fortran routines), but it still needs to be done. 

Second, ADDA may be modified to accept a special command line option to 
calculate incident beam at a set of points provided by a separate file. It may 
be implemented even by a standalone executable file.

Third, there are options like calling ADDA functions from near_field package, 
but this will require more close integration of the two. In this case, it 
probably makes more sense to integrate near_field package completely into ADDA, 
which is yet of low priority.

Original comment by yurkin on 2 Feb 2011 at 6:18

GoogleCodeExporter commented 9 years ago
When using ADDA and nearfield for arbitrary beam (using '-beam read ...'), the 
simplest workaround is to run nearfield without Einc flag (to produce only the 
scattered field) and combine the result manually with the incident field 
(computed for the same set of points).

Original comment by yurkin on 22 Jan 2013 at 5:50