pyfemtet 1.1.3__tar.gz → 1.1.5__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.

Potentially problematic release.


This version of pyfemtet might be problematic. Click here for more details.

Files changed (178) hide show
  1. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/PKG-INFO +6 -6
  2. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/logger/_impl.py +26 -1
  3. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_surrogate_model_interface/botorch_interface.py +8 -2
  4. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_optimizer.py +40 -2
  5. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/problem/variable_manager/_variable_manager.py +1 -0
  6. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/pm_graph.py +4 -3
  7. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyproject.toml +2 -3
  8. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/LICENSE +0 -0
  9. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/LICENSE_THIRD_PARTY.txt +0 -0
  10. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/README.md +0 -0
  11. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/__init__.py +0 -0
  12. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/1. make_pot_and_update_po.bat +0 -0
  13. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/2. build_mo.bat +0 -0
  14. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/__init__.py +0 -0
  15. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/babel.cfg +0 -0
  16. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/i18n.py +0 -0
  17. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
  18. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/locales/ja/LC_MESSAGES/messages.po +0 -0
  19. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/locales/messages.pot +0 -0
  20. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_i18n/messages.py +0 -0
  21. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/__init__.py +0 -0
  22. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/closing.py +0 -0
  23. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/dask_util.py +0 -0
  24. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/df_util.py +0 -0
  25. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/excel_macro_util.py +0 -0
  26. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/excel_parse_util.py +0 -0
  27. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/femtet_access_inspection.py +0 -0
  28. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/femtet_autosave.py +0 -0
  29. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/femtet_exit.py +0 -0
  30. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/femtet_version.py +0 -0
  31. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/helper.py +0 -0
  32. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/process_util.py +0 -0
  33. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/sample.xlsx +0 -0
  34. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/_util/str_enum.py +0 -0
  35. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/core.py +0 -0
  36. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/dispatch_extensions/__init__.py +0 -0
  37. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/dispatch_extensions/_impl.py +0 -0
  38. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/logger/__init__.py +0 -0
  39. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/__init__.py +0 -0
  40. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/exceptions.py +0 -0
  41. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/femopt.py +0 -0
  42. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/history/__init__.py +0 -0
  43. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/history/_history.py +0 -0
  44. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/history/_hypervolume.py +0 -0
  45. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/history/_optimality.py +0 -0
  46. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/__init__.py +0 -0
  47. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_base_interface.py +0 -0
  48. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_dummy_classes.py +0 -0
  49. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_excel_interface/__init__.py +0 -0
  50. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_excel_interface/debug-excel-interface.xlsm +0 -0
  51. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_excel_interface/excel_interface.py +0 -0
  52. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_interface/__init__.py +0 -0
  53. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_interface/_femtet_parametric.py +0 -0
  54. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_interface/femtet_interface.py +0 -0
  55. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_nx_interface/__init__.py +0 -0
  56. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_nx_interface/femtet_with_nx_interface.py +0 -0
  57. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.prt +0 -0
  58. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_nx_interface/model1.x_t +0 -0
  59. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_nx_interface/update_model.py +0 -0
  60. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_solidworks/__init__.py +0 -0
  61. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_femtet_with_solidworks/femtet_with_solidworks_interface.py +0 -0
  62. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_solidworks_interface/__init__.py +0 -0
  63. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_solidworks_interface/solidworks_interface.py +0 -0
  64. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_surrogate_model_interface/__init__.py +0 -0
  65. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_surrogate_model_interface/base_surrogate_interface.py +0 -0
  66. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_surrogate_model_interface/debug-pof-botorch.reccsv +0 -0
  67. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_with_excel_settings/__init__.py +0 -0
  68. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/interface/_with_excel_settings/with_excel_settings.py +0 -0
  69. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/meta_script/YAML_Generator.xlsm +0 -0
  70. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/meta_script/__init__.py +0 -0
  71. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/meta_script/__main__.py +0 -0
  72. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/meta_script/sample/sample.bas +0 -0
  73. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/meta_script/sample/sample.femprj +0 -0
  74. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/__init__.py +0 -0
  75. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/_base_optimizer.py +0 -0
  76. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/_trial_queue.py +0 -0
  77. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/__init__.py +0 -0
  78. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_optuna_attribute.py +0 -0
  79. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/__init__.py +0 -0
  80. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/debug-pof-botorch.reccsv +0 -0
  81. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/enable_nonlinear_constraint.py +0 -0
  82. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/_pof_botorch/pof_botorch_sampler.py +0 -0
  83. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/optuna_optimizer/wat_ex14_parametric_jp.femprj +0 -0
  84. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/scipy_optimizer/__init__.py +0 -0
  85. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/optimizer/scipy_optimizer/_scipy_optimizer.py +0 -0
  86. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/prediction/__init__.py +0 -0
  87. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/prediction/_botorch_utils.py +0 -0
  88. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/prediction/_gpytorch_modules_extension.py +0 -0
  89. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/prediction/_helper.py +0 -0
  90. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/prediction/_model.py +0 -0
  91. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/problem/__init__.py +0 -0
  92. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/problem/problem.py +0 -0
  93. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/problem/variable_manager/__init__.py +0 -0
  94. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/problem/variable_manager/_string_as_expression.py +0 -0
  95. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/__init__.py +0 -0
  96. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/_create_wrapped_components.py +0 -0
  97. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/__init__.py +0 -0
  98. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/__main__.py +0 -0
  99. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_base_application.py +0 -0
  100. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_common_pages.py +0 -0
  101. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/__init__.py +0 -0
  102. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/alert_region.py +0 -0
  103. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/control_femtet.py +0 -0
  104. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/detail_graphs.py +0 -0
  105. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_complex_components/main_graph.py +0 -0
  106. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_detail_page.py +0 -0
  107. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_helper.py +0 -0
  108. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_process_monitor/__init__.py +0 -0
  109. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_application.py +0 -0
  110. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_process_monitor/_pages.py +0 -0
  111. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/__init__.py +0 -0
  112. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dbc.py +0 -0
  113. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/dcc.py +0 -0
  114. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/html.py +0 -0
  115. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/_wrapped_components/str_enum.py +0 -0
  116. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/.gitignore +0 -0
  117. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/__init__.py +0 -0
  118. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/__main__.py +0 -0
  119. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/_application.py +0 -0
  120. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/_pages.py +0 -0
  121. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.csv +0 -0
  122. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08.db +0 -0
  123. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.jpg +0 -0
  124. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.log +0 -0
  125. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8.pdt +0 -0
  126. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.jpg +0 -0
  127. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_1.pdt +0 -0
  128. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.jpg +0 -0
  129. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_10.pdt +0 -0
  130. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.jpg +0 -0
  131. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_11.pdt +0 -0
  132. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.jpg +0 -0
  133. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_12.pdt +0 -0
  134. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.jpg +0 -0
  135. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_13.pdt +0 -0
  136. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.jpg +0 -0
  137. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_14.pdt +0 -0
  138. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.jpg +0 -0
  139. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_15.pdt +0 -0
  140. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.jpg +0 -0
  141. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_16.pdt +0 -0
  142. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.jpg +0 -0
  143. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_17.pdt +0 -0
  144. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.jpg +0 -0
  145. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_18.pdt +0 -0
  146. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.jpg +0 -0
  147. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_19.pdt +0 -0
  148. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.jpg +0 -0
  149. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_2.pdt +0 -0
  150. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.jpg +0 -0
  151. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_20.pdt +0 -0
  152. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.jpg +0 -0
  153. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_3.pdt +0 -0
  154. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bgr +0 -0
  155. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.bnd +0 -0
  156. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.btr +0 -0
  157. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.jpg +0 -0
  158. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.mtl +0 -0
  159. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.pdt +0 -0
  160. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_4.prm +0 -0
  161. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.jpg +0 -0
  162. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_5.pdt +0 -0
  163. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.jpg +0 -0
  164. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_6.pdt +0 -0
  165. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.jpg +0 -0
  166. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_7.pdt +0 -0
  167. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.jpg +0 -0
  168. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_8.pdt +0 -0
  169. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.jpg +0 -0
  170. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.Results/ex8_trial_9.pdt +0 -0
  171. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/history_viewer/result_viewer/tutorial_files/tutorial_gau_ex08_parametric.femprj +0 -0
  172. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/plotter/__init__.py +0 -0
  173. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/plotter/contour_creator.py +0 -0
  174. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/plotter/main_figure_creator.py +0 -0
  175. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/plotter/parallel_plot_creator.py +0 -0
  176. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/visualization/plotter/pm_graph_creator.py +0 -0
  177. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/wat_ex14_parametric_jp.femprj +0 -0
  178. {pyfemtet-1.1.3 → pyfemtet-1.1.5}/pyfemtet/opt/worker_status.py +0 -0
