Commit Graph

783 Commits

Author SHA1 Message Date
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
Marek Nečada 1b7ede5e1d Implement uvswf plane wave.
Former-commit-id: 591a742362fd311d8d7fbf12b147c8324e077f3c
2019-07-15 13:00:47 +03:00
Marek Nečada bc3780c1d1 New QPMS_INCOMPLETE_IMPLEMENTATION macro
Former-commit-id: 0b8596d8d7f4b307d2d24b612db5212d3ffe0c04
2019-07-15 09:16:51 +03:00
Marek Nečada 02a8161d3e Vector.h more convenience inlines
Former-commit-id: 4e0b0331fdb50192e9518d017f6bbc46fdf1fe1b
2019-07-14 23:55:45 +03:00
Marek Nečada 8eb0f9f2ea Convertors between csph_t and ccart3_t
Former-commit-id: 0d081dc430d23d8431c8b22d2d9a22de5ba86695
2019-07-14 23:26:03 +03:00
Marek Nečada 7d3c3769ee Prototypes of incident fields to scatsys
Former-commit-id: 067b40fcba12340580acf52c0af7845c462b5a58
2019-07-14 23:00:43 +03:00
Marek Nečada 52a76f557b Merge branch 'newnorm'
Former-commit-id: 7c1941cb4436ab1d7920c85df4a82ccba24cccb2
2019-07-14 21:01:31 +03:00
Marek Nečada 1ec776c8a8 New qpms_normalisation_t also in scatsystem.c; python module now
compiles.


Former-commit-id: ac877f894c124660f399bb3e70ed05ca42f565cb
2019-07-14 20:56:23 +03:00
Marek Nečada 5720e9998d Merge branch 'newnorm' of necada:~/repo/qpms into newnorm
Former-commit-id: 19b6714173e1e205b0d9c5fb6b853b09f892bae0
2019-07-14 20:24:36 +03:00
Marek Nečada 4eb4cdfcbe Some updates in cython related to new qpms_normalisation_t
Former-commit-id: 23ef001623ff6d6ffd847dfd72214aa8231ebda9
2019-07-14 20:19:13 +03:00
Marek Nečada 005bdaa2be Use the new qpms_normalisation_t also in cython parts
Former-commit-id: 58eb1c22724d3a94abb88d4c7b9af668a2faf116
2019-07-14 10:02:37 +03:00
Marek Nečada 0610f98854 Move some legacy code from qpms_types.h to normalisation.h; to be pruned later.
Former-commit-id: 0078e465757bc40f574837f196a7ab0c08529db8
2019-07-14 09:48:29 +03:00
Marek Nečada 45b8233862 Tag symmetries.c with non-implemented macros etc.
Former-commit-id: 0cf1dc127b43bdded6471501a666ce325e5528f5
2019-07-14 09:33:30 +03:00
Marek Nečada 18767faa03 Correct convention factors in read scuff T-matrices (hopefully).
Former-commit-id: 2e53b8ab0c5e7eb86398f0044baf10a68aa48c50
2019-07-12 16:16:52 +03:00
Marek Nečada 76bc4827ca Translation operators with the new qpms_normalisation_t
Results seem consistent with the old test_vswf_translations.c
(they output is the same up to tiny rounding errors).

Not yet implemented for inverse complex or real spherical harmonics
based VSWFs.


