Commit Graph

750 Commits

Author SHA1 Message Date
Marek Nečada c2b4787cd5 Implementation of qpms_tmatrix_apply_operation().
Former-commit-id: 6773f0e1d02d5f929c2039f99338f08c25d0ccab
2020-01-07 08:14:06 +02:00
Marek Nečada dff8293e6d T-matrix general operation type definitions and destructor.
Former-commit-id: 491a4d8ad602a7252aa9f4446b55c7c905102de9
2020-01-06 02:17:09 +02:00
Marek Nečada d17a5e5eea WIP data structure redefinitions.
Former-commit-id: 5e2baffb4a47657233e792407630507ba611b129
2019-12-21 11:36:01 +02:00
Marek Nečada d53f2964f0 WIP abstract t-matrices
Former-commit-id: 8c573ac3a62bf92195246d6eb95f95df240c48a1
2019-12-19 13:50:12 +02:00
Marek Nečada b6e6554323 Fix imports in symmetries.py
Former-commit-id: 54104859c5858f92fdef0250991802629003e144
2019-12-19 05:30:46 +02:00
Marek Nečada dc5d2cde0b Upgrades to argproc.py, finite rectangular lattice scatter script.
Former-commit-id: 36aba53dc445752cf50e1638883f5a280ccab753
2019-12-14 13:26:40 +02:00
Marek Nečada 2f9e5670da Don't import legacy code to speed up qpms import.
Former-commit-id: b34cdc751f6076d0a02ebc6b122abbd8fbe9cde8
2019-12-14 09:17:29 +02:00
Marek Nečada 4c7dd1ee61 cytmatrix interpolator: access frequency table from python
Former-commit-id: 69a85dba08347f0c0543ecb7913e0b8e2c20473c
2019-12-14 08:57:19 +02:00
Marek Nečada f1f2c821df New CLI argument processing
Former-commit-id: d8fba975ccf08a11e0a4515e5af92edb7856f643
2019-12-14 08:54:43 +02:00
Marek Nečada 1dcebe4fee Add nogil
Former-commit-id: 8ef30e7002dace1691ce32815dc24975b5d7131e
2019-11-17 10:05:29 +02:00
Marek Nečada a712789386 modeproblem matrix parallel implementation to become default
Former-commit-id: ddf4ab3b83490de67034107b96272d725dde6a89
2019-11-17 09:59:06 +02:00
Marek Nečada c9a5661519 Fix invalid pointer in qpms_apply_tmatrix.
Former-commit-id: ba9400c3e1a39d472cfdebf7e61ab175c5c8fb6e
2019-11-14 13:36:45 +02:00
Marek Nečada 1821a0d8f5 Try to recover from failed quadrature.
Former-commit-id: 746709b224d825baf4a41ddfcd040a0c80fc45c8
2019-11-12 07:18:20 +02:00
Marek Nečada e4f368f47a Multi-threaded integration in axial symmetric T-matrix.
Former-commit-id: 71dc4ae5978f0dc10d82f4d8450fb2117ba64ce8
2019-11-08 17:43:07 +02:00
Marek Nečada cfda120a20 Fix sign in Drude-Lorentz model.
In our convention, where outgoing wave correspond to
Hankel functions of FIRST kind, the time-harmonic waves carry
(contrary to the more usual electrotechnical convention)
the factor exp(-iωt) and lossy materials are represented
by Im ε > 0, i.e. Im n > 0.