@@ -1,12 +1,13 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: pyfemtet
3
- Version: 1.1.3
3
+ Version: 1.1.5
4
4
  Summary: Design parameter optimization using Femtet.
5
- License: MIT
5
+ License-Expression: MIT
6
+ License-File: LICENSE
7
+ License-File: LICENSE_THIRD_PARTY.txt
6
8
  Author: pyfemtet
7
9
  Author-email: 148934231+pyfemtet@users.noreply.github.com
8
10
  Requires-Python: >= 3.10, < 3.14
9
- Classifier: License :: OSI Approved :: MIT License
10
11
  Classifier: Programming Language :: Python :: 3
11
12
  Classifier: Programming Language :: Python :: 3.10
12
13
  Classifier: Programming Language :: Python :: 3.11
@@ -29,8 +30,7 @@ Requires-Dist: optuna-integration (>=3.6.0,<5.0.0)
29
30
  Requires-Dist: pandas (>=2.2.3,<3)
30
31
  Requires-Dist: plotly (>=5.22.0,<6)
31
32
  Requires-Dist: psutil (>=5.9.6,<6)
32
- Requires-Dist: pywin32 (<307) ; sys_platform == "win32" and python_version < "3.13"
33
- Requires-Dist: pywin32 (>=309) ; sys_platform == "win32" and python_version >= "3.13"
33
+ Requires-Dist: pywin32 (>=310) ; sys_platform == "win32"
34
34
  Requires-Dist: pyyaml (>=6.0.2,<7)
