Commit Graph

270 Commits

Author SHA1 Message Date
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
5033472342 Use ravel instead of flatten where possible 2017-05-20 21:22:28 -07:00
43d1464258 Remote pyplot.hold
It's deprecated now
2017-05-20 21:21:50 -07:00
7cbbaedcdb bump version number 2017-04-19 23:18:09 -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
b8e9ec2b07 Bump version number 2016-08-04 22:55:46 -07:00
jan
068e0c7c93 Update README with solver and example information. 2016-08-04 22:55:24 -07:00
jan
e3a0846a14 Remove extra space 2016-08-04 22:53:27 -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
jan
85880c859e Comment cleanup 2016-07-18 21:10:20 -07:00