%global _empty_manifest_terminate_build 0 Name: python-tdyno Version: 0.1.7 Release: 1 Summary: FDTD with dynamic modulations in the refractive index or the gain/loss in materials. License: GNU Affero General Public License v3 or later (AGPLv3+) URL: https://github.com/alexysong/tdyno Source0: https://mirrors.aliyun.com/pypi/web/packages/bb/4c/55637ab9a8a1c7e44bfd3d1cbda574e482713136c0bc1a2994d47bb6f657/tdyno-0.1.7.tar.gz BuildArch: noarch Requires: python3-numpy Requires: python3-scipy Requires: python3-matplotlib %description **T-Dyno** is a 2D finite-difference time-domain (FDTD) package. Apart from conventional FDTD functionalities, TDyno is capable of applying dynamic modulations in both the real and the imaginary parts of the permittivity, i.e. having index modulations and gain/loss modulations. It can thus simulate dynamically modulated optical devices such as isolators, circulators, directional absorbers, and nonreciprocal amplifiers in the time-domain. ## Features T-Dyno natively supports the following features: * point sources * Total-field scattered-field (TF/SF) sources and directional plane-wave souces with the following temporal profiles: * continuous waves (cw) * Gaussian pulses * wave packets, i.e. Gaussian modulated cw waves * Convolutional perfectly matched layers (CPML) * Supported materials: * dispersionless lossy/lossless dielectrics * dispersive dielectrics (Lorentz model) * metal (Drude model) * dynamically modulated refractive index * dynamically modulated gain and loss * Shapes: * rectangle * circular * ring * wedge * Monitors Point monitors: weighted sum of the wave amplitudes on a set of points. Can the energy spectral density, power spectral density, number flux spectrum and number flux rate spectrum. Poynting energy flux monitor: monitor the real-time energy flux through a box or any edges of the box, from inside to outside. Calculate the frequency-space integral Poynting flux spectrum. * User interface Simple user interface where you can start, pause, reset, save plot, record videos, and save monitor data. ## Install $ pip install tdyno Or, $ git clone git://github.com/alexsong/tdyno $ pip install . ## Requirements - Python 2.7 or >= 3.6 - Numpy >= 1.11.3 - matplotlib >= 2.0.0 - scipy >= 0.19.0 - for recording videos, need to install `ffmpeg`. ## Usage The `examples` in the `examples/` folder are the easiest places to get started with the package. * `fdtd_2d.py` It's recommended that you go through `fdtd_2d.py` first, then move on to other examples. `fdtd_2d.py` contains a detailed explanation of the basic functionalities of the package. It contains: point sources and a TF/SF source with different source temporal profiles, PML absorbing boundary condition, and different types of materials and geometries to build a structure. https://user-images.githubusercontent.com/55603472/130169577-fa837496-456e-4b95-bf7c-93633b9a2fc7.mp4 * `ring_coupler.py` This is an example of a ring resonator coupled to input/output waveguides. * `waveguide_2d_dynamic_modulation.py` This example contains a waveguide under dynamic modulations. The modulation can be in the refractive index or in the gain/loss. This example also contain several point monitors and a Poynting monitor to measure wave intensities and calculate the spectrum. https://user-images.githubusercontent.com/55603472/130178495-1d9e19fb-0cf3-4a73-9e2b-c7f018962742.mp4 ## Citing If you find T-Dyno useful for your research, we would apprecite you citing our [paper](https://doi.org/10.1103/PhysRevA.99.013824). For your convenience, you can use the following BibTex entry: ``` @article{song2019dynamic, title={Direction-dependent parity-time phase transition and nonreciprocal amplification with dynamic gain-loss modulation}, author={Song, Alex Y. and Shi, Yu and Lin, Qian and Fan, Shanhui}, journal={Physical Review A}, volume={99}, issue={1}, pages={013824}, numpages={7}, year={2019}, month={Jan}, publisher={American Physical Society}, doi={10.1103/PhysRevA.99.013824}, url={https://link.aps.org/doi/10.1103/PhysRevA.99.013824} } ``` %package -n python3-tdyno Summary: FDTD with dynamic modulations in the refractive index or the gain/loss in materials. Provides: python-tdyno BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-tdyno **T-Dyno** is a 2D finite-difference time-domain (FDTD) package. Apart from conventional FDTD functionalities, TDyno is capable of applying dynamic modulations in both the real and the imaginary parts of the permittivity, i.e. having index modulations and gain/loss modulations. It can thus simulate dynamically modulated optical devices such as isolators, circulators, directional absorbers, and nonreciprocal amplifiers in the time-domain. ## Features T-Dyno natively supports the following features: * point sources * Total-field scattered-field (TF/SF) sources and directional plane-wave souces with the following temporal profiles: * continuous waves (cw) * Gaussian pulses * wave packets, i.e. Gaussian modulated cw waves * Convolutional perfectly matched layers (CPML) * Supported materials: * dispersionless lossy/lossless dielectrics * dispersive dielectrics (Lorentz model) * metal (Drude model) * dynamically modulated refractive index * dynamically modulated gain and loss * Shapes: * rectangle * circular * ring * wedge * Monitors Point monitors: weighted sum of the wave amplitudes on a set of points. Can the energy spectral density, power spectral density, number flux spectrum and number flux rate spectrum. Poynting energy flux monitor: monitor the real-time energy flux through a box or any edges of the box, from inside to outside. Calculate the frequency-space integral Poynting flux spectrum. * User interface Simple user interface where you can start, pause, reset, save plot, record videos, and save monitor data. ## Install $ pip install tdyno Or, $ git clone git://github.com/alexsong/tdyno $ pip install . ## Requirements - Python 2.7 or >= 3.6 - Numpy >= 1.11.3 - matplotlib >= 2.0.0 - scipy >= 0.19.0 - for recording videos, need to install `ffmpeg`. ## Usage The `examples` in the `examples/` folder are the easiest places to get started with the package. * `fdtd_2d.py` It's recommended that you go through `fdtd_2d.py` first, then move on to other examples. `fdtd_2d.py` contains a detailed explanation of the basic functionalities of the package. It contains: point sources and a TF/SF source with different source temporal profiles, PML absorbing boundary condition, and different types of materials and geometries to build a structure. https://user-images.githubusercontent.com/55603472/130169577-fa837496-456e-4b95-bf7c-93633b9a2fc7.mp4 * `ring_coupler.py` This is an example of a ring resonator coupled to input/output waveguides. * `waveguide_2d_dynamic_modulation.py` This example contains a waveguide under dynamic modulations. The modulation can be in the refractive index or in the gain/loss. This example also contain several point monitors and a Poynting monitor to measure wave intensities and calculate the spectrum. https://user-images.githubusercontent.com/55603472/130178495-1d9e19fb-0cf3-4a73-9e2b-c7f018962742.mp4 ## Citing If you find T-Dyno useful for your research, we would apprecite you citing our [paper](https://doi.org/10.1103/PhysRevA.99.013824). For your convenience, you can use the following BibTex entry: ``` @article{song2019dynamic, title={Direction-dependent parity-time phase transition and nonreciprocal amplification with dynamic gain-loss modulation}, author={Song, Alex Y. and Shi, Yu and Lin, Qian and Fan, Shanhui}, journal={Physical Review A}, volume={99}, issue={1}, pages={013824}, numpages={7}, year={2019}, month={Jan}, publisher={American Physical Society}, doi={10.1103/PhysRevA.99.013824}, url={https://link.aps.org/doi/10.1103/PhysRevA.99.013824} } ``` %package help Summary: Development documents and examples for tdyno Provides: python3-tdyno-doc %description help **T-Dyno** is a 2D finite-difference time-domain (FDTD) package. Apart from conventional FDTD functionalities, TDyno is capable of applying dynamic modulations in both the real and the imaginary parts of the permittivity, i.e. having index modulations and gain/loss modulations. It can thus simulate dynamically modulated optical devices such as isolators, circulators, directional absorbers, and nonreciprocal amplifiers in the time-domain. ## Features T-Dyno natively supports the following features: * point sources * Total-field scattered-field (TF/SF) sources and directional plane-wave souces with the following temporal profiles: * continuous waves (cw) * Gaussian pulses * wave packets, i.e. Gaussian modulated cw waves * Convolutional perfectly matched layers (CPML) * Supported materials: * dispersionless lossy/lossless dielectrics * dispersive dielectrics (Lorentz model) * metal (Drude model) * dynamically modulated refractive index * dynamically modulated gain and loss * Shapes: * rectangle * circular * ring * wedge * Monitors Point monitors: weighted sum of the wave amplitudes on a set of points. Can the energy spectral density, power spectral density, number flux spectrum and number flux rate spectrum. Poynting energy flux monitor: monitor the real-time energy flux through a box or any edges of the box, from inside to outside. Calculate the frequency-space integral Poynting flux spectrum. * User interface Simple user interface where you can start, pause, reset, save plot, record videos, and save monitor data. ## Install $ pip install tdyno Or, $ git clone git://github.com/alexsong/tdyno $ pip install . ## Requirements - Python 2.7 or >= 3.6 - Numpy >= 1.11.3 - matplotlib >= 2.0.0 - scipy >= 0.19.0 - for recording videos, need to install `ffmpeg`. ## Usage The `examples` in the `examples/` folder are the easiest places to get started with the package. * `fdtd_2d.py` It's recommended that you go through `fdtd_2d.py` first, then move on to other examples. `fdtd_2d.py` contains a detailed explanation of the basic functionalities of the package. It contains: point sources and a TF/SF source with different source temporal profiles, PML absorbing boundary condition, and different types of materials and geometries to build a structure. https://user-images.githubusercontent.com/55603472/130169577-fa837496-456e-4b95-bf7c-93633b9a2fc7.mp4 * `ring_coupler.py` This is an example of a ring resonator coupled to input/output waveguides. * `waveguide_2d_dynamic_modulation.py` This example contains a waveguide under dynamic modulations. The modulation can be in the refractive index or in the gain/loss. This example also contain several point monitors and a Poynting monitor to measure wave intensities and calculate the spectrum. https://user-images.githubusercontent.com/55603472/130178495-1d9e19fb-0cf3-4a73-9e2b-c7f018962742.mp4 ## Citing If you find T-Dyno useful for your research, we would apprecite you citing our [paper](https://doi.org/10.1103/PhysRevA.99.013824). For your convenience, you can use the following BibTex entry: ``` @article{song2019dynamic, title={Direction-dependent parity-time phase transition and nonreciprocal amplification with dynamic gain-loss modulation}, author={Song, Alex Y. and Shi, Yu and Lin, Qian and Fan, Shanhui}, journal={Physical Review A}, volume={99}, issue={1}, pages={013824}, numpages={7}, year={2019}, month={Jan}, publisher={American Physical Society}, doi={10.1103/PhysRevA.99.013824}, url={https://link.aps.org/doi/10.1103/PhysRevA.99.013824} } ``` %prep %autosetup -n tdyno-0.1.7 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-tdyno -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.1.7-1 - Package Spec generated