35
35
  Requires-Dist: scipy (>=1.11.4,<2)
36
36
  Requires-Dist: torch
@@ -81,6 +81,7 @@ def __create_formatter(colored=True):
81
81
  # ===== handler config =====
82
82
 
83
83
  STDOUT_HANDLER_NAME = 'stdout-handler'
84
+ STDERR_HANDLER_NAME = 'stderr-handler'
84
85
 
85
86
 
86
87
  def __get_stdout_handler():
@@ -94,6 +95,17 @@ def __has_stdout_handler(logger):
94
95
  return any([handler.get_name() != STDOUT_HANDLER_NAME for handler in logger.handlers])
95
96
 
96
97
 
98
+ def __get_stderr_handler():
99
+ stderr_handler = logging.StreamHandler(sys.stderr)
100
+ stderr_handler.set_name(STDERR_HANDLER_NAME)
101
+ stderr_handler.setFormatter(__create_formatter(colored=True))
102
+ return stderr_handler
103
+
104
+
105
+ def __has_stderr_handler(logger):
106
+ return any([handler.get_name() != STDERR_HANDLER_NAME for handler in logger.handlers])
107
+
108
+
97
109
  def set_stdout_output(logger, level=logging.INFO):
98
110
 
99
111
  if not __has_stdout_handler(logger):
@@ -107,6 +119,19 @@ def remove_stdout_output(logger):
107
119
  logger.removeHandler(__get_stdout_handler())
108
120
 
109
121
 
122
+ def set_stderr_output(logger, level=logging.INFO):
123
+
124
+ if not __has_stderr_handler(logger):
125
+ logger.addHandler(__get_stderr_handler())
126
+
127
+ logger.setLevel(level)
128
+
129
+
130
+ def remove_stderr_output(logger):
131
+ if __has_stderr_handler(logger):
132
+ logger.removeHandler(__get_stderr_handler())
133
+
134
+
110
135
  def add_file_output(logger, filepath=None, level=logging.INFO) -> str:
