Marek Nečada
1221012c7b
Fix reciprocal basis (transposition) in argproc.py
...
Former-commit-id: 67df0d195ad0b70b508d1019a7d64c2f37689aeb
2020-04-28 12:58:06 +03:00
Marek Nečada
2f14de7dde
Hex example fix K point position; add real freq SVD
...
Former-commit-id: 5c7c1e2099a649e778beebf9382cd527108db5f4
2020-04-27 16:56:31 +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
999dc7f72e
Move MIN,MAX,SQ macros to a common header
...
Former-commit-id: 5f2598476b090ca3f9254325c1f69315182c8c30
2020-04-26 17:07:59 +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
83e76b1f95
Expose Ewald parameter to Python
...
Former-commit-id: dc3e794f0cb146da3ab8d8dd5e46c81997e8bc51
2020-04-21 23:34:49 +03:00
Marek Nečada
2460f3b644
ScatteringSystem: docstrings, avoid crash on underflow
...
Former-commit-id: adb2c2b9ec142b881ac722a4fe8188256e8ce589
2020-04-20 17:31:34 +03:00
Marek Nečada
fe55f4b391
More general script for 2D lattice modes.
...
Former-commit-id: 9b734deabc1b010276fe75e59def698c7eb94b65
2020-04-13 08:25:46 +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
3da6e5cfb2
WIP argproc multiparticle; update misc scripts
...
Former-commit-id: 50986e9e57873f8aca1ec7a8aafaa659434a839f
2020-04-12 10:56:07 +03:00
Marek Nečada
c5c148ca40
Fix eigenvalue matrix dimensions in Beyn.
...
Former-commit-id: 4d3b5269df29897ac09632bc0278a99dce2507d8
2020-04-12 00:48:13 +03:00
Marek Nečada
63aa338891
Fix syntax error which gcc tolerated
...
Former-commit-id: 696ccbfad8997a9c8935def2ce4406a21a51dcf8
2020-04-11 10:05:28 +03:00
Marek Nečada
2ccf9e2c5d
Dummy CPU number hack for systems without the sysconf option.
...
Former-commit-id: 5a6b14d97f5a1edfdf1e0e5d058d4f8de794d5fc
2020-04-11 10:01:12 +03:00
Marek Nečada
231a76529d
Quit Fortran dependencies, using own f2c'd version of amos.
...
TODO doc; submodule init needed
Former-commit-id: 761fc06adffebb05d28a389243771f0bdde70cc0
2020-04-10 23:19:18 +03:00
Marek Nečada
ba06abe13f
BaseSpec __eq__() and __hash__()
...
Former-commit-id: da4245315207dc75a70ca6a036fb8be17e243bf9
2020-04-07 19:32:58 +03:00
Marek Nečada
3458acca16
Infinite rect lattices script multiple freqs etc.
...
Former-commit-id: 8db37dfaf051abf1d6a542eb6ca9b40317848469
2020-04-05 21:41:15 +03:00
Marek Nečada
3f266f5501
More cdefs from vectors.h
...
Former-commit-id: f1aa88cd3e4dbe2bccc1b7c3648cd9afe08da0c1
2020-04-05 02:19:48 +03:00
Marek Nečada
9b9338be05
Fix critical bug in qpms_vecspharm_fill()
...
Pointer incrementation in wrong cycle, leading to numerically
completely wrong results in most cases.
At higher level, this seems to have affected only plane wave
decompositions.
Former-commit-id: 7ebdb8b8f3f645d76e924b86379172d2c6fac8dc
2020-04-05 01:43:38 +03:00
Marek Nečada
e774b30d0c
Some little docstrings.
...
Former-commit-id: 762774a600ca9a02fecba86e6cb6e6992a1d1b05
2020-04-03 21:55:11 +03:00
Marek Nečada
70d03f75aa
Argproc: waves with polarisation; update finiterectlat-scatter.py
...
Former-commit-id: a24428bd19d90ad6d13ab3cfe4d1c0fc406dc451
2020-04-02 18:27:43 +03:00
Marek Nečada
a88694e7ef
Make infinite rect lat. / real freq. SVD work with ScatteringSystem.
...
Former-commit-id: 56beaeca0b44ca9087208c5e27c007d492572302
2020-03-27 14:48:15 +02:00
Marek Nečada
8b7e2c6332
Rectangular lattice SVD cut at gamma point, real frequency
...
(cherry picked from commit 3fd87de397b5a2228e377e525dabd3e64a641d62 [formerly 57a498625671d8fefccd688fde848ce484f0a6ef])
Former-commit-id: e1b8cab071a5ba2b4f0328aba6930981ba1b3293
2020-03-27 12:36:34 +02:00
Marek Nečada
5f729d28a7
Avoid using Stead method from GSL above certain threshold.
...
Former-commit-id: aa8012deef69ecce95f203b1b5746cfaa0980806
2020-03-26 19:21:47 +02: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
20a13cdb2c
Doxygenise qpms_error.h
...
Former-commit-id: 9ed5d7c4352fb6e0d9ef3922fd491010e1f8c16e
2020-03-23 21:59:29 +02:00
Marek Nečada
3ebc1af946
Finer error handling.
...
Former-commit-id: f30b79d2cc321fc06030374176f5013ff179ffc8
2020-03-23 12:07:43 +02:00
Marek Nečada
2798fcce49
Replace abort() calls with custom macros in vswf.c
...
Former-commit-id: 43f374a0973d6f0f1d4f7edaba6fcf229223a9cc
2020-03-23 12:04:32 +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
aa82b3a01a
Fix allocated array sizes.
...
Former-commit-id: 7183f7f104df3af58d994d5e485b59cebb4365b3
2020-03-21 16:31:41 +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
433be52bbc
Fix ScatteringSystem.fullvec_poffsets
...
Former-commit-id: 5a186bb4c22474124ab34d3fd6d5920587b0514d
2020-03-18 09:34:51 +02:00
Marek Nečada
4b2e48f459
Reduce tolerances as a workaround for inprecise integration.
...
Former-commit-id: bff40ebc4b77a7621b609669ac690475ae0c6fd4
2020-03-18 09:34:05 +02:00
Marek Nečada
15328a3dc9
Minor additions to docs.
...
Former-commit-id: f913e5f00c630c15a2ab7a92aba26ba27232eb36
2020-03-13 09:30:38 +02:00
Marek Nečada
79b805a6aa
Remove pre-Ewald lattice sum related "split-Bessel" functions
...
Former-commit-id: 18d1c77460bf1563cab50b3c55d481f8dc696364
2020-03-11 15:02:04 +02:00
Marek Nečada
57483ac9c8
Fix cython declarations.
...
Former-commit-id: f6300c94d19349dabc6e9fc034c405c7179223fe
2020-03-10 16:24:50 +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
213853e407
WIP cython support for periodic lattices
...
Former-commit-id: f679f63941ec8dd597a5ccd140682de889e21807
2020-02-29 01:35:12 +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
f994514aeb
General heap-based lattice point generator compiles, untested.
...
Former-commit-id: 8106cf72ad1d96426c2273493499db48d232f642
2020-02-25 17:59:33 +02:00
Marek Nečada
1e765e3cf6
WIP Binary-heap based arbitrary-dimensional lattice point generator.
...
Former-commit-id: 9d58da7295f5918c7758c168a2352cc686efac98
2020-02-25 09:13:47 +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
379dc3117e
Move periodic lattice-related stuff into a separate structure
...
Former-commit-id: f2f49245a808a592d8f7c6bc7d795ae293d5ae62
2020-02-14 08:25:34 +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
3fed9396a1
support for TMatrixInterpolator in TMatrixGenerator
...
Former-commit-id: ae3849483ca5d45d39ab51f9340d0c3c7a347865
2020-02-13 19:05:11 +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
cea33ae97c
Beyn algorithm cython wrapper (finite systems)
...
Former-commit-id: 7f17e9673b9389fbf444d871e92f9b12e10d875d
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
68812c9555
Beyn algorithm "cherry-pick" from 'newbeyn_unitcell'
...
- Add rank_min_sel argument to beyn_solve() and beyn_solve_gsl()
- Fix order of K and K_coarse evaluation (K_coarse should probably
be removed).
Former-commit-id: 8d2be922f8aa62754d10928f53fa6ab68f00dc8e
2020-02-04 20:19:42 +02:00
Marek Nečada
daf95e799a
Avoid tmgen multiplicities (->slowdown) in ScatteringSystem constructor
...
Former-commit-id: 438ba0667e36a7c51b2ac5fe58cf62fea17eb132
2020-02-04 16:55:18 +02:00
Marek Nečada
c11fe19af3
Remove build type hardcode spec.
...
Also add QPMS_NORETURN attribute/macro.
Former-commit-id: 0a3fa2ecb35e8ffcee698c98553577ab2bb513b0
2020-02-04 16:55:13 +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
609b6e6265
Extract and inline translation matrix reordering procedure.
...
Former-commit-id: 327e1ccf9efc26647896db5bbe1a1a4e4d034d3c
2020-01-23 16:16:41 +02:00
Marek Nečada
0a7bd72004
Minor translations refactoring.
...
Former-commit-id: c4617e67be53861dc4080483f1457a6cbe31e2e9
2020-01-23 12:03:54 +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
71852aa017
Fix function name in header.
...
Former-commit-id: d9171a27990855ba0bdce741929b445b9688b444
2020-01-20 16:29:10 +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
3da4ec6b07
Disable useless compiler warnings.
...
(To be enabled again later during code cleanup.)
Former-commit-id: b89a16fad5d13d2f39f550b3e5e2e9b991908821
2020-01-20 12:22:45 +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
355bc52325
Rewrite ScatteringSystem. Compiles, not tested.
...
Former-commit-id: 513741a41cd9b65348a8e91c367cd105592a0d68
2020-01-15 03:51:35 +02:00
Marek Nečada
6d83e26aa7
Cython wrapper over qpms_tmatrix_function_t
...
Former-commit-id: 85b601b7b70bc664d0348619d46fef3bac98fd17
2020-01-14 22:09:55 +02:00
Marek Nečada
b578f305ac
Support for constant T-matrix generator in cython.
...
Former-commit-id: 184f88b0acf453d09e67f03cf41db06b4b4015bb
2020-01-14 19:19:08 +02:00
Marek Nečada
c86ff69827
WIP cython scatsystem
...
Former-commit-id: f869e671148d3a75bbf34afe24aad02fd0d32611
2020-01-14 10:09:17 +02:00
Marek Nečada
8f90842b24
Minor docs update in scatsystem.h
...
Former-commit-id: 78caf1608c4ade295d47c17c20fb5743396cc8e8
2020-01-14 09:17:13 +02:00
Marek Nečada
b708b74292
WIP Updating the cython scatsystem etc.
...
Former-commit-id: ead1919c099cb2a0953310953685df69b7e1cbfb
2020-01-10 17:11:55 +02:00
Marek Nečada
be8f55eb1f
Update qpms_cdefs.pyx
...
Former-commit-id: 7e1126b1bb594ffb1a8e5e9ed7a91839c0833b8f
2020-01-10 15:45:42 +02:00
Marek Nečada
6cf1f667de
Default tolerance constant.
...
Former-commit-id: 19951825d21f94455da0228430a674eec37e7653
2020-01-10 15:20:45 +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
3bf263c4f3
Copying of T-matrix operations
...
Former-commit-id: dea91f97e5e72146039868ab5f0c8ac5e7ea7a57
2020-01-08 15:18:25 +02:00
Marek Nečada
e1a6389232
Some new convenience functions and types.
...
Former-commit-id: 7701cd8ee779e06ba18d6e19bfe650bd9465487f
2020-01-08 14:39:29 +02:00
Marek Nečada
d31d8737b8
WIP scatsystem update for "abstract" T-matrices.
...
Former-commit-id: 7f723a0f459f263e12282edfb1e8deb440650880
2020-01-07 16:57:59 +02:00
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