PyFiberModes 0.15.0__tar.gz → 0.16.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.zenodo.json +1 -1
  2. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/CHANGELOG.md +10 -1
  3. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PKG-INFO +1 -1
  4. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/_version.py +2 -2
  5. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes.egg-info/PKG-INFO +1 -1
  6. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/conda.recipe/meta.yaml +1 -1
  7. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_dispersion.py +7 -2
  8. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_fiber_LP_modes.py +10 -5
  9. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_group_index.py +10 -5
  10. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/pyproject.toml +1 -1
  11. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.coveragerc +0 -0
  12. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/dependabot.yml +0 -0
  13. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/deploy_PyPi.yml +0 -0
  14. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/deploy_anaconda.yml +0 -0
  15. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/deploy_coverage.yml +0 -0
  16. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/deploy_documentation.yml +0 -0
  17. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/quality.yml +0 -0
  18. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.github/workflows/tests.yml +0 -0
  19. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/.gitignore +0 -0
  20. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/CITATION.cff +0 -0
  21. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/CONTRIBUTING.md +0 -0
  22. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/LICENSE +0 -0
  23. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/MANIFEST.in +0 -0
  24. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/Makefile +0 -0
  25. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/__init__.py +0 -0
  26. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/analysis.py +0 -0
  27. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/coordinates.py +0 -0
  28. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/directories.py +0 -0
  29. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/exceptions.py +0 -0
  30. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/factory.py +0 -0
  31. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber.py +0 -0
  32. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
  33. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
  34. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
  35. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
  36. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
  37. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
  38. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
  39. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
  40. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
  41. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
  42. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
  43. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
  44. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/HP630.yaml +0 -0
  45. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
  46. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
  47. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
  48. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
  49. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
  50. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
  51. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/field.py +0 -0
  52. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/fundamentals.py +0 -0
  53. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/loader.py +0 -0
  54. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/materials.py +0 -0
  55. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/mode.py +0 -0
  56. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/mode_instances.py +0 -0
  57. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/models.py +0 -0
  58. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/optimization.py +0 -0
  59. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/plotting.py +0 -0
  60. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/propagation.py +0 -0
  61. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/services.py +0 -0
  62. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/__init__.py +0 -0
  63. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/base_solver.py +0 -0
  64. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/multilayer/__init__.py +0 -0
  65. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
  66. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/protocols.py +0 -0
  67. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/results.py +0 -0
  68. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/three_layer/__init__.py +0 -0
  69. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
  70. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/two_layer/__init__.py +0 -0
  71. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
  72. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
  73. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/source.py +0 -0
  74. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes/stepindex.py +0 -0
  75. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes.egg-info/SOURCES.txt +0 -0
  76. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes.egg-info/dependency_links.txt +0 -0
  77. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes.egg-info/requires.txt +0 -0
  78. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/PyFiberModes.egg-info/top_level.txt +0 -0
  79. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/README.rst +0 -0
  80. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/benchmarks/README.md +0 -0
  81. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/benchmarks/test_field_performance.py +0 -0
  82. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/Makefile +0 -0
  83. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/README.rst +0 -0
  84. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/SMF28/README.rst +0 -0
  85. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/SMF28/plot_smf28.py +0 -0
  86. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -0
  87. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -0
  88. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/analysis/README.rst +0 -0
  89. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -0
  90. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/analysis/plot_guided_mode_discovery.py +0 -0
  91. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -0
  92. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/README.rst +0 -0
  93. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_U_vs_V.py +0 -0
  94. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_comparison_solvers.py +0 -0
  95. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_effective_index.py +0 -0
  96. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_mode_field.py +0 -0
  97. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_mode_field_1.py +0 -0
  98. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_mode_field_2.py +0 -0
  99. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/basic/plot_neff_tapered_fiber.py +0 -0
  100. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/benchmarks/README.rst +0 -0
  101. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -0
  102. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -0
  103. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -0
  104. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/fields/README.rst +0 -0
  105. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/fields/plot_confinement_by_radius.py +0 -0
  106. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/fields/plot_polarization_rotation.py +0 -0
  107. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/fields/plot_vector_components.py +0 -0
  108. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/specialty_fibers/README.rst +0 -0
  109. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -0
  110. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -0
  111. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -0
  112. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/validation/README.rst +0 -0
  113. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/validation/plot_effective_index_bounds.py +0 -0
  114. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/validation/plot_field_area_convergence.py +0 -0
  115. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/examples/validation/plot_normalized_effective_index.py +0 -0
  116. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/make.bat +0 -0
  117. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/_static/default.css +0 -0
  118. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/_static/favicon.png +0 -0
  119. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/_static/logo.png +0 -0
  120. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/_static/thumbnail.png +0 -0
  121. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/api_policy.rst +0 -0
  122. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/architecture.rst +0 -0
  123. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/code/analysis.rst +0 -0
  124. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/code/fibers.rst +0 -0
  125. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/code/fields.rst +0 -0
  126. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/code/fundamentals.rst +0 -0
  127. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/code.rst +0 -0
  128. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/conf.py +0 -0
  129. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/examples.rst +0 -0
  130. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/getting_started.rst +0 -0
  131. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/index.rst +0 -0
  132. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/migration_guide.rst +0 -0
  133. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/performance.rst +0 -0
  134. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/public_api_contract.rst +0 -0
  135. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/references.rst +0 -0
  136. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/theory.rst +0 -0
  137. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/troubleshooting.rst +0 -0
  138. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/fibers.rst +0 -0
  139. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/fields.rst +0 -0
  140. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/index.rst +0 -0
  141. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/modes.rst +0 -0
  142. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/reproducibility.rst +0 -0
  143. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/sweeps.rst +0 -0
  144. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/user_guide/units.rst +0 -0
  145. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/docs/source/workflows.rst +0 -0
  146. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/pytest.ini +0 -0
  147. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/setup.cfg +0 -0
  148. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/__init__.py +0 -0
  149. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/api_snapshot.json +0 -0
  150. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/helpers.py +0 -0
  151. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_advanced_features.py +0 -0
  152. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_api.py +0 -0
  153. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_architecture.py +0 -0
  154. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_architecture_enhancements.py +0 -0
  155. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_coordinates.py +0 -0
  156. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_docstrings.py +0 -0
  157. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_fiber.py +0 -0
  158. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_field.py +0 -0
  159. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_file_loading.py +0 -0
  160. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_physics_regression.py +0 -0
  161. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_public_api.py +0 -0
  162. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_release_tools.py +0 -0
  163. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_three_layer_solver.py +0 -0
  164. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_two_layer_solver.py +0 -0
  165. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tests/test_validation.py +0 -0
  166. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tools/check_release.py +0 -0
  167. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tools/next_release_version.py +0 -0
  168. {pyfibermodes-0.15.0 → pyfibermodes-0.16.0}/tools/release_tag.py +0 -0
