PyFemtet 1.4.0__tar.gz → 1.5.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 (181) hide show
  1. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/PKG-INFO +1 -1
  2. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/exceptions.py +14 -4
  3. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/femopt.py +7 -0
  4. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/_base_optimizer.py +11 -1
  5. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_optimizer.py +1 -0
  6. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyproject.toml +3 -1
  7. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/LICENSE +0 -0
  8. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/LICENSE_THIRD_PARTY.txt +0 -0
  9. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/README.md +0 -0
  10. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/__init__.py +0 -0
  11. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/1. make_pot_and_update_po.bat +0 -0
  12. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/2. build_mo.bat +0 -0
  13. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/__init__.py +0 -0
  14. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/babel.cfg +0 -0
  15. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/i18n.py +0 -0
  16. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
  17. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.po +0 -0
  18. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/locales/messages.pot +0 -0
  19. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_i18n/messages.py +0 -0
  20. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/__init__.py +0 -0
  21. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/closing.py +0 -0
  22. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/dask_util.py +0 -0
  23. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/df_util.py +0 -0
  24. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/excel_macro_util.py +0 -0
  25. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/excel_parse_util.py +0 -0
  26. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/femtet_access_inspection.py +0 -0
  27. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/femtet_autosave.py +0 -0
  28. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/femtet_exit.py +0 -0
  29. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/femtet_version.py +0 -0
  30. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/helper.py +0 -0
  31. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/process_util.py +0 -0
  32. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/sample.xlsx +0 -0
  33. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/solidworks_variable.py +0 -0
  34. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/str_enum.py +0 -0
  35. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/_util/symbol_support_for_param_name.py +0 -0
  36. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/core.py +0 -0
  37. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/dispatch_extensions/__init__.py +0 -0
  38. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/dispatch_extensions/_impl.py +0 -0
  39. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/logger/__init__.py +0 -0
  40. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/logger/_impl.py +0 -0
  41. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/__init__.py +0 -0
  42. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/history/__init__.py +0 -0
  43. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/history/_history.py +0 -0
  44. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/history/_hypervolume.py +0 -0
  45. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/history/_optimality.py +0 -0
  46. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/__init__.py +0 -0
  47. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_base_interface.py +0 -0
  48. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_dummy_classes.py +0 -0
  49. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_excel_interface/__init__.py +0 -0
  50. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_excel_interface/debug-excel-interface.xlsm +0 -0
  51. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_excel_interface/excel_interface.py +0 -0
  52. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_interface/__init__.py +0 -0
  53. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_interface/_femtet_parametric.py +0 -0
  54. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_interface/femtet_interface.py +0 -0
  55. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_nx_interface/__init__.py +0 -0
  56. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_nx_interface/femtet_with_nx_interface.py +0 -0
  57. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.prt +0 -0
  58. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.x_t +0 -0
  59. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_nx_interface/update_model.py +0 -0
  60. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_solidworks/__init__.py +0 -0
  61. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_femtet_with_solidworks/femtet_with_solidworks_interface.py +0 -0
  62. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_solidworks_interface/__init__.py +0 -0
  63. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_solidworks_interface/solidworks_interface.py +0 -0
  64. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_solidworks_interface/sw_const.py +0 -0
  65. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_surrogate_model_interface/__init__.py +0 -0
  66. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_surrogate_model_interface/base_surrogate_interface.py +0 -0
  67. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_surrogate_model_interface/botorch_interface.py +0 -0
  68. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_surrogate_model_interface/debug-pof-botorch.reccsv +0 -0
  69. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_with_excel_settings/__init__.py +0 -0
  70. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/interface/_with_excel_settings/with_excel_settings.py +0 -0
  71. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/meta_script/YAML_Generator.xlsm +0 -0
  72. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/meta_script/__init__.py +0 -0
  73. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/meta_script/__main__.py +0 -0
  74. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/meta_script/sample/sample.bas +0 -0
  75. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/meta_script/sample/sample.femprj +0 -0
  76. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/__init__.py +0 -0
  77. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/_trial_queue.py +0 -0
  78. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/__init__.py +0 -0
  79. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_attribute.py +0 -0
  80. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/__init__.py +0 -0
  81. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/debug-pof-botorch.reccsv +0 -0
  82. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/enable_nonlinear_constraint.py +0 -0
  83. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/pof_botorch_sampler.py +0 -0
  84. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/optuna_optimizer/wat_ex14_parametric_jp.femprj +0 -0
  85. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/scipy_optimizer/__init__.py +0 -0
  86. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/optimizer/scipy_optimizer/_scipy_optimizer.py +0 -0
  87. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/prediction/__init__.py +0 -0
  88. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/prediction/_botorch_utils.py +0 -0
  89. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/prediction/_gpytorch_modules_extension.py +0 -0
  90. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/prediction/_helper.py +0 -0
  91. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/prediction/_model.py +0 -0
  92. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/problem/__init__.py +0 -0
  93. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/problem/problem.py +0 -0
  94. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/problem/variable_manager/__init__.py +0 -0
  95. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/problem/variable_manager/_string_as_expression.py +0 -0
  96. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/problem/variable_manager/_variable_manager.py +0 -0
  97. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/__init__.py +0 -0
  98. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/_create_wrapped_components.py +0 -0
  99. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/__init__.py +0 -0
  100. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/__main__.py +0 -0
  101. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_base_application.py +0 -0
  102. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_common_pages.py +0 -0
  103. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/__init__.py +0 -0
  104. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/alert_region.py +0 -0
  105. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/control_femtet.py +0 -0
  106. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/detail_graphs.py +0 -0
  107. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/main_graph.py +0 -0
  108. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_complex_components/pm_graph.py +0 -0
  109. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_detail_page.py +0 -0
  110. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_helper.py +0 -0
  111. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_process_monitor/__init__.py +0 -0
  112. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_application.py +0 -0
  113. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_pages.py +0 -0
  114. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/__init__.py +0 -0
  115. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dbc.py +0 -0
  116. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dcc.py +0 -0
  117. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/html.py +0 -0
  118. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/str_enum.py +0 -0
  119. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/.gitignore +0 -0
  120. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/__init__.py +0 -0
  121. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/__main__.py +0 -0
  122. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/_application.py +0 -0
  123. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/_pages.py +0 -0
  124. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.csv +0 -0
  125. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.db +0 -0
  126. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.jpg +0 -0
  127. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.log +0 -0
  128. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.pdt +0 -0
  129. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.jpg +0 -0
  130. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.pdt +0 -0
  131. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.jpg +0 -0
  132. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.pdt +0 -0
  133. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.jpg +0 -0
  134. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.pdt +0 -0
  135. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.jpg +0 -0
  136. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.pdt +0 -0
  137. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.jpg +0 -0
  138. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.pdt +0 -0
  139. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.jpg +0 -0
  140. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.pdt +0 -0
  141. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.jpg +0 -0
  142. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.pdt +0 -0
  143. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.jpg +0 -0
  144. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.pdt +0 -0
  145. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.jpg +0 -0
  146. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.pdt +0 -0
  147. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.jpg +0 -0
  148. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.pdt +0 -0
  149. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.jpg +0 -0
  150. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.pdt +0 -0
  151. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.jpg +0 -0
  152. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.pdt +0 -0
  153. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.jpg +0 -0
  154. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.pdt +0 -0
  155. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.jpg +0 -0
  156. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.pdt +0 -0
  157. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bgr +0 -0
  158. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bnd +0 -0
  159. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.btr +0 -0
  160. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.jpg +0 -0
  161. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.mtl +0 -0
  162. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.pdt +0 -0
  163. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.prm +0 -0
  164. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.jpg +0 -0
  165. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.pdt +0 -0
  166. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.jpg +0 -0
  167. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.pdt +0 -0
  168. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.jpg +0 -0
  169. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.pdt +0 -0
  170. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.jpg +0 -0
  171. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.pdt +0 -0
  172. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.jpg +0 -0
  173. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.pdt +0 -0
  174. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.femprj +0 -0
  175. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/plotter/__init__.py +0 -0
  176. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/plotter/contour_creator.py +0 -0
  177. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/plotter/main_figure_creator.py +0 -0
  178. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/plotter/parallel_plot_creator.py +0 -0
  179. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/visualization/plotter/pm_graph_creator.py +0 -0
  180. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/wat_ex14_parametric_jp.femprj +0 -0
  181. {pyfemtet-1.4.0 → pyfemtet-1.5.0}/pyfemtet/opt/worker_status.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyfemtet
