Commit Graph

750 Commits

Author SHA1 Message Date
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
Marek Nečada 12da9f3b5a Various tests and macro conditions.
Former-commit-id: ed964c6284d98ed315a442be48b2dab3d7685222
2019-03-13 16:18:47 +02:00
Marek Nečada ddfd4954dc Fix complex conjugation; now all available point groups seem to work.
Former-commit-id: 764155cddfd30162b01c6552cea8718d55a26fd6
2019-03-13 15:59:05 +02:00
Marek Nečada 07aed6feb7 Fix offset increment in matrix packing.
Now it works for a z-dipole system.


Former-commit-id: 3e4aa9d4736ecc18e561d0ba5c2c19b0a027e37c
2019-03-13 13:24:44 +02:00
Marek Nečada d11db980f9 A slow but working reference implementation of matrix (un)packing.
Former-commit-id: 5f85c4983a8754ebae03980242b896a79954a73e
2019-03-13 12:28:40 +02:00
Marek Nečada 02ec8804d0 Fix quaternion conjugation order on vector rotation.
Now it does not crash on C4v and the projectors seem to be indeed
projectors, but the translation operator decomposition is still wrong.


Former-commit-id: 6273c5a76b4e424f77b12514df209b995999b24b
2019-03-12 22:22:02 +02:00
Marek Nečada 6f66ddc845 Additional symmetries
Former-commit-id: dce9d43c0bfbce7166e6365f40591fbf5f9b4873
2019-03-12 21:38:37 +02:00
Marek Nečada a2e61ad67a Particle position dump
Former-commit-id: 75cfdfff52531da4d9e52a162774fe59d2595a1b
2019-03-12 18:32:38 +02:00
Marek Nečada 8efd582daf Fix offset incrementation on the diagonal.
Solves the translation matrix projection discrepancy.


Former-commit-id: 7bb7dbba47aa5ac3df32177098c096a86d2879fd
2019-03-12 15:44:07 +02:00
Marek Nečada b51b3bd7d0 Merge branch 'master' into fixprojs
Former-commit-id: 6bbae4be09579d1932586ee3f4f616c757af7820
2019-03-12 13:11:22 +02:00
Marek Nečada 1033daf52e Fix lMax_L in qpms_vswf_set_spec_from_lMax().
Former-commit-id: b864e059aaf1108954c3f1a0d343f51450b05284
2019-03-12 13:08:30 +02:00
Marek Nečada d63dd2cae2 Fix projections - work in progress
Former-commit-id: f2f6d3d762fc7c2d728af0cf31c1229ed8db1b1c
2019-03-12 07:01:10 +00:00
Marek Nečada 431c8b9933 Fix orbit building
Former-commit-id: eff33b43a5f7f4994e56cd2ef83be5fe10db6cfb
2019-03-11 22:46:16 +00:00
Marek Nečada 04a181ae9b Fix quaternion-based rotation.
Former-commit-id: 3614adf2aa69752a529b20f73c29e7f8994826ae
2019-03-11 21:32:33 +00:00
Marek Nečada 99db225b02 Debug dump projectors and action matrices.
Former-commit-id: d2c573b98bc06f019a28d462eac4459771889932
2019-03-11 14:38:17 +00:00
Marek Nečada 297995690a Handling of zero packed orbit sizes.
Former-commit-id: 75ff318b4c91477a22f0fcee30fcb8812de1faba
2019-03-10 16:53:01 +00:00
Marek Nečada f30c5a88d9 Fix T-matrix duplicity remapping
Former-commit-id: de1be4e08dabce7ccb404f5f8dfd288c6bac1741
2019-03-10 15:37:39 +00:00
Marek Nečada 20af81440f Fixes in vswf spec.
Former-commit-id: 87e0dbd73de266801c5bed7e8d3e43aaf4a0ed0e
2019-03-10 13:52:12 +00:00
Marek Nečada 53109e6d92 Fix realloc pointer shifts
Former-commit-id: 93631e50597ccde2f179fcd55e9b14c5bf85d3e9
2019-03-10 12:43:35 +00:00
Marek Nečada a51236e058 Fix a memcpy size, new crashing realloc macro.
Former-commit-id: 87a5690ad2297f4062f1f8349838440599f7172e
2019-03-09 18:47:05 +00:00
Marek Nečada cce4f15eac some tests and calculate the translation matrix separately; still not working
Maybe the problem is with the x-y flips?


Former-commit-id: 6a1ffe4c9697c7ece90a359211ee4a82b2dbb538
2019-03-09 12:29:43 +00:00
Marek Nečada e265c01760 Scatsys full mode problem matrix; wrong result.
Former-commit-id: d09e4210fa543068e0e6a7df80a1bef134e60ca7
2019-03-09 10:59:26 +00:00
Marek Nečada c2bdb09f7d Translation coefficients with uvswfi
Former-commit-id: fa02700e9b2dd10a85e1d15c533448f63efb9b93
2019-03-09 07:39:11 +00:00
Marek Nečada fb706b07ae Convenience function to create the 'usual' bspecs.
Former-commit-id: ce4e1cbab81ef251ad44cb58d765b6b19a0179aa
2019-03-09 00:36:22 +00:00
Marek Nečada 4dfb358de6 Matrix symmetry-adapted base packing/unpacking fixed.
Former-commit-id: 4993a41082c5f14e6b8cc3adb41ceab902c16820
2019-03-09 00:15:48 +00:00
Marek Nečada 5f3759bdb3 ss matrix projections and unpacking (Broken)
Former-commit-id: 58ed4c05f8b042feb896d5dd49f5d3a5616e979f
2019-03-08 13:39:37 +00:00
Marek Nečada fd13756b86 ss vector packing and unpacking fixed and cython-wrapped.
Former-commit-id: ab1002b4c7b6fa4b7c14520d689cd7cd030b84e0
2019-03-08 11:10:33 +00:00
Marek Nečada 50581dcf7e Matrix symmetry adapted base packing and unpacking (untested).
Former-commit-id: 77724b4fc6763e1591318f42a95ef2e7fbfcbcb9
2019-03-08 08:53:59 +00:00
Marek Nečada 52b69fb00b Scatsystem matrix packing unfinished
Former-commit-id: 9f9806529550b3e109d284395ce53c61df648d7e
2019-03-07 13:08:11 +02:00
Marek Nečada 519e60a501 Scatsystem: excitation coefficient vector irrep packing and unpacking.
Former-commit-id: 5a4b983f43a0e429a8d92eff435d763358a3ad99
2019-03-07 12:17:06 +02:00
Marek Nečada 0053eeb953 Numbering the orbits of the same type.
Former-commit-id: 2911e40cbf8fce5f7fe6fe5c26fccdfb1fad5357
2019-03-07 07:42:49 +00:00
Marek Nečada a4b0022305 scatsystem.h new prototype drafts and misc.
Former-commit-id: 954f4f82f5fc3932425b696b05dcab88a5566479
2019-03-07 07:10:43 +00:00
Marek Nečada 0fb36f1e4c Group generation made deterministic.
Former-commit-id: ee2f92e71427c11348e8fad8c8cee2dfa16fd3d8
2019-03-07 05:09:44 +00:00
Marek Nečada 1d77d76b80 scatsys orbit base generator
Former-commit-id: 098c02bbab329ef54c081eda868fc16eda3c8821
2019-03-07 04:46:19 +00:00