8e634e35df
Add experimental source types
2019-07-09 20:13:31 -07:00
4c2035c882
Add m2j() function
2019-07-09 20:13:07 -07:00
d462ae9412
unvec to (3, *shape) rather than list-of-ndarrays
2019-07-09 20:12:48 -07:00
2acbda4764
Force slices to be a tuple
2019-07-09 20:12:03 -07:00
3a5d75cde4
fix typo
2019-07-09 20:11:45 -07:00
2b3a74b737
Fix waveguide source computation for different polarities etc.
2019-07-09 20:11:32 -07:00
5dd26915fc
wavenumber correction must take dx into account
2019-07-09 20:09:12 -07:00
c3f248a73c
Clarify beta=wavenumber
2019-07-09 20:08:44 -07:00
001c32a2e0
Partially fix arbitrary mode phase
2019-07-09 20:08:33 -07:00
41cd94fe48
More detailed logging
2019-07-09 20:07:44 -07:00
c7d4c4a8e6
Add callback for block mode solve progress
2019-07-09 20:07:13 -07:00
1f9a9949c0
Clarify memo and cleanup
2018-01-15 22:44:59 -08:00
323bcf88ad
Propagate mu correctly
2018-01-15 22:44:26 -08:00
ee9abb77d9
Fix approx_inverse operator
2018-01-15 22:44:14 -08:00
c1f65f61c1
Use pyfftw if available
2018-01-15 22:43:59 -08:00
e8f836c908
Cleanup
2018-01-15 22:43:33 -08:00
0e47fdd5fb
randomize imaginary part of starting vector
2018-01-09 00:00:58 -08:00
e02040c709
fixes and clarification
2018-01-08 23:33:22 -08:00
c4cbdff751
cleanup
2018-01-08 23:28:57 -08:00
4067766478
use own CG implementation
2018-01-08 17:01:44 -08:00
47dd0df8bc
fix operator test
2018-01-08 11:59:00 -08:00
66712efd49
scipy L-BFGS silently converts to float, so view as floats when dealing with it.'
2017-12-27 01:44:45 -08:00
85030448c3
Use L-BFGS instead of CG, and remove rayleigh iteration refinement
...
scipy CG doesn't seem to converge as well as L-BFGS... worth looking
into later
2017-12-21 20:11:30 -08:00
16f97d7f6b
Add ability to set bounds for find_k
2017-12-18 00:13:29 -08:00
f312d73503
Return real part of the gradient
2017-12-17 22:55:55 -08:00
39979edc44
implement eigenvalue algorithm from Johnson paper. Could also use arpack + refinement, but that's also slow.
2017-12-17 21:33:53 -08:00
4a9596921f
rename search_direction to direction
2017-12-17 21:32:59 -08:00
000cfabd78
switch fft, ifft
2017-12-17 21:32:29 -08:00
d09eff990f
Update Rayleigh quotient iteration to allow arbitrary linear operators
2017-12-17 20:51:34 -08:00
4aa2d07cef
Add Bloch eigenproblem
2017-12-14 11:36:08 -08:00
6503b488ce
add farfield.py
2017-11-07 14:52:05 -08:00
4bf8627611
clarify beta -> wavenumber
2017-11-07 14:50:30 -08:00
73e3fa18b1
fix cylindrical operator
2017-10-17 13:01:36 -07:00
ea04fc42be
Fix switched args
2017-09-25 00:10:01 -07:00
a4616982ca
Add cylindrical coordinate 2D modesolver code
2017-09-24 22:28:39 -07:00
bacc6fea3f
Move eigensolver code out to separate module
2017-09-24 22:28:08 -07:00
001bf1e2ef
Clarify eigensolver documentation
2017-09-24 19:14:30 -07:00
17fa2aa3d3
In-place normalization during eigensolve
2017-09-24 19:13:37 -07:00
7342c8efd7
Use ravel instead of flatten for vec()
2017-09-24 19:13:10 -07:00
d3c22006bd
ie -> i.e. (docs)
2017-09-24 19:12:48 -07:00
c14298484d
Fix eigenvalue solver for complex matrices
2017-09-24 19:11:56 -07:00
6748181f8f
use logging module for progress reports
2017-05-20 21:23:18 -07:00
9d33744427
Fix docstring for rotation
2017-05-20 21:22:43 -07:00
5033472342
Use ravel instead of flatten where possible
2017-05-20 21:22:28 -07:00
48ddd9f512
Switch to C-ordered arrays
2017-03-26 18:22:12 -07:00
1e80a66b50
add fdtd and test
2017-03-05 17:20:38 -08:00
jan
bb53ba44e0
fix spacing
2016-10-31 18:43:01 -07:00
jan
6a56b081e4
add some missing type annotations
2016-10-31 18:42:51 -07:00
jan
685de70af0
Add PECs/PMCs to feature list
2016-08-04 23:05:11 -07:00
jan
ec674fe3f4
Add solvers submodule and clean up examples.
...
Solvers submodule includes a generic solver in case you already have a
sparse matrix solver, or in case you have no solver at all.
Example file now uses alternate solvers if available, and has a nicer
way of picking which solver gets used.
2016-08-04 22:46:02 -07:00