JuliaWaveScattering / MultipleScattering.jl

A Julia library for simulating, processing, and plotting multiple scattering of waves.
Other
46 stars 12 forks source link

Basis function should return a vector #27

Closed arturgower closed 5 years ago

arturgower commented 5 years ago

Currently the outgoing_basis_function and regular_basis_function return a function, say basis, where basis(m, x) is the basis function evaluated at the order m and position x. This is awkward because the different ways to add basis(m, x) over m depends on the physics and spatial dimension. Things need to be rewritten so that, for example, outgoing_basis_function should return either a vector evaluated over all m smaller than a certain order, or return a function basis, where basis(max_order, x) is a vector.

For current code examples see: general and acoustic regular waves.

arturgower commented 5 years ago

Also, it is often much more efficient to calculate all orders m of a special function (for example bessel functions) in one go. Meaning structuring the code in this way will allow us to make more efficient code.