From c86ff698275ece6e140e818cea10190eb1358d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ne=C4=8Dada?= Date: Tue, 14 Jan 2020 10:09:17 +0200 Subject: [PATCH] WIP cython scatsystem Former-commit-id: f869e671148d3a75bbf34afe24aad02fd0d32611 --- qpms/cytmatrices.pxd | 2 +- qpms/qpms_c.pyx | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/qpms/cytmatrices.pxd b/qpms/cytmatrices.pxd index 183ec29..6e462b3 100644 --- a/qpms/cytmatrices.pxd +++ b/qpms/cytmatrices.pxd @@ -1,5 +1,5 @@ cimport numpy as np -from .qpms_cdefs cimport qpms_tmatrix_t, cdouble, qpms_tmatrix_interpolator_t +from .qpms_cdefs cimport qpms_tmatrix_t, cdouble, qpms_tmatrix_interpolator_t, qpms_tmatrix_generator_t from .cybspec cimport BaseSpec cdef class TMatrixInterpolator: diff --git a/qpms/qpms_c.pyx b/qpms/qpms_c.pyx index 7f27b17..ef5554c 100644 --- a/qpms/qpms_c.pyx +++ b/qpms/qpms_c.pyx @@ -320,7 +320,7 @@ cdef class ScatteringSystem: cdef qpms_scatsys_t *s cdef qpms_tmatrix_function_t *tmg # this will ultimately contain pointers to stuff in basespecs and tmgens. - def __cinit__(self, particles, FinitePointGroup sym): + def __cinit__(self, particles, FinitePointGroup sym, omega): '''TODO doc. Takes the particles (which have to be a sequence of instances of Particle), fills them together with their t-matrices to the "proto-qpms_scatsys_t" @@ -540,6 +540,16 @@ cdef class ScatteringSystem: def scatter_solver(self, double k, iri=None): return ScatteringMatrix(self, k, iri) +cdef class ScatteringSystemAtOmega: + ''' + Wrapper over the C qpms_scatsys_at_omega_t structure + that keeps the T-matrix and background data evaluated + at specific frequency. + ''' + cdef qpms_scatsys_at_omega_t ssw + + pass #TODO + cdef class ScatteringMatrix: ''' Wrapper over the C qpms_ss_LU structure that keeps the factorised mode problem matrix.