Commit Graph

108 Commits

Author SHA1 Message Date
Marek Nečada 856903a98b Restructure headers to ensure ewald.h C++ compatibility 2022-03-30 10:58:07 +03:00
Marek Nečada dca04153f2 Fix unitialised diagonal blocks in full modeproblem matrix.
The bug in qpms_scatsysw_build_modeproblem_matrix_full()
via qpms_scatsysw_scatsyswk_build_modeproblem_matrix_full()
affected finite-size arrays: instead of filling the diagonal
interaction blocks with zeros, they were filled with undefined
values from a superfluous zgemm() call.
2021-12-21 11:29:44 +02:00
Marek Nečada 227aaf4021 Dirty fix of the otherwise non-literal arrays. 2021-12-08 14:09:15 +02:00
Marek Nečada fa6d93d3e8 Enable separation of long- and short-range of Ewald sum in python 2021-12-08 14:09:15 +02:00
Marek Nečada 1158e116d2 "Basis fields" for finite systems.
There seem to be race conditions in the prange'd cython parts.
2021-12-08 14:09:15 +02:00
Marek Nečada 414bee6c9f "Basis fields" for finite systems 2021-12-08 14:09:15 +02:00
Marek Nečada ae62cf903d C99 standard compliance for static const initialisers. 2020-07-23 14:18:07 +03:00
Marek Nečada 5246229b2d Code reuse 2020-07-23 10:00:39 +03:00
Marek Nečada 868e603f1c Infinite periodic system scattered field "bases" 2020-07-23 07:23:47 +03:00
Marek Nečada 24b5371e18 Remove erroneus "assert" 2020-07-03 20:08:49 +03:00
Marek Nečada 6009de6fa2 Evaluate scattered electric fields in 2d-periodic system.
Former-commit-id: 36386215f9d330a3047cb9a294ccc1de55f2121f
2020-05-31 16:34:09 +03:00
Marek Nečada 14a5c32202 Adjust eta for each (omega, k) pair to prevent hi-freq breakdown.
This effectively reverts 0b9129, because it does not make to define
Ewald parameter for just each frequency after all...


Former-commit-id: 6a3df5ecc1eecd6c120a74c70df5b747d593aae3
2020-04-26 17:10:47 +03:00
Marek Nečada 8ed4bdb683 Separate Ewald parameter for different frequencies
Former-commit-id: 0b9129fda0224411c2a1d8372fe715db4e071ecd
2020-04-22 16:18:16 +03:00
Marek Nečada 74f6c489ba Fix invalid pointer in pairwise translation matrix.
This caused errors for multi-particle periodic systems.


Former-commit-id: 82e6630e196a1d2d05218519ac296ff1879fc0df
2020-04-12 19:03:37 +03:00
Marek Nečada 1b4b397093 Cleanup: eliminate bare abort()s
Former-commit-id: bb1e4ada19e6bcbf87d6ea1fce0897c4478fb045
2020-03-26 19:19:40 +02:00
Marek Nečada 3ebc1af946 Finer error handling.
Former-commit-id: f30b79d2cc321fc06030374176f5013ff179ffc8
2020-03-23 12:07:43 +02:00
Marek Nečada c031d65905 Allow different Bessel kind in scattered_E
Former-commit-id: afbc59cf542daec6e89d4a48f01acfb7e515819c
2020-03-23 12:01:04 +02:00
Marek Nečada b3d15a1bb7 Alternative implementation of qpms_scatsys_scattered_E()
For testing purposes. Seems to work OK.


Former-commit-id: 897e687d27dbd81b2aaac17fb8f19bc4257dc887
2020-03-21 18:49:28 +02:00
Marek Nečada 35ffc61faf Scatsystem scattered E field methods
Former-commit-id: 6521916a81a7c8022bfaefb7102ae657eef99516
2020-03-21 08:11:16 +02:00
Marek Nečada 5270430bfd xy-periodic lattice Beyn algorithm support in ScatteringSystem
Gives same results as newbeyn_unitcell 26d6e969, making it obsolete.


Former-commit-id: b1b1b1e2c11f60948efda237388bfdf9b6d689f5
2020-03-09 10:14:40 +02:00
Marek Nečada 3791db2060 xy-periodic lattice scattering support in ScatteringSystem
Gives same results as newbeyn_unitcell 26d6e969


