123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- __version__ = '2.3'
- __title__ = 'Calculation of the scattering of EM radiation by a multilayered sphere'
- __mod__ = 'python-scattnlay'
- __author__ = 'Ovidio Peña Rodríguez'
- __email__ = 'ovidio@bytesfall.com'
- __url__ = 'https://github.com/ovidiopr/scattnlay'
- __download_url__ = 'https://github.com/ovidiopr/scattnlay/archive/v' + \
- __version__+'.0.tar.gz'
- from setuptools import setup
- from setuptools.extension import Extension
- import numpy as np
- import pybind11 as pb
- ext_dp = Extension("scattnlay_dp",
- ["src/pb11_wrapper.cc"],
- language="c++",
- include_dirs=[np.get_include(), pb.get_include()],
- extra_compile_args=['-std=c++11'])
- ext_mp = Extension("scattnlay_mp",
- ["src/pb11_wrapper.cc"],
- language="c++",
- include_dirs=[np.get_include(), pb.get_include()],
- extra_compile_args=['-std=c++11', '-DMULTI_PRECISION=100'])
- def run_setup(extensions):
- setup(name=__mod__,
- version=__version__,
- description=__title__,
- long_description="""The Python version of scattnlay, a computer implementation of the algorithm for the \
- calculation of electromagnetic radiation scattering by a multilayered sphere developed by Yang. It has been \
- shown that the program is effective, resulting in very accurate values of scattering efficiencies for a wide \
- range of size parameters, which is a considerable improvement over previous implementations of similar algorithms. \
- For details see: O. Pena, U. Pal, Comput. Phys. Commun. 180 (2009) 2348-2354.""",
- author=__author__,
- author_email=__email__,
- maintainer=__author__,
- maintainer_email=__email__,
- keywords=['Mie scattering', 'Multilayered sphere',
- 'Efficiency factors', 'Cross-sections'],
- url=__url__,
- download_url=__download_url__,
- license='GPL',
- platforms='any',
- packages=['scattnlay'],
- test_suite="tests",
- ext_modules=extensions
- )
- try:
- run_setup([ext_dp, ext_mp])
- except:
- print('Failed to build all extensions... Building only in double precision...')
- run_setup([ext_dp])
|