Former-commit-id: 8052336a175cf191d8b90df90958885b97712319
2019-07-12 15:07:15 +03:00
Marek Nečada a2bb53ce98 Update compiler args for test_vswf_translations.c
Former-commit-id: 5bdca18291d4205edeadbc74e9b459a2d0ca7857
2019-07-12 10:20:21 +03:00
Marek Nečada f239ae0afe Start doxygenisation of translations.h
Former-commit-id: 3b4c78f92020412ceb57b0424a95431cff4ade4d
2019-07-11 21:51:06 +03:00
Marek Nečada bd40daccb7 Rewrite vswf.c to use the new qpms_normalisation_t
Former-commit-id: a623d0cf1c65b6134756e76e1739f189f3d6d53f
2019-07-11 16:57:15 +03:00
Marek Nečada 616095890f Redefine qpms_pitau_get to always use the "power" normalisation.
Former-commit-id: 20cd5494f7e3faab4660dde15a00f948fd7391ef
2019-07-11 14:24:27 +03:00
Marek Nečada d3ef942dee Complete redefinition of qpms_normalisation_t
Former-commit-id: 4e14e1430d9dda96e5c023941ea3fadebd895676
2019-07-11 13:18:43 +03:00
Marek Nečada 044dd9bdd7 Ensure dimensionality in reading/processing W-files
Former-commit-id: e7daf090afa430d87418091df2f10eaf5da943bf
2019-07-05 14:23:31 +03:00
Marek Nečada 9bfba7077b Doxygen, TODO list.
Former-commit-id: 72381c6157319efecf6c62f98851df6194e2a972
2019-06-27 16:42:35 +03:00
Marek Nečada 3bb140fdd6 Doxygen
Former-commit-id: e840ad39bd74838025a40427f44865cfe8a25265
2019-06-27 12:17:48 +03:00
Marek Nečada 1cbfb982d4 Replace PGEN_NEWR flag with PGEN_OLD_R with the opposite meaning.
Former-commit-id: 5fef7e81addc980a7202b55fd52152981abe5cba
2019-06-27 12:15:34 +03:00
Marek Nečada 2560366137 Lattice generator coordinate system fallback mode.
Former-commit-id: dc34ddc5b45fd3dc3220b7890e95bbb6c075ec6e
2019-06-27 11:40:09 +03:00
Marek Nečada 22a76ec7ec PGen "fetch" methods: generate multiple points at once
Former-commit-id: f53d71ef88f53ed4db0d127b7edad1ebcb0e766d
2019-06-27 10:13:39 +03:00
Marek Nečada d8a13f5e6d vectors.h docs + more conversion functions
Former-commit-id: 28a2b617273f4fd9dea0c78f93edab55c29ca791
2019-06-26 10:14:27 +03:00
Marek Nečada 5a5f124f6b Doxygen docs for the lattice generators.
Former-commit-id: eb3a5149a7f3fac70e5bf882642690ef31e1d6e4
2019-06-25 20:05:31 +03:00
Marek Nečada 37b864effc uvswf evaluation with complex kr; ss field ewald done, untested
Former-commit-id: 63048ddf2a9260742510a4fa246a59b8360381ce
2019-06-24 17:20:28 +03:00
Marek Nečada a3f5f98736 Scatsystem E-field evaluation WIP
Former-commit-id: c4a3dd633f316cd3e480112d03e9f5c3de0dc64b
2019-06-24 15:12:06 +03:00
Marek Nečada b8b4497b12 vector.h new features (complex-kr) and syntax fixes
Former-commit-id: adc38be811b059f9eca4a119131da7250b709eec
2019-06-24 14:59:37 +03:00
Marek Nečada f9d3d3baa0 Scatsystem field evaluation prototypes
Former-commit-id: 987bc900c8383bcaae4b096ec9164351da54dded
2019-06-24 14:03:45 +03:00
Marek Nečada c29a284bc6 scatsystem field evaluation (WIP)
Former-commit-id: ee0ad31050cf194a0a6e0fcd5a176b568e1d2064
2019-06-23 23:33:08 +03:00
Marek Nečada f63f3fbefb uvswf-indexed vswf evaluation
Former-commit-id: adfc6f7b57aafce70f8adfd2abe03432c283320b
2019-06-23 22:04:00 +03:00
Marek Nečada 2964c9ea99 New QPMS_UNTESTED macro
Former-commit-id: c8f3b6f43e735b6dfa45b747395a5ad97c350eed
2019-06-23 20:30:14 +03:00
Marek Nečada 3630edeff0 Unfinished implementation of field calculation
Former-commit-id: 331b0aa643f69ca9244a15284da4a88cb0f48746
2019-06-20 14:19:23 +03:00
Marek Nečada 77e6e7ce4e scatsystem scattered field evaluation declarations
Former-commit-id: 0e88a9adbde0bcf875a4a7b144d2c85102014957
2019-06-20 07:39:43 +03:00
Marek Nečada 44b5e4df79 Separate double parsing functions.
Former-commit-id: 809f28b4b0c4bfba98a2981abf2c17c0ea0a0e65
2019-06-20 06:27:08 +03:00
Marek Nečada 692f4ffe1f Don't be quiet when loading a NAN-containing t-matrix
Former-commit-id: 71d3c1573b073e3edbd7693ca5848633be279998
2019-06-19 12:47:31 +03:00
Marek Nečada ef84f9fc98 Macro argument parentheses.
Former-commit-id: 09eac2a8c76c4e00ce7e2a0ac35e9358f4739ee0
2019-06-18 19:29:01 +03:00
Marek Nečada 5a76de1be8 Start restructuring the directory tree
Former-commit-id: 622e0884f31c4284bd62e47527f9a96794650d25
2019-06-17 17:25:44 +03:00
Marek Nečada 88350eea0a Ewald-summed transop generator gengetopt draft.
Former-commit-id: 19d711aaa3ddf6b25a604526cde300b5fb673f7a
2019-06-17 12:37:11 +03:00
Marek Nečada e66b8468f9 Use factorial from scipy.special
scipy.misc.factorial seems obsolete