3
- Version: 1.4.0
3
+ Version: 1.5.0
4
4
  Summary: Design parameter optimization using Femtet.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -39,7 +39,17 @@ class InterruptOptimization(ExceptionDuringOptimization): ...
39
39
  class SkipSolve(ExceptionDuringOptimization): ...
40
40
 
41
41
 
42
- def show_experimental_warning(feature_name):
43
- warnings.warn(f'{feature_name} は実験的機能です。将来 API 等が'
44
- f'大きく変更されるか、機能自体が削除される'
45
- f'可能性があります。')
42
+ _shown = set()
43
+
44
+
45
+ def show_experimental_warning(feature_name, logger=None):
46
+ global _shown
47
+ if feature_name not in _shown:
48
+ _shown.add(feature_name)
49
+ msg = (f'{feature_name} は実験的機能です。将来 API 等が'
50
+ '大きく変更されるか、機能自体が削除される'
51
+ '可能性があります。')
52
+ if logger is not None:
53
+ logger.warning(msg)
54
+ else:
55
+ warnings.warn(msg)
@@ -20,6 +20,7 @@ from pyfemtet.opt.problem.variable_manager import *
20
20
  from pyfemtet.opt.interface import *
21
21
  from pyfemtet.opt.optimizer import *
22
22
  from pyfemtet.opt.optimizer._base_optimizer import DIRECTION
