Marek Nečada
e7f0e0131f
Basic branch selection functionality for incomplete Γ.
...
No modifications with effects on Ewald sums done yet.
Former-commit-id: e362341713ce306482386b9e6f2a48c336fad7a1
2019-10-06 01:30:29 +03:00
Marek Nečada
2dd9fe2f34
Minor stuff.
...
Former-commit-id: c0de35f6a52ce4cc4f34cf4b417364d92e8dac4d
2019-10-05 20:38:04 +03:00
Marek Nečada
aa86fcfb08
Expose low-level scalar Ewald sums via cython.
...
Former-commit-id: 9910decff1e8e91c802f0f8d10573ec430dda468
2019-10-03 00:52:14 +03:00
Marek Nečada
2d891be12f
ewald.h cleanup
...
Former-commit-id: c02360cfa9df1dac06897883115cafc98a912107
2019-10-02 20:11:25 +03:00
Marek Nečada
0239a3c9a1
Fix memset size in Mie T-matrix generator.
...
Former-commit-id: 244dad82dec42fdc1e08cc12205e373711465622
2019-10-02 17:53:01 +03:00
Marek Nečada
79e6c47f94
Beyn integration contours to pxd
...
Former-commit-id: d33de9a694ea7d5600a627062c7119e8483d753e
2019-10-01 11:52:29 +03:00
Marek Nečada
c7f2e32ee4
Free unfinished PGens from Ewald sums.
...
Also replace some bare `if (xxx) abort();` with
`QPMS_ENSURE_SUCCESS(xxx)`.
Former-commit-id: d4712292fe0f9fb397cf3a490131bcb37d542fa6
2019-10-01 11:29:15 +03:00
Marek Nečada
7e74cb100c
Experimental speedup by earlier cutoff for Ewald summation.
...
TODO check whether PGen is properly destroyed
Former-commit-id: db2c64292b9c1bd80e97255bf71e570385b409a4
2019-09-30 17:57:06 +03:00
Marek Nečada
f940e62e52
Test and fix the rounded half-ellipse contour..
...
Former-commit-id: 448c30d375b3f9d0abab9442ae00bfcd123e5cb9
2019-09-30 08:53:57 +03:00
Marek Nečada
d6084f3264
WIP Alternative integration contour (untested)
...
Former-commit-id: c82da58ac33364797d7175a69feed475184937d9
2019-09-29 22:32:53 +03:00
Marek Nečada
2e7b925be2
WIP trying to fix the half-ellipse contour.
...
Former-commit-id: cbba6fffacbb38322a590478899f38c7d7dafe8e
2019-09-26 11:36:41 +03:00
Marek Nečada
b3c3eeb2a2
Fix derivatives in integration contours.
...
Former-commit-id: 7575a69a82eb19126aaac9aede9f170815b6015a
2019-09-26 10:09:35 +03:00
Marek Nečada
2fcc6282fa
"Half-ellipse" integration contour.
...
Former-commit-id: 800079fba837d65f84af62d5adfad177a6aa3cdf
2019-09-26 10:09:35 +03:00
Marek Nečada
67f93e461c
Ewald translation calculator function using base specs.
...
Former-commit-id: d49880caa280cc089fa688d0cdeccb95db7cb64b
2019-09-23 08:59:18 +03:00
Marek Nečada
bd0b8a83e9
Beyn: functionality for testing if points are inside contour.
...
Former-commit-id: 5c88b6e9aa4308201871a9b19c8d20c04b93a718
2019-09-17 07:58:59 +03:00
Marek Nečada
9d0f910bba
Some comments to beyn.c
...
Former-commit-id: cc756b3343a9290f3b3b8c79cec75559b11a952f
2019-09-17 07:17:04 +03:00
Marek Nečada
e8a2426b55
Handle k->0 in Ewald sum.
...
Former-commit-id: fb61b297ead4828541b763b2ecdb0c81de1d35f1
2019-09-16 12:37:32 +03:00
Marek Nečada
2762ada49c
Beyn: keep singular values from rank test
...
Former-commit-id: eb82025e460575335f9d6e3d9acb3cfdfe8867f0
2019-09-16 08:02:31 +03:00
Marek Nečada
ecbf5b10d4
Fix infinite loop in empty lattice modes generation
...
Former-commit-id: 1349035090712935a0d77d64c175e4358fb4d487
2019-09-13 16:20:39 +03:00
Marek Nečada
b45bdcd49a
Bug fixes mostly in lattice generators.
...
Former-commit-id: 1fbed5865f20b7191b31fe24d263bd16baca7fa7
2019-09-13 15:51:19 +03:00
Marek Nečada
e910de936e
2d empty lattice modes pxd; fix a corner case.
...
Former-commit-id: aa33c85a6a0d2107caef752900690f471cc6350f
2019-09-13 13:18:23 +03:00
Marek Nečada
0f03509dde
Mode frequency calculations for empty lattices.
...
Former-commit-id: ca14f8d765399c5bf92bb64cc7f1dc6722d53ebb
2019-09-13 11:52:56 +03:00
Marek Nečada
11aa48d2da
Beyn minor fixes, cleaner API.
...
Former-commit-id: 44d7147a14194a7b8e5a66552dd3855029b9e370
2019-09-10 14:54:08 +03:00
Marek Nečada
3bc59096bc
Public beyn_result_gsl_t -> beyn_result_gsl_t convertor.
...
Former-commit-id: 56fb70384c20b93dbc8b119c6b5b4128ce4fcaf9
2019-09-10 14:04:56 +03:00
Marek Nečada
cbf039710f
cdefs for beyn.h
...
Former-commit-id: 846f26b8a6e1a2829c379b1bcc9edae1a0965b26
2019-09-09 20:50:31 +03:00
Marek Nečada
658c564a0c
Some 3D lattice functionality, little refactoring.
...
Former-commit-id: 8e6572c7352e3b9a75bc13585d688f1c72d378e1
2019-09-07 11:23:16 +03:00
Marek Nečada
1585c48071
Incremental cleanup.
...
Former-commit-id: d4d8d41a2edac7cf8ac341cce46e3c976ef68c5e
2019-09-02 13:43:46 +03:00
Marek Nečada
5dc2a44cdd
Incremental cleanup and style assimilation
...
Former-commit-id: eb31cf03313edbad256331592afa4c6d212feab8
2019-09-02 12:31:37 +03:00
Marek Nečada
c632ee36c5
QPMS_UNLIKELY macros to qpms_error.h
...
Former-commit-id: d879a2105fd35a7d17f090842b03286fd310fbc1
2019-09-02 12:03:27 +03:00
Marek Nečada
cabe764640
Implement an API for Beyn's algorithm with standard C arrays.
...
Former-commit-id: 645490de63f802c8a41f3bad1845cd29e0c3d823
2019-09-02 11:57:56 +03:00
Marek Nečada
bc703cbcca
Beyn pure C api headers
...
Former-commit-id: 0e1da18ccf552d496eed4a073611c57d5e9619ba
2019-09-02 10:33:07 +03:00
Marek Nečada
537c4b2d37
Beyn solver new API
...
Former-commit-id: cb242415d66acebd42aa6c12ef74696f5dea85de
2019-08-31 14:35:56 +03:00
Marek Nečada
4c21fde628
WIP rewriting Beyn API
...
Former-commit-id: 0579928c1aac32ec82db0364080d46fcce7721a6
2019-08-28 15:12:42 +03:00
Marek Nečada
1aa9890155
Reindend, add also the 'coarse values' calculation
...
Former-commit-id: 2dc73a2875823cae187585787bd4d344dea232f9
2019-08-27 20:41:30 +03:00
Marek Nečada
5471367aad
Finally reproduce Reid's implementation.
...
Former-commit-id: 215088edddd93c79b4a4ad3ee9836595bcc69167
2019-08-27 20:10:28 +03:00
Marek Nečada
4d4ab9936b
Variable Lovász condition parameter
...
Former-commit-id: 726d5c1b1dc03a5b11f8d7b32e6bf589efec369d
2019-08-25 21:17:23 +03:00
Marek Nečada
953132e4c9
Force doubles in the LLL-reduced array in numpy.
...
Former-commit-id: 70cffb53ff5b15515da8dd8ac18f74721f2c3b48
2019-08-25 19:27:45 +03:00
Marek Nečada
0ea3510575
Lenstra-Lenstra-Lovász lattice basis reduction.
...
Former-commit-id: 3ada9f1ebf783d07c31671fd81cb6f7d6fe6187b
2019-08-25 18:58:05 +03:00
Marek Nečada
c0c44c11b6
Add some excessive checks for matrix inversion results
...
Former-commit-id: 229cdff48f8103cbadf00bbc92c11fa19e51a4b0
2019-08-23 20:09:21 +03:00
Marek Nečada
51fa6f1dd6
Try to reproduce Reid's RNG
...
Former-commit-id: b607cb40b9ac77970e0c4250cf033d22554de815
2019-08-23 15:05:23 +03:00
Marek Nečada
93d34c9830
Probably wrong target to zgetrs
...
Former-commit-id: 4d22626121778d77d61f4fa9f600fc87b91c1bec
2019-08-23 14:31:14 +03:00
Marek Nečada
8666657fcc
Beyn fix memory leaks and swapped arguments in zgeev.
...
Former-commit-id: a63ba1bbd2ce50f664a419e4742fcead2fb355e1
2019-08-23 13:49:32 +03:00
Marek Nečada
e898fd5ad8
tbeyn does not crash anymore but the result is wrong
...
Former-commit-id: 3288074674f1a3f61b43d905a96c865fa32faccd
2019-08-23 12:20:51 +03:00
Marek Nečada
26e7d9acee
Merge branch 'master' into beyn_without_unitcell
...
Former-commit-id: ee56e6d72638fe01117d50fd78bd1eeeabf5f518
2019-08-23 11:27:01 +03:00
Marek Nečada
947f499bbf
Print the argument return value in QPMS_ENSURE_SUCCESS.
...
Former-commit-id: 2aa9742b6bb1a10b963a197419af7ef57b7999c1
2019-08-23 11:26:22 +03:00
Marek Nečada
142d97d484
Beyn's method test (fails)
...
Former-commit-id: 535a94df45d1ddd6b23b6c94a8167ca969389099
2019-08-23 11:16:46 +03:00
Marek Nečada
32c9c2a434
qpms_error.h remove implicit dependency on stdbool.h
...
Former-commit-id: 8d6d3f0cf0e33e8f9401559625f7b3261d140cd6
2019-08-23 09:40:45 +03:00
Marek Nečada
cf9892279d
Beyn ready for testing
...
Former-commit-id: b058f06d1f4d80e366c2375764b0c7a0f252568b
2019-08-23 09:34:19 +03:00
Marek Nečada
6e875d65ae
WIP Dealing with the Beyn clusterfuck (compiles now).
...
TODO inverse M -matrix
Former-commit-id: eb2a37128c04c10406dc65eca7d47152b4d93db9
2019-08-22 17:02:53 +03:00
Marek Nečada
b52942a5e5
WIP real->complex cleanup in beyn algorithm.
...
Former-commit-id: 2cfe5b0c87924ab04255d36e46ee3c603f25ba6d
2019-08-21 13:05:17 +03:00
Kristian Arjas
3fb9f23af5
Add Beyn eigenmode solver
...
(cherry picked from commit 9ed6ee319a1d0b295ccbd690e7c0c0261111b456 [formerly 896e706a2da075c178b7e736761bdc01e4ea9800])
Former-commit-id: 6de5c14d48258b6105b76eb4fab5b555284caaa4
2019-08-21 11:57:22 +03:00
Marek Nečada
ad3d2d8071
Fix incomplete gamma via continued fractions for complex z.
...
Former-commit-id: 13ae61b958919bfcca2d3828bc7d38b0b6cbf77b
2019-08-20 17:31:43 +03:00
Marek Nečada
ce905eb0a4
Expose my incomplete gamma function in Python.
...
More sophisticated GSL error handling
Former-commit-id: 4233d01d8aff64b00502c55cb50b54faa5c25ceb
2019-08-20 12:46:28 +03:00
Marek Nečada
a66f04a8c2
Continuos fractions for incomplete gamma, extending the domain a bit.
...
Former-commit-id: 838b5bd6c34d37348253aa21f45bb7601c8a6abb
2019-08-19 16:54:44 +03:00
Marek Nečada
20fac6036f
Complex wave number for ewald sum (failing) + unit test.
...
Former-commit-id: a6c5e566028602ecd1047bc0b44677a4eeae3046
2019-08-19 15:10:39 +03:00
Marek Nečada
02e4e9c308
Some doxygen to ewald.h
...
Former-commit-id: aa68c91e6e6546b36a73c1c315e074f74905657e
2019-08-19 12:02:22 +03:00
Marek Nečada
a20a5ac067
ewald translations legacy code removal
...
Former-commit-id: da74041f5105d6b3a3f9fe3ddaa7306e973bd440
2019-08-19 10:55:45 +03:00
Marek Nečada
a5604bf0bc
Merge branch 'master' into translations_cleanup
...
Former-commit-id: 80437d49a0bea655e3560aabc5a7b6dc7061aedc
2019-08-19 10:29:31 +03:00
Marek Nečada
e971aa0e79
Fix single translation coefficients.
...
Former-commit-id: 1c045d994bb46ed16350d294bacc9203854cd2ea
2019-08-19 10:29:02 +03:00
Marek Nečada
9ea487df84
translations.c return accidentally deleted function,
...
remove more legacy stuff
Former-commit-id: 6bb2033234a893e85a0242c10156a700bd2d3ceb
2019-08-19 09:29:14 +03:00
Marek Nečada
8b9c5a794c
translations legacy code removal
...
Former-commit-id: 98e883f9c7586208623acca05585f747dc57f911
2019-08-19 08:01:59 +03:00
Marek Nečada
0b0ebf2bce
Start modifying the tests structure.
...
Former-commit-id: 2e95b72fb3258fddd75a3b9c2ab23aa53b0a9d9a
2019-08-17 13:57:24 +03:00
Marek Nečada
5820de30ef
Ewald.h doxygen
...
Former-commit-id: b89871b97680d5262637e7c1af2186c1d1307a84
2019-08-17 13:31:38 +03:00
Marek Nečada
7b8e7d39e5
Branch hints in frequently used inlines
...
Former-commit-id: aff247930de71d535e5cb455828f993b244053a2
2019-08-17 12:02:08 +03:00
Marek Nečada
3e6f004605
Compiler warnings, doxygen fixes
...
Former-commit-id: 2686ab2db0a61327db1ef5ce3799f3e88fea0f49
2019-08-16 11:17:59 +03:00
Marek Nečada
03188d43f7
Fix the integrand for axially symmetric T-matrices.
...
Forgotten jacobian, FFS.
Former-commit-id: f9a409bd1f5af78bb460d4bd3a9aadf78cebc2a7
2019-08-16 10:05:23 +03:00
Marek Nečada
5e2dcf2100
VSWFNorm IntFlag / IntEnum fallback
...
Former-commit-id: f1cc46f208bdceac972409836a238a56966277a4
2019-08-15 15:19:54 +03:00
Marek Nečada
4bbdfbfbfc
Convenience methods in cymaterials
...
Former-commit-id: dc27285f1d23c0cda3c9d80fe073aafc86f77277
2019-08-15 14:27:36 +03:00
Marek Nečada
5a9219a4f6
Expose single vswf functions to cython.
...
Former-commit-id: 7fd1183cdab2d6f60b446879a875dab4d673da73
2019-08-14 11:04:42 +03:00
Marek Nečada
1bf9c0b44e
Cython bindings for "pi, tau" functions
...
Former-commit-id: 74edc5a7a431a190150c4e1cbb3563809c6b9c01
2019-08-13 17:18:39 +03:00
Marek Nečada
f62cfbe7a0
Test whether single vswf and vswf array give the same result
...
Former-commit-id: ad74493b0f8854cfda302d8c98f2cdc216bc276c
2019-08-13 14:38:02 +03:00
Marek Nečada
7a0386086a
Functions to calculate the R,Q matrices for axially symmetric particles separately.
...
Former-commit-id: 0861a9014f293153b786b879bb3803d5ee002b56
2019-08-13 13:30:48 +03:00
Marek Nečada
4ac2a7b72e
Fix word in doxygen.
...
Former-commit-id: 89ec5ba36cfe23b33331984e06b4de386db93338
2019-08-13 11:27:38 +03:00
Marek Nečada
2e037550b5
Build libqpms as shared library.
...
Former-commit-id: 218d30a8502e5ea5814e4d8e119b750ca93d257f
2019-08-12 16:33:54 +03:00
Marek Nečada
82337ca07f
WIP T-matrix generators debugging
...
Former-commit-id: e3708a28b1fe62522fa45527452d2aa1c37bca49
2019-08-12 11:18:25 +03:00
Marek Nečada
8ec697a1dc
Constructors for (some) T-matrix generator types
...
Former-commit-id: d936f5c0b9ee3a3ed8c256b1064c245d04e54c75
2019-08-12 05:41:36 +03:00
Marek Nečada
5094fc1bc4
WIP cython wrappers for T-matrix generators
...
Former-commit-id: 8f3cabbc8039e8096d91bc4c21bcb3380638820d
2019-08-11 23:37:25 +03:00
Marek Nečada
d00e46b908
Custom python EpsMuGenerators seem to work
...
Former-commit-id: b3a38dde88b019182fcee4e62028b93fe0bf7aa5
2019-08-11 19:11:43 +03:00
Marek Nečada
4572322553
Experimental support for custom python-defined material functions.
...
Former-commit-id: acf19bb2537505922110d7de46cee52e76811637
2019-08-11 19:06:50 +03:00
Marek Nečada
6c73a964d9
Fix cymaterials (bad dereference)
...
Former-commit-id: 3480b7c8ed9d34370a092f700dd623676d70e64f
2019-08-11 16:19:37 +03:00
Marek Nečada
38ecd6bce1
Material generator cython wrappers (partly broken)
...
Former-commit-id: 881a182939bae3cccb545d51f1d138997bdf9c5c
2019-08-11 09:43:45 +03:00
Marek Nečada
7e010fda1d
More specific imports
...
Former-commit-id: 47a8ca8ef3375d0bffa1776b923cc06bf7496b94
2019-08-10 10:54:34 +03:00
Marek Nečada
56147ef91d
More specific imports
...
Former-commit-id: cb3923358702d42e2453bcbfd9712178731a082f
2019-08-10 10:15:08 +03:00
Marek Nečada
1aa64248fc
Split away CTMatrix, TMatrixInterpolator
...
Former-commit-id: ca92a0938f12fda858794b203e196366f2466a6f
2019-08-10 09:55:50 +03:00
Marek Nečada
6ea386d759
Split away MaterialInterpolator
...
Former-commit-id: a882ac5e1a6fa38137fa9059fda53c671534128b
2019-08-10 09:40:59 +03:00
Marek Nečada
5d1f05984e
Split trans_calculator to a separate extension
...
Former-commit-id: eb6a55246e0fab6078906e317e31611f385a677d
2019-08-10 08:57:24 +03:00
Marek Nečada
0504f98bc0
Make the splitted setup work
...
Former-commit-id: 9c8a7e4d1131c40ceb27a4b1a9c54d80c319394b
2019-08-10 08:08:16 +03:00
Marek Nečada
371a8a5f7c
Start splitting qpms_c.pyx
...
Former-commit-id: bb2e68dc4cb7f85769ddaf5533298ab1f0e84f5b
2019-08-09 21:54:13 +03:00
Marek Nečada
1ef0c0ad4e
Update qpms_cdefs.pxd
...
Former-commit-id: 77ffd62660d9cc0c109c6a49290ea2f3f6f2a54e
2019-08-09 17:45:12 +03:00
Marek Nečada
d632405b32
Generic T-matrix generator type
...
Former-commit-id: 84c3a0a8a1cafe2f1c3ed05cf1528e5f80443b70
2019-08-09 17:22:56 +03:00
Marek Nečada
053c4c0b57
T-matrix for axially symmetric particles; untested
...
Former-commit-id: dfc7a0771a52df097a2afba172bb286369f085a2
2019-08-09 12:55:20 +03:00
Marek Nečada
f5288318bf
Fix formula in notes; axial T-matrix WIP
...
Former-commit-id: a94506c8f40e20b425167bc56fd632cfde335a7a
2019-08-08 22:52:06 +03:00
Marek Nečada
beef0ea9b8
WIP T-matrix of axially symmetric T-matrix.
...
Former-commit-id: b699e21f6693607b1a790cbdf7a0d7986c6ddff9
2019-08-08 22:18:42 +03:00
Marek Nečada
c3831eec52
General optical property generator prototype for isotropic materials.
...
Former-commit-id: 327109fe99334febe5a69c9028113555a0c89dba
2019-08-08 17:49:45 +03:00
Marek Nečada
c4ed9852a6
Lorentz-Drude permittivity model (+LD params for Au, Ag)
...
Former-commit-id: 76878ee0ec2dd9c7db06febe4266f5537e5d9376
2019-08-08 17:16:07 +03:00
Marek Nečada
8158cef41c
Move material properties-related stuff to materials.[ch]
...
Former-commit-id: 0039b167488c5aca55ea1912e43ec3ab8b289c1e
2019-08-08 15:33:06 +03:00
Marek Nečada
3f25161e21
Correct orbit particle index type
...
Former-commit-id: bf7c240d62ea661e22e320cb26be7ee06a058832
2019-08-03 12:51:27 +03:00
Marek Nečada
d2d0eba40c
Use higher precision in some 2D irrep matrices.
...
Former-commit-id: 9d6fa78f2157601fbec4fee16a1c51c093333d9b
2019-07-29 21:38:43 +03:00
Marek Nečada
22d9f05ef8
This might somehow more stable
...
Former-commit-id: bc836c111d6a0bd14aa539c7d35e8987ff96d3da
2019-07-25 07:59:43 +03:00
Marek Nečada
b939b1c177
I realised this approach is wrong.
...
I must do the quaternion sorting in otherway, probably using a separate
tree for each component (then what?).
Former-commit-id: 6de715751ddd41f6ffc72b274cadf58a765b3edd
2019-07-24 19:06:29 +03:00