111
136
  """Add FileHandler to the logger.
112
137
 
@@ -165,7 +190,7 @@ def setup_package_root_logger(package_name):
165
190
  with __lock:
166
191
  logger = logging.getLogger(package_name)
167
192
  logger.propagate = True
168
- set_stdout_output(logger)
193
+ set_stderr_output(logger)
169
194
  logger.setLevel(logging.INFO)
170
195
  __initialized_root_packages.append(package_name)
171
196
  else:
@@ -26,6 +26,8 @@ __all__ = [
26
26
 
27
27
  class BoTorchInterface(AbstractSurrogateModelInterfaceBase):
28
28
 
29
+ current_obj_std_values: dict[str, float]
30
+
29
31
  def __init__(
30
32
  self,
31
33
  history_path: str = None,
@@ -45,6 +47,7 @@ class BoTorchInterface(AbstractSurrogateModelInterfaceBase):
45
47
 
46
48
  self.model = SingleTaskGPModel()
47
49
  self.pyfemtet_model = PyFemtetModel()
50
+ self.current_obj_std_values = {}
48
51
 
49
52
  # get main only
50
53
  df = self.train_history.get_df(MAIN_FILTER)
@@ -64,11 +67,13 @@ class BoTorchInterface(AbstractSurrogateModelInterfaceBase):
64
67
  # update current objective values
65
68
  x = np.array([[variable.value for variable in self.current_prm_values.values()]])
66
69
 
67
- y, _ = self.pyfemtet_model.predict(x)
70
+ y, s = self.pyfemtet_model.predict(x)
68
71
  y = y[0]
72
+ s = s[0]
69
73
 
70
- for obj_name, obj_value in zip(self.train_history.obj_names, y):
74
+ for obj_name, obj_value, obj_std in zip(self.train_history.obj_names, y, s):
71
75
  self.current_obj_values.update({obj_name: obj_value})
76
+ self.current_obj_std_values.update({obj_name: obj_std})
72
77
 
73
78
 
74
79
  class PoFBoTorchInterface(BoTorchInterface, AbstractSurrogateModelInterfaceBase):
@@ -103,6 +108,7 @@ class PoFBoTorchInterface(BoTorchInterface, AbstractSurrogateModelInterfaceBase)
103
108
  self.train_history_c.load_csv(history_path, with_finalize=True)
104
109
  self.pof_threshold = 0.5
105
110
  self.feasibility_cdf_threshold = feasibility_cdf_threshold
111
+ self.current_obj_std_values = {}
106
112
 
107
113
  # use feasibility as a single objective
108
114
  self.train_history_c.obj_names = ['feasibility']
@@ -43,6 +43,20 @@ warnings.filterwarnings('ignore', 'Argument ``constraints_func`` is an experimen
43
43
  _MESSAGE_ENQUEUED = 'Enqueued trial.'
44
44
 
45
45
 
46
+ def check_float_and_raise(value, check_target):
47
+ if isinstance(value, int | float):
48
+ if np.isnan(value):
49
+ raise ValueError(_(
50
+ en_message=f'{check_target} is NaN.',
51
+ jp_message=f'{check_target} は NaN です。',
52
+ ))
53
+ else:
54
+ raise ValueError(_(
55
+ en_message=f'{check_target} should be a number, but {value} ({type(value)}) passed.',
56
+ jp_message=f'{check_target} は数値でなくてはなりませんが、{value} ({type(value)}) が与えられました。',
57
+ ))
58
+
59
+
46
60
  class MaxTrialsCallbackExcludingEnqueued(MaxTrialsCallback):
47
61
  def __call__(self, study: Study, trial: FrozenTrial) -> None:
48
62
  """
@@ -167,14 +181,31 @@ class OptunaOptimizer(AbstractOptimizer):
167
181
  self,
168
182
  name: str,
169
183
  initial_value: float,
170
- lower_bound: float,
171
- upper_bound: float,
184
+ lower_bound: float | None = None,
185
+ upper_bound: float | None = None,
172
186
  step: float | None = None,
173
187
  properties: dict[str, ...] | None = None,
174
188
  *,
175
189
  pass_to_fem: bool = True,
176
190
  fix: bool = False,
