Commit Graph

584 Commits

Author SHA1 Message Date
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