-
Notifications
You must be signed in to change notification settings - Fork 632
/
TODO
43 lines (28 loc) · 1.5 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Skewed bloch periodic boundary conditions for non-orthogonal unit cells
Discrete rotational symmetry in cylindrical coordinates.
Second-order accurate subpixel smoothing scheme for
dispersive materials with complex permittivity.
Support 3d (r,phi,z) cell, where m is "Bloch wavenumber"
-- gives 6-fold (and n-fold) symmetry as side effect
-- allows computation of bent photonic-crystal waveguides
Implement transparent boundary conditions to back PML layers, so that
glancing-angle waves can be absorbed.
Re-entrant functions: foo(vec&) arguments should be foo(vec&, void*)
where the second argument can be used to pass state (instead of global
vars).
Use proper PML for cylindrical coordinates, rather than quasi-PML.
Use more-stable algorithm for dispersive media.
Make sure epsilon and other material properties respect symmetry,
periodic boundaries, etc.?
Remove monitor point class (redundant with HDF5 output, DFT volumes?).
Rename fields::initialize to fields::add_to_fields or something like that,
and allow specifying a geometric_volume.
Support Pade approximates (libpadespectrum) for Fourier and modal analysis.
Check sensitivity to rounding error and if there is a better way to handle:
structure.cpp:555 (PML region boundaries)
vec.cpp:560 (interpolation weights)
anisotropic_averaging: 79 (magnitude of normal vector)
-------------------------
Python & Scheme Interface
Need a way to reset epsilon when restarting, and also phasing support.
Support arbitrary-shaped sources.