Giter Club home page Giter Club logo

a-dda's People

Contributors

fabiods avatar mapclyps avatar myurkin avatar

Watchers

 avatar

a-dda's Issues

Radiation forces in surrounding medium

Explain the transformation of the radiation forces due to the surrounding
medium in the manual. 

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:51

  • Blocking: #91

Convex hull shape option

Implement convex hull algorithm into shape generator to enable much wider
variety of automatically generated shapes. The idea and sample code were
given by Roman Schuh.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:20

Optimize calculation of Csca and g

Use weighting function for integration of scattered fields to obtain Csca
and g. Take into account at least the diffraction peak. This is similar to
what is currently done in DDSCAT.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 6:53

Revise calculation of Cabs

Study different formulations for Cabs, especially for very large refractive
index. Also check, how cross sections should be calculated in the FCD
framework.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 6:33

New particle shapes

Implement general shapes like 'coated ellipsoid', 'boxsphere', 'spherebox'
with a lot of input parameters. It may be also implemented as a arbitrary
composition of basic shapes.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:04

Saving of amplitude scattering matrix.

Implement saving of amplitude matrix (versus scattering angle) to file
(together with Mueller matrix).

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 7:01

Optimize accumulation of alpha

Optimize accumulate function (parallel communication) when averaging over
alpha angle. Do all communication at once and do not use unnecessary memory
(Eplane <=> ampl_alpha).

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:23

Improve checkpoints

Further develop the checkpoint system. Extend it to calculations of two
polarizations and orientation averaging. 

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 7:09

Euler angles definition

Add specific definition (with figures) of the used notation for Euler
angles in the manual.


Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:49

Timing for matrix-vector product

Add timing (in standard timing regime) for MatVec function. It will help
further optimizations of FFT and related code.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:22

Make manual citeable

Implement citation of the manual independently of the code, through e.g.
arxiv.org.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:47

FFTW upgrade

Implement certain parts of the code using MPI functions in FFTW 3.2 (3.3
alpha), either the whole 3D FFT transforms, or local and MPI transpose
operations.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:15

Memory in prognosis

Ensure that when -prognosis option is used, minimum memory is allocated in
make_particle(). Or think of some way to avoid memory allocation
altogether, i.e. implementing something like 'approximate quick prognosis'.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:19

Multi-grid DDA

Implement multi-grid DDA, according to the ideas of Vitezslav Karasek, for
simulation of clusters of particles, which are at considerable distances
from each other.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:34

Radiation forces

Completely rewrite calculation of radiation forces using FFT. Add its
memory requirements to -prognose estimates, and perform other integration
into the code.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:18

One polarization per orientation

Reformulate orientation averaging so that only one incident polarization
per orientation is simulated.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:24

Extended shape information

Save more information about the shape, when using -save_geom.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:01

New iterative solvers

Implement new iterative solvers, e.g. 2-term QMR (its complex symmetric
variant). Should improve performance for very slow convergence.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 7:06

Calculation for a spectrum of wavelengths

Implement convenient simulation of spectrum, either inside of ADDA, or with
a separate script. Possibly optimize calculation by simultaneous solving
for many wavelength values in one iterative sequence  (should be especially
relevant in case of Rayleigh particles).

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:05

Incident angles specification

Implement specifying incident propagation direction by two angles instead
of Cartesian coordinates of the vector of incidence.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:27

Optimize MPI operations

Several possible ways to optimize MPI part of the code: 1) use one buffer
for all MPI communications; 2) possibly use MPI_ALLTOALL and 'derived
datatypes' for block_transpose; 3) use 'persistent communication requests'
for repeated communications.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 6:49

Shared-memory execution

Optimize ADDA for shared memory hardware (e.g. multi-core processors),
using standard MPI functions and/or OpenMP directives.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:13

Revise 'box' shape

Possibly revise the definition of box in 'box' and 'spherebox' shapes.
Think about different alternatives.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:03

Near field calculation

Think of a convenient way to calculate near field in a number of points or
on a grid around the particle. Possibly implement calculation of the
B-field together with E-field.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:13

  • Blocked on: #90

Add DDA formulation command line option

Add command line option to choose the whole formulation (like FCD, SO, LDR,
etc.), which will be equivalent to a combination of options -pol, -int and
-scat. However, the possibility to use old options or a combination of new
and old ones should remain.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 7:07

Enhance orientation averaging