Former-commit-id: 112ab071f41ee556716da67219d859c1dc50ac1d
2020-03-06 14:46:00 +02:00
Marek Nečada dd391747bf Scrap the ss->per flexible array thing to avoid excessive mess.
Former-commit-id: b430865714557c21764515dd3243ce42be0f800a
2020-02-28 23:46:55 +02:00
Marek Nečada 78c793fb68 Beyn wrappers for periodic system.
Former-commit-id: c4c21de7d02af36d35133ff9ef0c426742eab6ff
2020-02-28 21:22:36 +02:00
Marek Nečada 1fb4e5760a scatsystem: mode problem matrix for xy-plane periodic systems
Former-commit-id: 755bb86f966b031861a2338eb97e68111694b1d8
2020-02-28 13:53:53 +02:00
Marek Nečada 2b628736f0 WIP 2D in 3D -periodic scatsystem
Former-commit-id: e53b6b1f8361efc6c66260e776688b4e941660ad
2020-02-27 17:03:09 +02:00
Marek Nečada bf49531666 Experimental support for periodic lattices in scatsys "constructor".
Former-commit-id: 69727f4d415866b948af83c55ed8adb46b651f16
2020-02-14 16:35:55 +02:00
Marek Nečada 2499c739c8 New members to qpms_scatsys_t for periodic lattices.
Former-commit-id: 94011c64fb1928b20419e628de045dbc762167eb
2020-02-13 23:02:46 +02:00
Marek Nečada 54315c61c8 Irrep-decomposed scatsys beyn; fix missing FinitePointGroup reference
Former-commit-id: fa1032eb8fcb8ce1018b69fff5af6375b34115be
2020-02-04 20:19:42 +02:00
Marek Nečada b4bd1eedac Beyn wrappers for finite system, doxygen
Former-commit-id: 236e802bc92c5fb0984f83b00c77555d5c29430d
2020-02-04 20:19:42 +02:00
Marek Nečada c7c27c4731 Fix memory leaks; use error macros
Former-commit-id: eee02afb23fe4c2be815c64be3a8bb589506a6e7
2020-02-04 16:55:07 +02:00
Marek Nečada bc5a024e86 Fix another stupid bugs
Former-commit-id: 093b5d5f09ac6a6f9be35fb7e20f73b2ba48f1d6
2020-01-21 11:52:45 +02:00
Marek Nečada a2a51d0de6 Fix k-argument related bugs etc.
Former-commit-id: 72c955f31bcd1bfd9cd714c5b19d038f9c7ec6e3
2020-01-20 17:30:36 +02:00
Marek Nečada 937757cf47 Fix unitialised values, assertion.
Former-commit-id: ad712e7b88996e636e78350dcd23cfaf611bf0ec
2020-01-20 15:50:23 +02:00
Marek Nečada 80a9f8703a Fix index mismatch
Former-commit-id: b1077e37785539b055c9d182b35273e321c0eda8
2020-01-17 16:06:51 +02:00
Marek Nečada 4674fa5844 fix qpms_tmatrix_copy and pointer for comparison
Former-commit-id: 98d91011109689512ccda2f8aab593909d0555e0
2020-01-16 10:33:04 +02:00
Marek Nečada a16cea4dca Set medium generators
Former-commit-id: 4eceb154349587fdb363a3e46073f065aa70fe61
2020-01-16 08:51:05 +02:00
Marek Nečada c445b83593 Implement previously forgotten functions.
Former-commit-id: df5215ad0349eb75bd2c7bee60f1fac50d23eb99
2020-01-16 07:52:50 +02:00
Marek Nečada c86b881088 Forgotten function renames
Former-commit-id: 89fa50cd8cfbdcf055e57f54093464f1e028c5bc
2020-01-10 15:20:10 +02:00
Marek Nečada 5a98b91b3d Rewriting scatsystem: compiles without errors now.
Former-commit-id: cd68b0feaef7181874d94dc535fd2cc9bc89e518
2020-01-10 11:44:15 +02:00
Marek Nečada 541af5a984 WIP Rewriting scatsystem.
Former-commit-id: 17f0f48ab54b84c4701b17846f941dd0142eb668
2020-01-09 16:57:30 +02:00
Marek Nečada 5dd93235f0 New qpms_scatsys_apply_symmetry kinda done?
Former-commit-id: 49a7a7984af6ad6e0e5ec1b5cc7b61ac06f81b8d
2020-01-09 10:42:49 +02:00
Marek Nečada 7e57c3cc81 WIP new scatsystem
(keskeytetty n. scatsystem.c:214)


Former-commit-id: 5d205f46f38f7b9e988bd03b8a9bff70b3986808
2020-01-08 16:00:09 +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 28f4e7f3d2 Complexify wavenumber in (finite) translation operators.
Former-commit-id: f84e1588cdda916d8feda6d807c12bca69512e5f
2019-11-06 18:13:50 +02: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 3f25161e21 Correct orbit particle index type
Former-commit-id: bf7c240d62ea661e22e320cb26be7ee06a058832
2019-08-03 12:51:27 +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 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