Former-commit-id: 19108c43a31899c2f9196c1a0fc44c5ecae69b5a
2019-11-08 09:36:12 +02:00
Marek Nečada 28f4e7f3d2 Complexify wavenumber in (finite) translation operators.
Former-commit-id: f84e1588cdda916d8feda6d807c12bca69512e5f
2019-11-06 18:13:50 +02:00
Marek Nečada cc9dbb6cc5 Make the additional Drude-Lorentz parameters available from Python
Former-commit-id: f08c96459c7cfd07b2adbf4670de59b1ce0b6ea1
2019-11-06 12:04:52 +02:00
Marek Nečada 493ba079e2 Some more Drude-Lorentz data from drudelorentz.com
Former-commit-id: 62f7f550e4e72d176690ac2b3532cec9bedb889f
2019-11-04 21:42:19 +02:00
Marek Nečada d79a35110c Merge branch 'beyn_rework'
Former-commit-id: 3366b1421056a2ac097b79f62bfbccd82d87de1b
2019-11-04 09:43:44 +02:00
Marek Nečada 84acb1ada2 Allow to select only either of long/short range Ewald sum parts
(cherry picked from commit 97b7782291380193835c23a4f0ea04ff5f44273e [formerly 41b1a76d5ed571b507abc0515b3cba60e8c0ccca])


Former-commit-id: 4d51186e653babfdc84fc45a4ab70a3ffdc02eee
2019-11-04 09:38:23 +02:00
Marek Nečada 4dd3234b0a Remove the branch cut at negative real axis in Ewald sum.
Move the cut to the negative imaginary axis instead.

Also update comments.


Former-commit-id: a70e6a4db0ac33836d672d9ee2356ea19a899a30
2019-10-09 13:20:20 +03:00
Marek Nečada acff55f396 Extend hardcoded T-matrix similarity tolerance.
Also some cython functions->properties.


Former-commit-id: 4a0605b1cf8b857c681f194a475ff3f10e7dfe71
2019-10-07 15:15:34 +03:00
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
Marek Nečada 1b63d75153 PointGroup cython class, fix many bugs (quaternion ambiguity).
Former-commit-id: 16835b9f03c4fbb28c414ce9844cabb30aabfb00
2019-07-24 18:26:12 +03:00
Marek Nečada 6a34c71017 Point group element generator and subgroup testing
Former-commit-id: 8d3e89facdac8e0744ada736d5b7453f23dc9ddc
2019-07-24 14:20:50 +03:00
Marek Nečada 36ea30952c Move stuff from pointgroup.h to pointgroups.c
Former-commit-id: 70431c71975fdbe21be76cf4d28f1f59614bd577
2019-07-24 11:28:44 +03:00
Marek Nečada 46e82e55e2 Untested generation of finite point groups
Former-commit-id: d61677f79685f69ba59f2f81ec7737b70b42d218
2019-07-24 11:13:13 +03:00
Marek Nečada d97945a43e Make quaternions.h compile at work (+ ATOL constant macro).
Why the hell did it compile at home, but fails at work?


