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
jan
85880c859e
Comment cleanup
2016-07-18 21:10:20 -07:00
jan
8daab636ea
Cleaner conductor implementation
2016-07-03 23:56:54 -07:00
jan
a3dac5c8f8
Add e2h PMC arg, and clarify comments
2016-07-03 16:55:51 -07:00
jan
e288e59021
PEC and PMC for all wave operators
2016-07-03 16:45:38 -07:00
jan
16bd864e90
Remove unused import
2016-07-03 14:22:39 -07:00
jan
02ec6d67d6
Fix function case
2016-07-03 03:01:01 -07:00