23
+ from pyfemtet.opt.history import History
23
24
  from pyfemtet.logger import get_module_logger
24
25
  from pyfemtet.opt.visualization.history_viewer._process_monitor._application import (
25
26
  process_monitor_main,
@@ -182,6 +183,12 @@ class FEMOpt:
182
183
  ):
183
184
  self.opt.add_sub_fidelity_model(name, sub_fidelity_model, fidelity)
184
185
 
186
+ def set_termination_condition(
187
+ self,
188
+ func: Callable[[History], bool] | None,
189
+ ):
190
+ self.opt.set_termination_condition(func)
191
+
185
192
  def set_monitor_host(self, host: str = None, port: int = None):
186
193
  """Sets the host IP address and the port of the process monitor.
187
194
 
@@ -17,6 +17,7 @@ from pyfemtet.opt.problem.problem import *
17
17
  from pyfemtet.opt.problem.variable_manager import *
18
18
  from pyfemtet.opt.optimizer._trial_queue import *
19
19
  from pyfemtet.logger import get_module_logger
20
+ from pyfemtet.opt.exceptions import show_experimental_warning
20
21
 
21
22
  __all__ = [
22
23
  'AbstractOptimizer',
@@ -114,6 +115,7 @@ class AbstractOptimizer:
114
115
  self.fem: AbstractFEMInterface | None = None
115
116
  self.history: History = History()
116
117
  self.solve_condition: Callable[[History], bool] = lambda _: True
118
+ self.termination_condition: Callable[[History], bool] = lambda _: False
117
119
  self.entire_status: WorkerStatus = WorkerStatus(ENTIRE_PROCESS_STATUS_KEY)
118
120
  self.worker_status: WorkerStatus = WorkerStatus('worker-status')
119
121
  self.worker_status_list: list[WorkerStatus] = [self.worker_status]
@@ -397,6 +399,13 @@ class AbstractOptimizer:
397
399
  def set_solve_condition(self, fun: Callable[[History], bool]):
398
400
  self.solve_condition = fun
399
401
 
402
+ def set_termination_condition(self, fun: Callable[[History], bool] | None):
403
+ if fun is None:
404
+ self.termination_condition = lambda _: False
405
+ else:
406
+ self.termination_condition = fun
407
+ show_experimental_warning('set_termination_condition', logger)
408
+
400
409
  # ===== private =====
401
410
 
402
411
  def _setup_enqueued_trials(self):
@@ -505,7 +514,8 @@ class AbstractOptimizer:
505
514
  pass
506
515
 
507
516
  def _postprocess(self):
508
- pass
517
+ if self.opt.termination_condition(self.opt.history):
518
+ self.opt.entire_status.value = WorkerStatus.interrupting
509
519
 
510
520
  def _solve_or_raise(
511
521
  self,
@@ -267,6 +267,7 @@ class OptunaOptimizer(AbstractOptimizer):
267
267
  def _postprocess(self):
268
268
  # update trial attribute
269
269
  self.optuna_attr.set_user_attr_to_trial(self.opt.current_trial)
270
+ super()._postprocess()
270
271
 
271
272
  def _create_infeasible_constraints(self, opt_: AbstractOptimizer = None) -> tuple:
272
273
  opt_ = opt_ if opt_ is not None else self
@@ -33,7 +33,7 @@ dependencies = [
33
33
 
34
34
  #[project.optional-dependencies]
35
35
  #brep = ["brepmatching>=0.1.8,<0.2"]
36
- version = "1.4.0"
36
+ version = "1.5.0"
37
37
 
38
38
  [project.urls]
39
39
  Repository = "https://github.com/pyfemtet/pyfemtet"
@@ -57,6 +57,8 @@ dev = [
57
57
  "pytest-cov>=6.1.1",
58
58
  "pytest-reporter-html-dots>=0.11.0",
59
59
  "esbonio>=0.12.0",
60
+ "pandas-stubs>=2.3.2.250926",
61
+ "scipy-stubs>=1.15.3.0",
60
62
  ]
61
63
 
62
64
  [tool.uv-dynamic-versioning]
File without changes
File without changes
File without changes
File without changes