Former-commit-id: cc25ab13590b91a3c248e9a57c6cb259c47ad379
2019-06-05 14:01:28 +03:00
Marek Nečada bf04cb32c0 Fix some earlier ewald32->ewald3 renames; disable some legacy code.
Former-commit-id: 6358a491f1965108a2747a9f48054a0022bcadf6
2019-04-03 16:41:10 +03:00
Marek Nečada c0b2343b89 Try whether Triton behaves better if the parallelized code uses no OpenBLAS.
Former-commit-id: ac1c17635e2d01d8a14129a90ffb43d3156510fa
2019-03-29 13:17:28 +02:00
Marek Nečada 652ab6f3ba Debug message types
Former-commit-id: 666a031026a363b15c01ca8cdc174fbf152dee8e
2019-03-27 09:25:47 +02:00
Marek Nečada 2ab4c55e13 Some control over the launched threads in scatsystem.
Former-commit-id: a67102dcb367b8fe577f9d8896c9a477571c7d6f
2019-03-26 11:33:22 +00:00
Marek Nečada f23edf0d71 Default number of threads in scatsystem.c set to 4, debug messages.
Former-commit-id: da244d95534eabe2be07327ba174467935518a12
2019-03-26 11:54:07 +02:00
Marek Nečada f04fd9496e Additional functionality to Cython wrappers.
Former-commit-id: 69c34b8ff0fb2d59ee6e62414e9999f2717ecfa0
2019-03-24 19:30:33 +02:00
Marek Nečada 8683c69c0e Cython wrapper over qpms_permittivity_interpolator_t.
Former-commit-id: 38b362b52a8e8f5b6defca688b0589b25a2dfe22
2019-03-24 14:47:42 +00:00
Marek Nečada d7a64f5928 Reimplementation of qpms_permittivity_interpolator_t.
Former-commit-id: 740c89d441f3970bdd2aa4d64d8707c74e990b0c
2019-03-24 14:28:09 +00:00
Marek Nečada 115d1d07fe Material data interpolator + Mie T-matrix convenience functions.
Former-commit-id: 59c9a53bff38a46e357f091c084655192faddb51
2019-03-20 23:19:29 +02:00
Marek Nečada 6ee4518bb1 Complex Bessel functions using amos.
Not working yet, probably because of unset machine constants in i2mach.f, d1mach.f.


Former-commit-id: 94a15b3bbbcb26b21533866c984076aeefcecb5e
2019-03-20 20:48:01 +02:00
Marek Nečada 959bb09526 More CMakeLists.txt additions.
Former-commit-id: a013013072fc854abcc7e5cc8366e1979ce4d3ba
2019-03-20 14:13:41 +02:00
Marek Nečada 31bab5225f Initial CMakeLists.txt
Former-commit-id: a5ddf172f707e94cb7d823750ff0e2bb0524e432
2019-03-19 14:33:44 +00:00
Marek Nečada 4475cffeba C Mie T-matrices but demand yet Bessel functions of complex arguments.
Former-commit-id: 101201f5d72ab0f45eefc09c860b65b6841460bf
2019-03-18 19:54:29 +02:00
Marek Nečada 2af9b83e35 Move T-matrix -related C code to scatsystem.[ch]
Former-commit-id: e9a162c14fe5d91281d79d9af08014787cd7ed13
2019-03-18 15:04:21 +02:00
Marek Nečada 791a46b446 Fix M, N reordering in python T-matrix loader.
Former-commit-id: dd9709a5c82c19c33877e508a3336dce43c35b67
2019-03-18 09:35:10 +02:00
Marek Nečada 98da54946c Parallel mode problem matrix creation.
Former-commit-id: a81323f6ba53fc5e790e489314bca98f6ae1ca0a
2019-03-18 01:06:04 +00:00
Marek Nečada 86b87c955c Fix the alternative order modematrix implementation
Former-commit-id: 7daaf636ca803565e2a72b03e1ce184ece24e4c0
2019-03-17 23:32:51 +00:00
Marek Nečada 7db7123c91 Alternative implementation of irrep packed modeproblem matrix.
Former-commit-id: ed37e98423e03f96f6fb850820bfae451f505f21
2019-03-17 21:49:10 +00:00
Marek Nečada 96a6fdf7fa Scatsystem metadata to iterate the particles in the orbit-layout order.
Former-commit-id: 468f8c3ef64c891ae8f0ef415c6f30a42307d471
2019-03-17 16:46:22 +00:00
Marek Nečada 3e94b1baec The quaternions were apparently correct after all (except for the ordering of conjugation in vector rotation).
Former-commit-id: c233f1501a565ad3bbed5933324a0b821d2d1379
2019-03-15 21:14:59 +00:00
Marek Nečada ea0b6fb402 Rectangular lattice SVD computation script for the new paper.
Former-commit-id: 771b278b2eee810892934f379ceefc8554e24946
2019-03-13 23:44:12 +02:00
Marek Nečada 7ef8e764c7 Deterministic ordering of irreps in generated C structures
Former-commit-id: 052e894a00d56492af3a8481a355cfff7f84cfa5
2019-03-13 23:13:41 +02:00
Marek Nečada 51d38798c3 Some useful ScatteringSystem class functionality.
Former-commit-id: c7ae5dcd3f601b79781b685804dae5262fc2a93d
2019-03-13 22:35:35 +02:00
Marek Nečada 40caf44a24 Remove unused variables
Former-commit-id: d1bd6585b5a33d713969ecea3be9a9ffd5ec122c
2019-03-13 18:15:30 +02:00
Marek Nečada 412d520e13 "Direct" generation of irrep-packed mode problem matrices.
Former-commit-id: e0833046f2f6052e5e0523dce6047e89d23509ff
2019-03-13 18:13:59 +02:00