Former-commit-id: 5237d9ffda0a2ad3defd22f74dd4ccc3005d7952
2019-07-24 11:00:11 +03:00
Marek Nečada e048a78055 rename wigner.h to quaternions.h
Former-commit-id: 190a4795704233f6743e3cf1b873e4cd8dae3936
2019-07-23 23:06:44 +03:00
Marek Nečada 0530895f84 Draft generators for finite axial qpms_pointgroup_t.
Former-commit-id: 0a9eba27d584038be532bb1590b7d5b6b98fba1b
2019-07-23 22:57:36 +03:00
Marek Nečada 1f8d146b13 Quaternion fix constants, approximate equality tests etc.
Former-commit-id: 91528cd0141572528a149bbbed074e17a1c19f58
2019-07-23 20:55:33 +03:00
Marek Nečada 859a3a11a8 Draft abstract t-matrix type
Former-commit-id: dd4e9f9ed7f50b5f6db3416d478c8b37a9d4e5b4
2019-07-23 17:21:56 +03:00
Marek Nečada 0ffee1a073 Solve scattering problem using LU decomposition.
Former-commit-id: 32388ecc2da5d60a3b3616a765c0ecaed87fb4fd
2019-07-23 15:50:31 +03:00
Marek Nečada 5758c5d587 Reverse modeproblem matrix sign so it applies directly to scattering
Former-commit-id: d05f8207bd86263ecdc93d3838e948c4fe90359a
2019-07-23 08:43:25 +03:00
Marek Nečada e05a79483d Apply T-matrices on incident fields vector.
Former-commit-id: c1cfd5a2c24651f55325d73430387a4e87276d48
2019-07-22 16:56:03 +03:00
Marek Nečada ef118d2d88 Access BaseSpec normalisation convention; minor tweaks
Former-commit-id: 3000084f187ac4d3f5e74c1ad27dd70097b9edd1
2019-07-22 12:25:57 +03:00
Marek Nečada c6e666f4e6 Error on (temporarily) unsupported normalisations.
Former-commit-id: b7ed7054cd4f717a430f9ef546f1d9967748edd7
2019-07-22 11:22:21 +03:00
Marek Nečada d01ab445fe Cython-wrap additional translations.h functions.
Former-commit-id: 4b1ad54f40167f66b6788cb2976ca854b7971a5e
2019-07-22 10:08:09 +03:00
Marek Nečada 29a521db81 ss irrep acked translation matrix attempt
Former-commit-id: 2d90bc2a40a7714eb3fa795b9fa9770387373513
2019-07-22 01:08:41 +03:00
Marek Nečada 9c7d69dc5c Get rid of dependency on Moble's quaternions.
Former-commit-id: 182aeda66992aa43c2c172c28a199feba0d6878f
2019-07-21 23:37:25 +03:00
Marek Nečada 52039f5cbb ss build translation matrix: enable other Bessel funcs.
Former-commit-id: 66d4993430322b7de00a408406b89972b7dd7c48
2019-07-21 21:14:11 +03:00
Marek Nečada 5aa855af19 Definition of a structure specifying any 3D point groups.
Former-commit-id: b329c8136605e0b8c20bd1c2e562a52829e4c4c8
2019-07-16 16:05:17 +03:00
Marek Nečada 3a1adeaa25 Use errno
Former-commit-id: b1a8d1a27501cbd6fe57f42c5efa630862b60748
2019-07-16 14:25:30 +03:00
Marek Nečada a63348d414 Avoid silent crashing of TMatrixInterpolator.__cinit__()
Former-commit-id: fb6bfc9f52b8d0dadf89c93835360bca54cb66c9
2019-07-16 14:06:55 +03:00
Marek Nečada a315923750 Fix doxygen from previous commit
Former-commit-id: 4a4f9ba3b931d996bd0b7b4bae7b685b83b92a37
2019-07-16 08:23:39 +03:00
Marek Nečada 261ff9456f 3D point group classification enum type.
Former-commit-id: 70d88ebed3826a674780be401ee012d3701e960e
2019-07-16 08:14:59 +03:00
Marek Nečada 110723d4b1 Fix some weird newly appearing errors.
module_devel/scatsystem.ipynb however still crashes


Former-commit-id: b5385a90a9a94d21e07a46eed4f5386cb5fef12f
2019-07-15 18:11:50 +03:00
Marek Nečada ee86a20fd2 Cython nested union declaration workaround.
Former-commit-id: 283cd4a381b95928321a1b8b38ec5692cf657aba
2019-07-15 17:26:32 +03:00
Marek Nečada 911f6b758c WIP cython wrappers for plane waves in scatsys
Former-commit-id: 42cf85afc93e9cc63291b7030a7129a21e098826
2019-07-15 16:36:37 +03:00
Marek Nečada ebefc07e9d Implement plane wave expansion on scatsys; untested.
Former-commit-id: d54d13d1e1994a0b9cba0860e7095063b23ff276
2019-07-15 14:39:08 +03:00
Marek Nečada 9c15b8e4f2 linewrap long macros
Former-commit-id: 5d1e1d2b626f553b63e62b34345f43984dac9196
2019-07-15 13:58:55 +03:00