@@ -9,7 +9,7 @@
9
9
  "license": "MIT",
10
10
  "upload_type": "software",
11
11
  "access_right": "open",
12
- "version": "0.15.0",
12
+ "version": "0.16.0",
13
13
  "publication_date": "2026-09-23",
14
14
  "keywords": [
15
15
  "optical fibers",
@@ -6,6 +6,14 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.16.0] - 2026-09-23
10
+
11
+ ### Fixed
12
+
13
+ - Handle expected higher-order mode cutoff in derivative gallery examples by
14
+ plotting unavailable values as gaps instead of failing the documentation
15
+ build.
16
+
9
17
  ## [0.15.0] - 2026-09-23
10
18
 
11
19
  ### Added
@@ -141,7 +149,8 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
141
149
 
142
150
  - Established the current tagged baseline for subsequent documented releases.
143
151
 
144
- [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.15.0...HEAD
152
+ [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.16.0...HEAD
153
+ [0.16.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.16.0
145
154
  [0.15.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.15.0
146
155
  [0.14.3]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.14.3
147
156
  [0.14.2]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.14.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.15.0
3
+ Version: 0.16.0
4
4
  Summary: Guided-mode analysis and design for circular optical fibers.
5
5
  Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.15.0'
22
- __version_tuple__ = version_tuple = (0, 15, 0)
21
+ __version__ = version = '0.16.0'
22
+ __version_tuple__ = version_tuple = (0, 16, 0)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.15.0
3
+ Version: 0.16.0
4
4
  Summary: Guided-mode analysis and design for circular optical fibers.
5
5
  Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -1,6 +1,6 @@
1
1
  package:
2
2
  name: pyfibermodes
3
- version: 0.15.0
3
+ version: 0.16.0
4
4
 
5
5
  source:
6
6
  path: ../
@@ -7,7 +7,7 @@ Dispersion VS core index
7
7
  # %%
8
8
  # Imports
9
9
  # ~~~~~~~
10
- from PyFiberModes import FiberFactory, HE11, HE12, HE22
10
+ from PyFiberModes import ConvergenceError, FiberFactory, HE11, HE12, HE22
11
11
  import matplotlib.pyplot as plt
12
12
  import numpy
13
13
 
@@ -34,7 +34,12 @@ ax.set(
34
34
  for mode in [HE11, HE12, HE22]:
35
35
  data = []
36
36
  for fiber in factory:
37
- effective_index = fiber.get_dispersion(mode)
37
+ try:
38
+ effective_index = fiber.get_dispersion(mode)
39
+ except ConvergenceError:
40
+ # Higher-order modes can be unguided below cutoff. Use NaN so the
41
+ # plot shows a gap without obscuring other guided solutions.
42
+ effective_index = numpy.nan
38
43
  data.append(effective_index)
39
44
 
40
45
  ax.plot(core_indexes, data, label=str(mode))
@@ -1,13 +1,13 @@
1
1
  """
2
- Groupe index VS core index
3
- ==========================
2
+ Group index vs core index
3
+ =========================
4
4
  """
5
5
 
6
6
 
7
7
  # %%
8
8
  # Imports
9
9
  # ~~~~~~~
10
- from PyFiberModes import FiberFactory, HE11, HE12, HE22
10
+ from PyFiberModes import ConvergenceError, FiberFactory, HE11, HE12, HE22
11
11
  import matplotlib.pyplot as plt
12
12
  import numpy
13
13
 
@@ -26,7 +26,7 @@ factory.add_layer(name="cladding", index=1.4444)
26
26
  figure, ax = plt.subplots(1, 1)
27
27
 
28
28
  ax.set(
29
- title='Groupe index vs core index',
29
+ title='Group index vs core index',
30
30
  xlabel='Core refractive index',
31
31
  ylabel='Group index'
32
32
  )
@@ -34,7 +34,12 @@ ax.set(
34
34
  for mode in [HE11, HE12, HE22]:
35
35
  neff = []
36
36
  for fiber in factory:
37
- effective_index = fiber.get_group_index(mode)
37
+ try:
38
+ effective_index = fiber.get_group_index(mode)
39
+ except ConvergenceError:
40
+ # Higher-order modes can be unguided below cutoff. Use NaN so the
41
+ # plot shows a gap without obscuring other guided solutions.
42
+ effective_index = numpy.nan
38
43
  neff.append(effective_index)
39
44
 
40
45
  ax.plot(core_indexes, neff, label=str(mode))
@@ -1,13 +1,13 @@
1
1
  """
2
- Dispersion VS core index
3
- ========================
2
+ Group index vs core index
3
+ =========================
4
4
  """
5
5
 
6
6
 
7
7
  # %%
8
8
  # Imports
9
9
  # ~~~~~~~
10
- from PyFiberModes import FiberFactory, HE11, HE12, HE22
10
+ from PyFiberModes import ConvergenceError, FiberFactory, HE11, HE12, HE22
11
11
  import matplotlib.pyplot as plt
12
12
  import numpy
13
13
 
@@ -26,7 +26,7 @@ factory.add_layer(name="cladding", index=1.4444)
26
26
  figure, ax = plt.subplots(1, 1)
27
27
 
28
28
  ax.set(
29
- title='Groupe index vs core index',
29
+ title='Group index vs core index',
30
30
  xlabel='Core refractive index',
31
31
  ylabel='Group index'
32
32
  )
@@ -34,7 +34,12 @@ ax.set(
34
34
  for mode in [HE11, HE12, HE22]:
35
35
  data = []
36
36
  for fiber in factory:
37
- group_index = fiber.get_group_index(mode=mode)
37
+ try:
38
+ group_index = fiber.get_group_index(mode=mode)
39
+ except ConvergenceError:
40
+ # Higher-order modes can be unguided below cutoff. Use NaN so the
41
+ # plot shows a gap without obscuring other guided solutions.
42
+ group_index = numpy.nan
38
43
  data.append(group_index)
39
44
 
40
45
  ax.plot(core_indexes, data, label=str(mode))
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyFiberModes"
7
- version = "0.15.0"
7
+ version = "0.16.0"
8
8
  description = "Guided-mode analysis and design for circular optical fibers."
9
9
  license = {file = "LICENSE"}
10
10
  readme = "README.rst"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes