support for TMatrixInterpolator in TMatrixGenerator
Former-commit-id: ae3849483ca5d45d39ab51f9340d0c3c7a347865
This commit is contained in:
parent
54315c61c8
commit
3fed9396a1
|
@ -266,7 +266,10 @@ cdef class TMatrixGenerator:
|
|||
self.holder = what
|
||||
self.g.function = qpms_tmatrix_generator_constant
|
||||
self.g.params = <void*>(<CTMatrix?>self.holder).rawpointer()
|
||||
# TODO INTERPOLATOR
|
||||
elif isinstance(what, TMatrixInterpolator):
|
||||
self.holder = what
|
||||
self.g.function = qpms_tmatrix_generator_interpolator
|
||||
self.g.params = <void*>(<TMatrixInterpolator?>self.holder).rawpointer()
|
||||
else:
|
||||
raise TypeError("Can't construct TMatrixGenerator from that")
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ from .cyquaternions cimport IRot3, CQuat
|
|||
from .cybspec cimport BaseSpec
|
||||
from .cycommon cimport make_c_string
|
||||
from .cycommon import string_c2py, PointGroupClass
|
||||
from .cytmatrices cimport CTMatrix, TMatrixFunction, TMatrixGenerator
|
||||
from .cytmatrices cimport CTMatrix, TMatrixFunction, TMatrixGenerator, TMatrixInterpolator
|
||||
from .cymaterials cimport EpsMuGenerator
|
||||
from libc.stdlib cimport malloc, free, calloc
|
||||
import warnings
|
||||
|
@ -271,6 +271,9 @@ cdef class Particle:
|
|||
raise ValueError("Position argument has to contain 3 or 2 cartesian coordinates")
|
||||
if isinstance(t, CTMatrix):
|
||||
tgen = TMatrixGenerator(t)
|
||||
elif isinstance(t, TMatrixInterpolator):
|
||||
tgen = TMatrixGenerator(t)
|
||||
warnings.warn("Initialising a particle with interpolated T-matrix values. Imaginary frequencies will be discarded and mode search algorithm will yield nonsense (just saying).")
|
||||
elif isinstance(t, TMatrixGenerator):
|
||||
tgen = <TMatrixGenerator>t
|
||||
else: raise TypeError('t must be either CTMatrix or TMatrixGenerator, was %s' % str(type(t)))
|
||||
|
|
Loading…
Reference in New Issue