Commit Graph

283 Commits

Author SHA1 Message Date
ecaf9fa3d0 Test code for cylindrical wg modesolver 2019-07-09 20:21:14 -07:00
099966f291 Add poynting vector and divergence 2019-07-09 20:20:49 -07:00
a8a5a69e1a Eliminate iterations over lists (assume ndarray instead of list of ndarrays) 2019-07-09 20:20:05 -07:00
557e748356 Reduce number of allocations during maxwell curls 2019-07-09 20:19:35 -07:00
9d1d8fe869 Improve wisdom management 2019-07-09 20:13:49 -07:00
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
jan
1f9a9949c0 Clarify memo and cleanup 2018-01-15 22:44:59 -08:00
jan
323bcf88ad Propagate mu correctly 2018-01-15 22:44:26 -08:00
jan
ee9abb77d9 Fix approx_inverse operator 2018-01-15 22:44:14 -08:00
jan
c1f65f61c1 Use pyfftw if available 2018-01-15 22:43:59 -08:00
jan
e8f836c908 Cleanup 2018-01-15 22:43:33 -08:00
jan
0e47fdd5fb randomize imaginary part of starting vector 2018-01-09 00:00:58 -08:00
jan
e02040c709 fixes and clarification 2018-01-08 23:33:22 -08:00
jan
c4cbdff751 cleanup 2018-01-08 23:28:57 -08:00
jan
4067766478 use own CG implementation 2018-01-08 17:01:44 -08:00
jan
47dd0df8bc fix operator test 2018-01-08 11:59:00 -08:00
jan
66712efd49 scipy L-BFGS silently converts to float, so view as floats when dealing with it.' 2017-12-27 01:44:45 -08:00
jan
a70687f5e3 add bloch example 2017-12-21 20:11:42 -08:00
jan
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
jan
16f97d7f6b Add ability to set bounds for find_k 2017-12-18 00:13:29 -08:00
jan
f312d73503 Return real part of the gradient 2017-12-17 22:55:55 -08:00
jan
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
jan
4a9596921f rename search_direction to direction 2017-12-17 21:32:59 -08:00
jan
000cfabd78 switch fft, ifft 2017-12-17 21:32:29 -08:00
jan
d09eff990f Update Rayleigh quotient iteration to allow arbitrary linear operators 2017-12-17 20:51:34 -08:00
jan
4aa2d07cef Add Bloch eigenproblem 2017-12-14 11:36:08 -08:00
jan
6503b488ce add farfield.py 2017-11-07 14:52:05 -08:00
jan
4bf8627611 clarify beta -> wavenumber 2017-11-07 14:50:30 -08:00
73e3fa18b1 fix cylindrical operator 2017-10-17 13:01:36 -07:00
a4cc963953 bump version number 2017-10-17 12:58:15 -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
jan
17fa2aa3d3 In-place normalization during eigensolve 2017-09-24 19:13:37 -07:00
jan
7342c8efd7 Use ravel instead of flatten for vec() 2017-09-24 19:13:10 -07:00
jan
d3c22006bd ie -> i.e. (docs) 2017-09-24 19:12:48 -07:00
jan
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