Implement calculation of scattering for the 2D grid of scattering angles
(and asymmetry parameter) in combination with orientation averaging. This
can be useful when orientation is not completely random.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:14

Optimize calculation of the scattered fields

Further optimize calculation of the scattered field, according to the ideas
of R. Scott Brock. In parallel mode distribute internal fields evenly
between processors (MPI_ALLTOALLV). 

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 6:39

Describe code features

Add description of features (capabilities) in the manual and on the web site.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:48

Scattering order formulation

Implement SOF (Born series) as a iterative solver (with controlled number
of iterations). It can be used, e.g., to simulate RDG results.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:26

Sphere quadrature for orientation averaging

Implement orientation averaging using quadrature over sphere surface,
according to ideas of Antti Penttila.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:16

Describe adding new beams and command line options

Add a description in the appendix of the manual, how to add new incident
field option in the code. Also add corresponding comments to the code. Do
the same for adding command line options.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 6:43

Input of electric fields

Implement reading of initial field for iterative solver and incident
electric field from file. This will enable any incident field and allow
more flexibility in complex simulations. For instance, to adaptively
decrease dipole size reusing previous results.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 6:27

Binary shape format

Implement binary format for shape files, which can save space tremendously
for homogeneous particles.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:56

Accurate memory counting

Make memory accounting more accurate, include non-major contributions and
take into account dynamic allocation/deallocation.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:34

Communication time of iterative solver

Compute the total communication time during the iterative solver, since the
last iteration is not always representative.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:24

Determine void dipoles

Analyze dipoles with refractive index equal to unity and make them void in
the beginning of the program. Also find out why the simulation fails now
when m=1 is specified; probably somewhere there is division over zero.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 7:05

Rewrite implementation of -jagged option

Rewrite implementation of the -jagged option, so everything is done in the
end of make_particle(). Then everything else will be automatically
compatible with it. Also optimize the main cycle in make_particle.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 6:52

Reduced D matrix

Optimize storage of D matrix to use less memory (at least in sequential mode).

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:36

Improve residual estimation

Check calculation of residual inside the iterative solvers. Maybe it would
be more accurate to recalculate it at the end.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 7:08

Single polarization calculation

Implement simulation for single given incident polarization (complex
amplitude). It will cut down simulation time twice for certain applications.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 6:55

Testing scattering matrices

Implement Van der Mee & Hovenier test on the Mueller matrix. Probably makes
real sense only for the results of orientation averaging.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:36

Continuous polarizability

Implement continuous polarizability (not discrete values, as now), change
-read format accordingly. Possibly implement full tensor of polarizability.
This will open way to many new features, in particular Weighted Discretization.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:16

Planning of calculations using the shape

Implement optimizations based on the analysis of the shape (position of
real dipoles on the grid) to decrease tests and indirect indexing in
MatVec, CalcField, etc. It is not clear, how exactly to do it.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:27

Overflow of clock

Try to avoid overflow of 'clock' function when run in a sequential mode.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:24

Rayleigh limit

Implement special Rayleigh mode, which enables some simplifications (like
using CG iterative solver and calculating only total polarizability
tensor). Use additional symmetries of the particle (rotation around y and x
axes by 90 degrees). See ideas of Budko & Samokhin (2005) for iterative
solvers. Also think, how to calculate the total static polarizability
tensor of the particle, using three different incident polarizations.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:10

DDA vs. FDTD comparison

Mention in the manual and/or on the web site the current state-of-the-art
in DDA vs. FDTD comparison. Reference the recent Optics Express paper.

Original issue reported on code.google.com by yurkin on 25 Nov 2008 at 9:09

Optimize matrix-vector multiplication

Optimize arithmetic operations in the MatVec function, especially the
middle one (Arithm3).

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:32

Automatic testing of releases

Implement automatic testing of releases with a wide range of command line
options. Results of simulations should be automatically parsed and compared
to fixed references. This should decrease the chance of introducing new
bugs into old parts/features of the code during further development.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 6:54

Second Order formulation

Further develop SO formulation, bring it out of the development phase.

Original issue reported on code.google.com by yurkin on 24 Dec 2008 at 7:13

Add polarizability prescriptions

Implement all possible polarization prescription, at least those that are
easy to do (DGF, LAK, a1-term, etc.). Think about other existing
possibilities for -scat and -int options.

Original issue reported on code.google.com by yurkin on 26 Nov 2008 at 8:17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.