177
191
  ) -> None:
192
+
193
+ if lower_bound is None or upper_bound is None:
194
+ properties = properties or {}
195
+ if properties.get('dynamic_bounds_fun') is None:
196
+ raise ValueError(_(
197
+ en_message='When using `OptunaOptimizer`, you must either specify `lower_bound` and `upper_bound`, ' \
198
+ 'or include `dynamic_bounds_fun` (Callable[[AbstractOptimizer], float]) in `properties`.',
199
+ jp_message='OptunaOptimizer では、lower_bound と upper_bound を両方指定するか、' \
200
+ 'または properties に dynamic_bounds_fun (Callable[[AbstractOptimizer], float]) ' \
201
+ 'を含めなければなりません。'
202
+ ))
203
+ else:
204
+ logger.warning(_(
205
+ en_message='`dynamic_bounds_fun` is under development. The functionally can be changed without any announcement.',
206
+ jp_message='dynamic_bounds_fun は開発中の機能です。機能は予告なく変更されることがあります。',
207
+ ))
208
+
178
209
  AbstractOptimizer.add_parameter(self, name, initial_value, lower_bound, upper_bound, step, properties,
179
210
  pass_to_fem=pass_to_fem, fix=fix)
180
211
 
@@ -271,6 +302,13 @@ class OptunaOptimizer(AbstractOptimizer):
271
302
  continue
272
303
 
273
304
  if isinstance(prm, NumericParameter):
305
+ dynamic_bounds_fun = prm.properties.get('dynamic_bounds_fun')
306
+ if dynamic_bounds_fun:
307
+ lb, ub = dynamic_bounds_fun(self)
308
+ check_float_and_raise(lb, _(f'lower_bound of {prm.name}', f'{prm.name} の lower_bound'))
309
+ check_float_and_raise(ub, _(f'upper_bound of {prm.name}', f'{prm.name} の upper_bound'))
310
+ prm.lower_bound = lb
311
+ prm.upper_bound = ub
274
312
  prm.value = trial.suggest_float(
275
313
  name,
276
314
  prm.lower_bound,
@@ -311,6 +311,7 @@ class VariableManager:
311
311
  | dict[str, SupportedVariableTypes]
312
312
  | np.ndarray
313
313
  ):
314
+ # 参照を返す仕様を dynamic bounds で利用
314
315
 
315
316
  raw = {}
316
317
 
@@ -428,9 +428,10 @@ class PredictionModelGraph(AbstractPage):
428
428
  self.CommandState.ready.value,
429
429
  self.alert_region.create_alerts(
430
430
  _(
431
- en_message='Cannot draw the graph because the selected parameter '
432
- 'is a fixed and its bounds are not given.',
433
- jp_message='選択された変数は固定値で上下限も与えられていないため、'
431
+ en_message='Cannot draw the graph because '
432
+ 'the bounds of selected parameter '
433
+ 'are not given.',
434
+ jp_message='選択された変数は上下限が与えられていないため、'
434
435
  'グラフを描画できません。',
435
436
  ),
436
437
  color='danger',
@@ -11,8 +11,7 @@ dependencies = [
11
11
  "tqdm>=4.66.1,<5",
12
12
  "colorlog>=6.8.0,<7",
13
13
  "psutil>=5.9.6,<6",
14
- "pywin32<307 ; sys_platform == 'win32' and python_version < '3.13'",
15
- "pywin32>=309 ; sys_platform == 'win32' and python_version >= '3.13'",
14
+ "pywin32>=310; sys_platform == 'win32'",
16
15
  "femtetutils>=1.0.0,<2 ; sys_platform=='win32'",
17
16
  "dask~=2024.12.1",
18
17
  "distributed~=2024.12.1",
@@ -34,7 +33,7 @@ dependencies = [
34
33
 
35
34
  #[project.optional-dependencies]
36
35
  #brep = ["brepmatching>=0.1.8,<0.2"]
37
- version = "1.1.3"
36
+ version = "1.1.5"
38
37
 
39
38
  [project.urls]
40
39
  Repository = "https://github.com/pyfemtet/pyfemtet"
File without changes
File without changes
File without changes
File without changes